aikawa

shopifyで前日の注文をSlackに通知する

そんな機会が有ったのでメモ用に。

Flowアプリの追加


まずはshopifyの管理画面でアプリにFlowを追加します。



次にFlowの画面へ(初期は結構時間が掛かります)。



フローの登録


テンプレートを閲覧をクリックします。



検索にOrders、アプリにSlackと入力、カテゴリーは注文を選択します。
表示された中から、Send daily notification with all open Draft Ordersを選択します。



フローが表示されたら、右上のインストールをクリックします。



一番左の実行をスケジュール済みをクリックして、Time zoneで(GMT+09:00) Osakaを選択、開始時刻を通知する時刻に指定します。



Thenの+部分をクリックして、アクションを選択。



ShopifyのGet order dataを選択します。



データを絞り込むクエリを選択するで、Updated in the last dayを選択します。



次に、元々有ったGet draft order dataの方を削除します。
Get draft order data上にカーソルを持って来て表示される削除を選択して、確認画面が出ますので、そのまま削除します。



Get order dataのThenの+をドラッグして、Countに繋げます。



Countをクリックして、リストのデータをReturned dataのGet Order Dataへ変更します。







Send Slack messageを選択します。

Slackをshopifyにインストールしていない場合、エラーが出るのでそこからインストールをクリックします。



対象のワークスペースを選び、許可するをクリックします。







Flowに戻って、Channel, or member idで対象のSlack channelを入力します。

Messageは以下のように変更します。

{{ count }} orders

{% for getOrderData_item in getOrderData %}
  {{getOrderData_item.name}}    {{getOrderData_item.billingAddress.name}}   (  {{getOrderData_item.createdAt}} )
{% endfor %}

Slack側の処理

Slackを開き、左バーAppの一覧からflowbotを選択します(出ていない時はインストールします)。

上部flowbotをクリックして、チャンネル情報からチャンネルにこのアプリを追加するを選択します。
通知を出したいチャンネルを選んで追加をクリックします。



対象のチャンネルに移動すると、flowbotが追加されています。



shopify注文データの通知

当日の注文データが無ければ、注文管理から注文を作成するで登録して下さい。
(商品が無い場合は、先に商品の登録が必要です)



すぐにテストしたいのであれば、Flowの実行間隔を10分単位にする、注文の絞り込みを削除する、等をして下さい。
成功すると、Slackに以下のように注文番号、氏名、日時の通知が来ます。