注文トリガーの仕組み、ステップバイステップ

Shopify Flow 注文の重要な局面(作成、支払い、出荷、キャンセル)に対応する優れたトリガーが用意されています。しかし、その間のプロセスがすべて欠けています。以下の10個のトリガーは、注文が作成された後に発生する変更に対して発動し、それぞれ変更された内容の詳細を記録します。

このページの内容:注文の更新, 注文タグの追加, 注文タグの削除, 注文メモの変更, 注文属性の変更, 注文明細の変更, 注文の履行状況の変更, 注文の表示ステータスの変更, 注文の財務状況の変更, 注文の配送先住所の変更

Shopify Flow
表示場所:「Shopify Flow」で「トリガーの選択」を選択し、「Workflow Trigger Extensions」を開き、「Order」を検索してください。

注文状況の更新

注文が更新されるたびにトリガーされます。changes を引き渡し、変更された追跡対象フィールド(財務状況、履行状況、タグ、メモ、明細、カスタム属性)と、変更前後の値を返します。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 複数の種類の注文編集に対応する1つのワークフロー。
  • カスタマーサービス向けの注文変更履歴。

「Order Update」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 更新された注文です。Shopifyの完全な注文データであるため、そのすべてのフィールドおよびFlow独自の注文アクションが利用可能です。
payload テキスト 更新された注文のGIDを含むJSONオブジェクト(例:{"id":"gid://shopify/Order/123"})
changes 目的 どの追跡対象フィールド(財務状況、履行状況、タグ、メモ、明細、カスタム属性)が変更されたか、および各フィールドの旧値と新値
changes.fields テキスト一覧 変更された追跡対象フィールドの名前
changes.items オブジェクトの一覧 変更されたフィールドごとの新旧の値
changes.items (each).field テキスト 変更されたフィールド:financialStatus、fulfillmentStatus、tags、note、lineItems、またはcustomAttributes。
changes.items (each).oldValue テキスト 更新前の値。長い値は短縮されます。
changes.items (each).newValue テキスト 更新後の値。長い値は短縮されます。
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:ヘルプデスクを通じて、追跡対象の注文の変更内容を注文のタイムラインに記録する

  1. トリガーとして「**注文の更新」**を選択します。
  2. 条件を追加:changes.fields空ではなく、かつ存在すること
  3. 「本文に{{order.name}}を含めてヘルプデスクに**HTTPリクエストを送信」**を追加します。FlowのテキストフィールドはLiquidに対応しているため、forというループをchanges.itemsで実行すると、変更ごとに1行ずつ、fieldoldValuenewValueが追加されます。
  4. ワークフローを有効にしてください。

注文タグが追加されました

注文にタグが1つ以上追加されたときに発火します。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • スタッフには、gift-wrapholdpriority のタグを付けてプロセスを開始してもらいます。
  • 不正利用、サブスクリプション、またはフルフィルメント関連のアプリからのタグに対応します。

「タグの追加」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) タグが変更された注文です。Shopifyの完全な注文であるため、そのすべてのフィールドおよびFlow独自の注文アクションが利用可能です。
addedTags テキスト 注文に追加されたタグのカンマ区切りのリスト
removedTags テキスト 同じ更新処理で注文から削除されたタグのカンマ区切りのリスト(空の場合もある)
currentTags テキスト 注文に含まれる現在のタグをすべて、コンマ区切りで列挙したもの
previousTags テキスト この更新前の注文に含まれていたすべてのタグをカンマ区切りで列挙したもの
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:注文に「保留」のタグが付けられた場合、その注文の履行を保留する

  1. トリガーとして「ピッキング**順タグの追加」**が設定されました。
  2. 条件を追加:addedTagsholdを含む
  3. order.fulfillmentOrders」に対して「For each」を追加し、アクションとして「**注文の履行を保留」**を設定します。
  4. ワークフローを有効にします。「**注文タグの削除」**と「**フルフィルメント注文の保留解除」**を使用して、ミラーイメージを作成します。

注文タグが削除されました

注文から少なくとも1つのタグが削除されたときに発火します。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • タグが妨げていたものを解き放つ。
  • needs-reviewタグが削除されたら、タスクを終了する。

「タグの削除」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) タグが変更された注文。Shopifyの完全な注文であるため、そのすべてのフィールドと、Flow独自の注文アクションを利用できます。
removedTags テキスト 注文から削除されたタグのカンマ区切りのリスト
addedTags テキスト 同じ更新処理で注文に追加されたタグのカンマ区切りのリスト(空の場合もある)
currentTags テキスト 注文に含まれる現在のタグをすべて、カンマ区切りで列挙したもの
previousTags テキスト この更新前の注文に含まれていたすべてのタグを、カンマ区切りで列挙したもの
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:タグが取り外されたら、ロックを解除する

  1. トリガーとして「ピッキング順タグ」が削除されました
  2. 条件を追加:removedTags には hold が含まれます
  3. order.fulfillmentOrders」に対して、「**Release fulfillment order hold」**を設定した「For each」を追加します。
  4. ワークフローを有効にしてください。

注文メモが変更されました

スタッフまたは顧客がチェックアウト時の編集画面で注文の明細を追加、変更、または削除した際に発生します。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 注文完了後に追加された備考事項については、倉庫に通知してください。
  • 配送指示を解析する。

「オーダーノートの変更」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) メモが変更された注文。Shopifyの完全な注文であるため、そのすべてのフィールドおよびFlow独自の注文操作が利用可能です。
oldNote テキスト 注文に関する前回のメモ(以前にメモが設定されていなかった場合は空)
newNote テキスト 注文に関する新しいメモ(メモが削除された場合は空)
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:納期遅延の通知を倉庫に伝える

  1. トリガーとして「ピッキング**順序の注記が変更された」**が設定されました。
  2. 条件を追加:order.displayFulfillmentStatus FULFILLED
  3. 「**内部メールを送信」**を追加:{{order.name}} note changed from "{{oldNote}}" to "{{newNote}}"
  4. ワークフローを有効にしてください。

注文の属性が変更されました

注文のカスタム属性(カート属性、メモ属性)が追加、削除、または変更された際に発火します。changes.items内の各項目には、changeTypekey、および両方の値が設定されています。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、これがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 納品日ピッカー、ギフトオプション、またはB2Bフォームで入力された属性に対して処理を行う。
  • 注文後にスタッフが属性を修正したことを検知する。

「変更された属性」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) カスタム属性が変更された注文。Shopifyの完全な注文オブジェクトであるため、そのすべてのフィールドおよびFlow独自の注文アクションが利用可能です。
changes 目的 属性の変更が検出されました。各項目には、changeType(追加、削除、または変更)、キー、および旧値と新値が含まれています。
changes.items オブジェクトの一覧 検出された属性の変更一覧
changes.items (each).changeType テキスト 変更の種類:追加、削除、変更
changes.items (each).key テキスト 属性キー(別名:note_attribute名)
changes.items (each).oldValue テキスト 前の値(changeType が 'added' の場合は空文字列)
changes.items (each).newValue テキスト 新しい値(changeType が 'removed' の場合は空文字列)
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:配送日の変更への対応

  1. トリガーとして「ピッキング**順序属性の変更」**が設定されました。
  2. 条件を追加:changes.itemsのいずれか1つについてkeydelivery_dateと等しいこと
  3. 内部メールを送信」を追加します。FlowのテキストフィールドはLiquidに対応しているため、for を使用して changes.items をループ処理すると、各エントリの key が、oldValue および newValue とともに表示されます。
  4. ワークフローを有効にしてください。

注文明細の変更

注文が編集された際(商品の追加・削除、数量・価格・バリエーションの変更など)に発火します。changes.items 内の各エントリには、どの種類の変更か(addedremovedquantity_changedprice_changedvariant_changed)が、変更前と変更後の値とともに記載されています。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • ピッキング済みの注文内容に変更があったことを倉庫に伝えてください。
  • 編集後に、不正検知または証拠金チェックを再実行してください。
  • 注文の編集内容をERPに同期させる作業は、Shopify独自の注文Webhookを使用すると非常に手間がかかる。

「注文明細の変更」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 更新された注文です。Shopifyの完全な注文であるため、そのすべてのフィールドと、Flow独自の注文アクションが利用可能です。
changes 目的 旧値と新値による明細項目の変更が検出されました
changes.items オブジェクトの一覧 検出された変更の一覧
changes.items (each).changeType テキスト 変更の種類:追加、削除、数量変更、価格変更、バリエーション変更
changes.items (each).lineItemId ID 明細項目ID(ある場合)
changes.items (each).productTitle テキスト 商品名
changes.items (each).variantTitle テキスト 別タイトル
changes.items (each).oldVariantId ID 旧形式の GID(削除済みまたはvariant_changedの場合)
changes.items (each).newVariantId ID 新しいバリアント GID(追加またはバリアント変更用)
changes.items (each).oldProductId ID 旧製品のGID(削除済みまたはvariant_changedの場合)
changes.items (each).newProductId ID 新製品GID(追加またはvariant_changed用)
changes.items (each).oldQuantity 番号 以前の数量(quantity_changed 用)
changes.items (each).newQuantity 番号 新しい数量(quantity_changed用)
changes.items (each).oldPrice テキスト 旧価格(price_changed用)
changes.items (each).newPrice テキスト 新しい価格(price_changed用)
changes.items (each).lineItemData テキスト JSON形式の完全な明細データ
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:アイテムが取り出されたら、倉庫の処理を停止する

  1. トリガーとして「発注行の変更」を選択します
  2. 条件を追加:changes.itemsのいずれか1つについて、changeTyperemovedに等しい
  3. 注文タグedited-recheck」を追加し、changes.items 内の各エントリの「productTitle」と「variantTitle」を一覧表示した社内メールを送信します(メール本文には Liquid の for ループを使用)。
  4. ワークフローを有効にしてください。

注文の処理方法の変更

注文の履行ステータスが変更されたとき(nullpartialfulfilledrestocked)、およびその間の履行イベント(行単位の履行完了、履行のキャンセル、追跡情報の追加または変更)が発生したときにトリガーされます。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 追跡機能付きの配送通知を独自に送信してください。
  • キャンセルされたフルフィルメントを検出します。
  • 注文ごとではなく、出荷ごとにERPを更新する。

「Order Fulfillment Changed」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 履行ステータスが変更された注文です。Shopifyの完全な注文であるため、そのすべてのフィールドおよびFlow独自の注文アクションが利用可能です。
oldFulfillmentStatus テキスト 前回のREST履行ステータス(null、一部履行、履行済み、再入荷済み)
newFulfillmentStatus テキスト 新しいRESTの履行ステータス(null、部分履行、履行済み、再入荷済み)
changes 目的 検知されたフルフィルメントの変更と詳細
changes.items オブジェクトの一覧 検出された変更の一覧
changes.items (each).changeType テキスト 変更の種類:status_changed、line_item_fulfilled、line_item_unfulfilled、tracking_updated
changes.items (each).lineItemId ID 明細ID(line_item_fulfilled/unfulfilled用)
changes.items (each).productTitle テキスト 商品名
changes.items (each).variantTitle テキスト 別タイトル
changes.items (each).oldFulfillmentStatus テキスト 以前の履行状況(例:null、一部履行、履行済み、再入荷済み)
changes.items (each).newFulfillmentStatus テキスト 新しいフルフィルメントステータス(例:null、一部完了、完了、再入荷済み)
changes.items (each).fulfillmentId ID フルフィルメントID(tracking_updated用)
changes.items (each).trackingNumber テキスト 追跡番号
changes.items (each).trackingUrl テキスト トラッキングURL
changes.items (each).trackingCompany テキスト 追跡会社
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:新しい追跡番号を転送する

  1. トリガーとして「ピッキング**・注文処理」変更されました**。
  2. changes.items に対して For each を追加します。
  3. ループ内に条件を追加します。ループ項目のtrackingNumber空ではなく、かつ存在するという****条件です
  4. {{order.name}}」を使用した**「HTTPリクエストの送信」**を追加し、ループ項目の「trackingNumber」および「trackingUrl」を設定します。「変数の追加」でこれらを選択してください。Flowでは、トリガーのデータの横にループ項目が一覧表示されます。
  5. ワークフローを有効にしてください。

注文の表示ステータスが変更されました

管理者が確認できるフルフィルメントステータスが変更された際に発火します:unfulfilledin_progresson_holdscheduledpartially_fulfilledfulfilled。Shopifyではこれらの変更に対してWebhookが送信されないため、アプリはスケジュールに従って確認を行います。

火災の原因は Shopifyはこの機能についてWebhookを送信しないため、スケジュールに従って確認しました
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • フルフィルメントサービスまたはPOSが注文を「処理中」とマークした際に反応する。
  • 保留中の注文をエスカレーションする。

「表示ステータスの変更」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 表示上の履行ステータスが変更された注文です。Shopifyの完全な注文であるため、そのすべてのフィールドおよびFlow独自の注文アクションを利用できます。
oldDisplayFulfillmentStatus テキスト 以前の表示履行ステータス(例:未履行、処理中、一部履行済み、履行済み、保留中、予定済み)
newDisplayFulfillmentStatus テキスト 新しい表示用履行ステータス(例:未履行、処理中、一部履行済み、履行済み、保留中、予定済み)
fulfillmentStatus テキスト 現在の履行状況(未履行、一部履行、履行済み、再入荷済み)
changes 目的 検出された表示状態の変化と詳細情報
changes.items オブジェクトの一覧 検出された変更の一覧
changes.items (each).changeType テキスト 変更の種類:order_status_changed、fulfillment_display_status_changed
changes.items (each).fulfillmentId ID フルフィルメントID(フルフィルメントごとの表示ステータスの変更用)
changes.items (each).oldDisplayStatus テキスト 以前の表示状態
changes.items (each).newDisplayStatus テキスト 新しい表示ステータス
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:保留状態になった注文を上位部署へエスカレーションする

  1. トリガーとして「ピッキング**順の表示ステータスが変更された」**を設定しました。
  2. 条件を追加:newDisplayFulfillmentStatus on_hold と等しい
  3. {{order.name}}」を使用して、カスタマーサービスへ社内メールを送信する機能を追加します。
  4. ワークフローを有効にしてください。

注文の財務状況が変更されました

注文の財務状況が変更された際にトリガーされます。例えば、pending から paidpaid から partially_refunded または refundedauthorized から voided への変更などです。

火災の原因は Shopify Webhook と変更検出
許可 注文データのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用のスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • 注文から数日後に「支払済み」とマークされた銀行振込や請求書に対して対応してください。
  • 返金について経理に連絡してください。
  • 注文は、支払いが完了してから初めて、出荷手配を行ってください。

「財務状況の変更」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 財務状況が変更された注文。Shopifyの完全な注文であるため、すべてのフィールドおよびFlow独自の注文アクションが利用可能です。
oldFinancialStatus テキスト 以前の財務状況(例:保留中、承認済み、支払済み)
newFinancialStatus テキスト 新しい財務状況(例:支払済み、一部返金済み、全額返金済み、取り消し)
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:請求書の支払いが完了したら、B2B注文をリリースする

  1. トリガーとして「ピッキング**順の財務状況が変更された」**を設定します。
  2. 条件を追加:oldFinancialStatuspending に等しくnewFinancialStatuspaid に等しいこと
  3. 注文タグawaiting-payment」を追加・削除し、「order.fulfillmentOrders」に対して「**Release fulfillment order hold」**を適用する「For each」ループを追加します。
  4. ワークフローを有効にしてください。

注文の配送先住所が変更されました

注文の配送先住所が注文完了後に変更された場合に発火します。shippingAddress は1行で、shippingAddressDetails は個別のフィールドです。

火災の原因は Shopify Webhook と変更検知
許可 注文データへのアクセス + 顧客データへのアクセス
電源が入った これを使用するFlowワークフローを有効にすると、それがオンになります。この機能専用の切り替えスイッチは、アプリの「**トリガー」**ページにあります。

次のような用途にご利用ください

  • ピッキング開始後に配送先住所が変更された場合、その出荷を停止するか、配送先を変更する。
  • 住所の検証または不正利用チェックを再度実行してください。

「配送先住所の変更」がワークフローに送信する内容

フロー内の変数 種類 その中身
order 注文(Shopify) 配送先住所が変更された注文です。Shopifyの完全な注文であるため、すべてのフィールドおよびFlow独自の注文アクションを利用できます。
shippingAddress テキスト 注文の現在の配送先住所を、1行にまとめて表記したもの(空欄の場合もあります)
shippingAddressDetails 目的 注文の現在の配送先住所(構造化フィールドとして。空の場合もあります)
shippingAddressDetails.firstName テキスト 住所に記載されている名前
shippingAddressDetails.lastName テキスト 住所に記載されている苗字
shippingAddressDetails.name テキスト フルネーム(firstName と lastName から算出)
shippingAddressDetails.company テキスト 会社名または団体名
shippingAddressDetails.address1 テキスト 1行目 - 住所または私書箱番号
shippingAddressDetails.address2 テキスト 2行目 - アパート、スイート、またはユニット
shippingAddressDetails.city テキスト 市、区、村、または町
shippingAddressDetails.province テキスト 地域 - 県、州、または地区
shippingAddressDetails.provinceCode テキスト リージョンコード(例:ON)
shippingAddressDetails.zip テキスト 郵便番号
shippingAddressDetails.country テキスト 国名
shippingAddressDetails.countryCode テキスト 2文字の国コード(例:US)
shippingAddressDetails.phone テキスト 住所に記載されている電話番号
eventId テキスト このイベントのIDです。アプリの「イベント履歴」でこれを検索すると、具体的に何が送信されたかを確認できます。

例:住所が変更された注文を保留にする

  1. フロー内で「ピッキング注文」の配送先住所が変更されました。これには注文****データ顧客データへのアクセスが必要です。トリガーページからこの機能を有効にすると、アプリは1つのダイアログで両方の情報の入力を求めます。
  2. 条件を追加:order.displayFulfillmentStatusFULFILLED と等しくない
  3. 注文タグaddress-changed追加し、倉庫宛てに社内メールを送信します
  4. ワークフローを有効にしてください。

今後の手順

デフォルトでは、このアプリは過去60日間の注文を監視します。これは「Shopify」で付与される権限の範囲です。それより古い注文の編集に対応するには、「権限」ページで注文履歴の期間を延長してください。詳細は 権限とデータへのアクセス をご覧ください。