Shopify Flowのトリガーについて

Shopify Flowを利用できるようになると、ショップにある程度の自動化を組み込むことが出来ます。
例えば、通常では出来ないメールの自動配信や、タグの自動付与など。

商品の新規作成は、「product create」のトリガーがあります。ユーザーの新規作成は、「Customer created」のトリガーです。

では、商品情報の更新時は?
ユーザー情報の更新時は?

そんなトリガーはありません。

でも、どうしても、商品情報の更新時にFlowを動かしたい。

できます!
ただし、Shopifyだけでは無理です。

Shopify Flow + Google Cloud Functions

これで無敵です。

Shopify Flowに備わっていないトリガーは、Cloud Functionsで処理してFlowに書き戻すことで実現させます。これならば複雑な処理も条件判定もCloud Functionsで行うので、Flow側はスッキリさせることが出来ます。

僕のクライアントでは、送料設定を重量で行っているのですが、価格テーブルが複雑で一律ではないのです。しかも、この送料に対してクーポンが絡んでくると、当初想定していた送料にならないことがあります。これを解決すべく、本当の重量はメタフィールドに退避させて、価格と商品の重量をイコールにしています。こうすると、クーポンを利用しても重量は変わらないので、クーポン使用後でも送料は変わりません。

設計はこれでOKなのですが、運用になると、商品を作成したときに商品の重量に価格と同じ数値を入れ忘れる、または、本来の重量値を入れてしまうことがありました。そこで、価格 = 商品重量 となるFlow(商品情報更新トリガー)を作成することになりました。価格さえ入力があれば、商品重量は更新時に自動的に価格で上書きします。

現在はこの商品情報更新トリガーを使って、いろんなサービスを提供しています。