便利なワークフロー機能であるShopify Flowインターナルメール(Internal Email)を送信する簡単なサンプルフローを紹介します。
Shopifyの便利な機能の1つである「Shopify Flow」。運営上の作業をオートメーション化するワークフローアプリ(Shopify社のオリジナルアプリ/無料)として活用されています。
その活用シーンとしては、
・在庫管理の自動化:在庫が一定数以下になった際にアラートを送信
・顧客セグメントの自動化: 購入回数や累計購入額に応じて顧客をタグ付け
・注文の自動分類:特定の条件に基づいて注文を分類
などが挙げられます。
しかし「トリガー」→「条件」→「実行」というロジックの難しさや、Shopifyデータ構造に対する知識が必要なため、初心者にややハードルの高い機能でもあります。
また、ワークフロー設計の抽象的なため、慣れるまでに時間がかかると言われています。
今回、そんなワークフローに少しでも慣れていただけたらと思い、インターナルメールを送信する簡単なサンプルフローを紹介したいと思います。
インターナルメール(internal email)とは
直訳すると「内部メール」。要すると、スタッフへの通知メールになります。
このインターナルメールを活用すれば、上記に記した「在庫が一定数以下になった際」にスタッフに対して「〇〇〇(商品名)の在庫が10を切りました」のようなメールを自動送信する事が可能です。
サンプルフロー
今回紹介するサンプルフローは、
①トリガー:注文完了
②条件:銀行振込を選択
③実行:スタッフへ注文番号とともに「支払いが未確定」である事を通知
になります。
まだ支払いが未確定であるため「うっかり配送する事のないように」と、スタッフへ周知をするワークフローです。
トリガー
まず、ワークフロー開始のトリガー設定から。トリガー(Trigger)とは「引き金」を意味する英単語です。
ここでは、注文の発生(Order Created)と設定します。
コンディション(条件)
次はコンディション(条件)の設定。今回は「ユーザーが銀行振込を指定 → まだ全額支払われていない」というのが条件になります。
「全額支払われていない」という条件は、変数order.fullyPaid
を指定した上、その値を「false(偽)」にする事によって設定ができます。
アクション(実行)
最後のステップは、ワークフローのアクション(実行)になります。
アクションとして「Send internal emai」を選択 → 送信先のメールアドレスを指定 → 送信する内容入力という順に設定を行います。
メール内容
これらの3ステップでワークフローが生成されました。
送信するメール(アクション)には、以下の「支払い未確定の注文」の詳細が記載されます。
・注文日時
・注文番号
・注文者の氏名
各要素は、すでに用意されているLiquidの変数を使えばOK。
・注文日時 →{{ oreder.createdAt }}
・注文番号 →{{ oreder.name }}
・注文者の氏名 →{{ oreder.customet.lastName }}
と{{ oreder.customet.firstName }}
以下はサンプルコードです。
{% assign order_created = order.createdAt | date: "%s" | plus: 32400 %}
・注文日時:{{ order_created | date: "%Y-%m-%d %H:%M:%S" }}
・注文番号:{{order.name}}
・注文者:{{order.customer.lastName}}{{order.customer.firstName}} 様
Shopify Flowのタイムゾーンは、UTC(世界協定時刻)になります。そのため「注文日時」をJST(日本標準時刻)より9時間遅い時刻になってしまいます。
そのため、注文時間の場合は、以下のように別の変数を用意。Shopify Flowが認知する注文日時より9時間(32400秒)進んだ日時を取得・表示します。
{% assign order_created = order.createdAt | date: "%s" | plus: 32400 %}
・注文日時:{{ order_created | date: "%Y-%m-%d %H:%M:%S" }}
以下の図は、コードを挿入した実際の実行(アクション)の画面になります。
以上、インターナルメールを送信する簡単なサンプルフローを紹介しました。すごくシンプルな内容ではありますが、本記事で紹介するコードをヒントに色々なシーンで応用・活用してみていただければと思います。