Shopify Flow 入れてみた

不正注文をいちいち手動でキャンセルするのが面倒とのことで、Shopify Flow を入れてみた

不正注文オペレーション

Shopify にそういう機能がデフォルトであると思いきやいつものごとくなくて、↓記事によるとワークフローを使うなら Flow がいいよとのことだった https://help.shopify.com/en/manual/payments/fraud-prevention/preventing-fraud

Install fraud prevention apps

You can also install various apps to help reduce the chance of fulfilling fraudulent orders. Browse other fraud prevention apps in the Shopify App Store.

To block users who try to make repeat fraudulent orders, you can use Shopify's Fraud Filter app.

Create workflows

You can create workflows using Flow to notify you when suspicious orders are created. Refer to Shopify Flow to learn more.

Fraud Filter app は注文単位のものではないっぽいので、いったん見送った

Flow

実は1年以上 EC を運用してきたにも関わらず Flow は入れてなくて、その理由ナンバーワンが「なぜか課金されると思っていた」。あとはオートメーションは Mechanic を使っていたけど、Mechanic もはやいらないかも...?

課金については、

Flow is available on the following plans: Basic, Shopify, Advanced, and Plus. For more information about the features that are available on each plan, refer to Shopify plans and pricing.

https://help.shopify.com/en/manual/shopify-flow

とのことで、プランごとに機能の違いはあれど使うこと自体はタダらしい。

実装

Flow は Shopify アプリとして存在しているので、アプリストアからインストールする

レファレンスはここ

https://help.shopify.com/en/manual/shopify-flow/reference

で、入れたら Zapier 的なワークフロー画面があるので順次 Trigger/Condition/Action を設定する。ワークフローツールを何かしら触ったことがあればシュッと使えると思う。

今回は「不正注文があったら」というトリガーにしたかったので、Create Order をトリガーにした (というのは触りながら理解した)。そのあと、 condition のステップを入れて order.riskLevel = HIGH のときだけ続くようにした。

3ステップ目のアクションは Cancel Order で、ここでは管理画面から設定できる「在庫を戻す」とか「キャンセルメールを送信する」とかのオプションも設定できる (最初「在庫を戻すのも一緒にやりたいんだけど」と言われたものの、Restock Inventory 的なアクションが存在せず困ったけど、Cancel Order の中に存在してた)

最後に Slack 通知を入れたかったんだけど、これもまた混乱ポイントで別途 Slack アプリを Shopify にインストールする必要があった。ステップで Actions を選んで Installed Apps のフィルタを外すと、Flow で使えるすべての Action が出てくる。そこから Slack を検索して行をクリックすると、インストールが必要なものはアプリをインストールする動線が出てくる。

あとはアプリを手順にしたがってインストールして、変数とかを使ってメッセージを作ってチャンネルを指定すれば OK。4ステップのシンプルなワークフロー↓

一個ポイントとしては、「ワークフローにエラーが起きたとき」をトリガーにする WF をもう一個つくっておくと、のちのち自分が助かる...というのが Zapier を運用していた経験。