thumbnail

子注文が生成されなかった注文を検知する方法|Shopify Flow


本ページでは、親子注文をご利用中の店舗様向けに、子注文が生成されなかった注文をShopify Flowで検知する方法をご案内します。

本設定を行うことで、以下のことが実現できます。

  • 親注文ごとに、子注文がすべて生成されたかを自動で確認できます

  • 子注文が不足している注文が見つかった場合に、指定のメールアドレスへ通知が届きます

子注文が生成されないパターンは以下のヘルプページをご参照ください。

子注文が生成されない場合のトラブルシューティング

概要 --- 本ページでは、親子注文をご利用中の店舗様で「子注文が生成されない」場合の原因と対処方法をご案内します。 問い合わせの多い事象のため、まずは以下の原因をご確認ください。 主な原因と対処方法 --- ① 販売制限(Selling Periods 等)を設定している もっとも発生頻度が高い原因です。 販売期間の制限をかけている場合、子注文の生成がブロックされることがあります。 ◾️対策 - ギフト対象商品の販売制限を解除してください。 - 子注文の再生成が必要な場合は、親注文番号・発生理由を添えて、アプリ管理画面右下のチャットよりご連絡ください。 ② 同梱不可設定(Order Limits 等)を設定している 同梱不可設定を有効にしている場合、子注文の生成がブロックされることがあります。 ◾️対策 - ギフト対象商品の同梱不可設定を解除してください。 - 子注文の再生成が必要な場合は、親注文番号・発生理由を添えてチャットよりご連絡ください。 ③ バリデーション(住所チェック)アプリを利用している バリデーションアプリの利用やカスタマイズで配送先住所チェックを行なっていてバリデーショ


本ワークフローは、生成されるはずの子注文の数と、実際に生成された子注文の数を突き合わせて判定します。

生成されるはずの子注文の数は、親注文の明細から算出します。

本ワークフローは、この2つを突き合わせて判定します。

比較する項目

取得方法

生成されるはずの子注文の数

親注文の 配送料 明細の数(明細がない場合は1)

実際に生成された子注文の数

#親注文番号:子注文 タグが付いた注文の数


項目

内容

Shopifyアプリ

Shopify Flowがインストール済みであること

利用するアクション

Run codeGet order dataCountが利用できること

対象の注文

親注文 タグが付与された親子注文であること

利用できるアクションはShopifyのプランによって異なります。

設定画面に該当のアクションが表示されない場合は、Shopifyへお問い合わせください。


区分

設定内容

説明

トリガー

Order created

注文が作成されたタイミングで実行されます

条件

タグに 親注文 を含む

親注文のみを対象とします

待機

15分

子注文の生成が完了するまで待機します

処理①

生成されるはずの子注文数を算出する

配送料明細の数(明細がない場合は1)を算出します

処理②

子注文を検索する

#親注文番号:子注文 タグの注文を取得します

処理③

件数を数える

実際に生成された子注文の数を算出します

条件

実際の子注文数 < 生成されるはずの子注文数

子注文が不足している場合のみ通知します

アクション

Send internal email

指定のメールアドレスへ通知します


タイミング

処理内容

注文作成時

Flowが実行され、親注文かどうかを判定

親注文の場合

15分間の待機を開始

待機終了後

生成されるはずの子注文数と、実際の子注文数を比較

子注文がそろっている場合

通知は送信されず、そのまま終了

子注文が不足している場合

指定のメールアドレスへ通知メールを送信


本ワークフローは注文ごとに自動で実行されます。定期的な操作は不要です。

頻度

作業内容

都度

通知メールが届いた場合に、対象の親注文を確認する

設定変更時

親子注文に関する設定や外部アプリの設定を変更した際に、テスト注文で動作を確認する


Shopify管理画面 > アプリ > Shopify Flow に進み、ワークフローを作成 をクリック

トリガーに Order created を選択

Conditionを追加し、Order tags親注文 を含む条件の設定を行う

Wait アクションを追加し、待機時間に 15分を入力

Run codeアクションを追加し、以下の3項目の設定を行う

GRAPHQLに以下を設定

Plaintext

query{
  order {
    note
    lineItems {
      title
    }
  }
}

JAVASCRIPTに以下を設定

Plaintext
export default function main({ order }) {
  const shippingLines = order.lineItems.filter(li => li.title === "配送料").length;
  return {
    // 配送料明細が無い=非複数配送の親子注文。この経路は必ず親1:子1
    expectedChildOrders: shippingLines || 1,
    childOrderTag: `#${order.number}:子注文`,
  };
}

SDLに以下を設定

Plaintext
type Output {
  expectedChildOrders: Int!
  childOrderTag: String!
}

Get order dataアクションを追加し、以下の設定を行う

項目

設定値

Query

tag:'#{{ order.number }}:子注文'

Sort date by

Created at(昇順)

Maximum number of orders

100

Count アクションを追加し、対象のリストに getOrderData を選択

Condition を追加し、countrunCode.expectedChildOrders より小さい場合に通知する条件の設定を行う

Send internal emailアクションを追加し、以下の設定を行う

項目

設定値

宛先

通知を受け取るメールアドレス

件名(例)

【要確認】子注文が生成されていない可能性があります - {{ order.name }}

本文の記載例

Plaintext
子注文の生成に問題が発生した可能性があります。以下の内容を確認してください。
■ 親注文情報
注文番号: {{ order.name }}
顧客名: {{ order.customer.displayName }}
注文日時: {{ order.createdAt }}
管理画面: https://{{ shop.myshopifyDomain }}/admin/orders/{{ order.legacyResourceId }}
— {{ shop.name }}

ワークフローをオンにするをクリック

有効化後、以降に作成された注文から自動で判定が行われます。


  1. 親子注文が生成される設定でテスト注文を行う

  2. 生成された子注文の注文画面を開き、注文をキャンセルする

  3. キャンセルした子注文を削除する(擬似的に、子注文が生成されていない状況を作る)

  4. 注文作成から15分後、生成されるはずの子注文の数よりも実際の子注文の数が少ない状態となるため、通知メールが送信されることを確認する

注文の削除は取り消しができません。テストストアまたはテスト注文で実施してください。


  1. メール内の管理画面リンクから親注文を開く

  2. 生成されるはずの子注文の数と、生成されている子注文の数を確認する

  3. 子注文が不足している場合は、子注文が生成されない場合のトラブルシューティングの原因と対策を確認する

  4. 子注文の再生成が必要な場合は、親注文番号・発生理由を添えて、アプリ管理画面右下のチャットよりご連絡ください


症状

想定される原因

対処方法

子注文が不足しているのに通知が届かない

対象の注文に 親注文タグが付与されていない

ギフトウィジェットを経由した注文かを確認してください(注意事項③)

子注文がそろっているのに通知が届く

待機時間内に子注文の生成が完了していない

待機時間を長めに調整してください(注意事項①)


子注文の生成が完了する前に判定すると、生成済みの注文でも通知が送信されます。注文件数や配送先の数が多い店舗様では、待機時間を長めに調整してください。

Get order dataで取得できる注文は最大100件です。そのため、配送先が101件以上ある注文では、実際に生成された子注文の数が100件で頭打ちになり、子注文がすべて生成されている場合でも通知が送信されます。

ギフトウィジェットを経由せずに購入された場合、注文は親子注文として生成されません。この場合は `親注文` タグも付与されないため、本ワークフローの対象外となります。

本ページはShopify Flowの活用方法をご案内するものです。Shopify Flowの仕様変更により動作が変わる場合があります。導入前に必ずテスト注文にて動作をご確認ください。


親子注文 機能ガイド

概要 --- 本ページでは、All in giftにおける「親子注文」の仕様および、注文管理時の注意点についてご案内します。 All in giftでは、複数配送機能や一部のeギフト設定を利用した場合、通常注文とは異なる「親子注文」が生成されます。 返金・通知メール・OMS/WMS連携・Shopify分析などへ影響するため、事前に仕様をご確認ください。 親子注文とは --- All in giftでは、特定条件下で以下2種類の注文が生成されます。 この仕組みをAll in giftでは「親子注文」と呼びます。 項目 内容 親注文※ 決済用(配送不要) 子注文 配送用 ※実際の決済は親注文のみで行われます。 ◾️親子注文が生成される条件 条件 親子注文になる 複数配送機能をON ⭕️ 「配送先住所入力スキップする」+ネクストエンジン連携 ⭕️ 「配送先住所入力スキップする」+オープンロジ連携 ⭕️ 「配送先住所入力スキップする」+コマースロボ連携 ⭕️ 「配送先住所入力スキップする」+親子注文にするON ⭕️ 「匿名機能(親子注文方式)」ON ⭕️ →「配送先住所入力をスキップする」設定についてはこち

子注文が生成されない場合のトラブルシューティング

概要 --- 本ページでは、親子注文をご利用中の店舗様で「子注文が生成されない」場合の原因と対処方法をご案内します。 問い合わせの多い事象のため、まずは以下の原因をご確認ください。 主な原因と対処方法 --- ① 販売制限(Selling Periods 等)を設定している もっとも発生頻度が高い原因です。 販売期間の制限をかけている場合、子注文の生成がブロックされることがあります。 ◾️対策 - ギフト対象商品の販売制限を解除してください。 - 子注文の再生成が必要な場合は、親注文番号・発生理由を添えて、アプリ管理画面右下のチャットよりご連絡ください。 ② 同梱不可設定(Order Limits 等)を設定している 同梱不可設定を有効にしている場合、子注文の生成がブロックされることがあります。 ◾️対策 - ギフト対象商品の同梱不可設定を解除してください。 - 子注文の再生成が必要な場合は、親注文番号・発生理由を添えてチャットよりご連絡ください。 ③ バリデーション(住所チェック)アプリを利用している バリデーションアプリの利用やカスタマイズで配送先住所チェックを行なっていてバリデーショ

複数配送設定

概要 --- 本ページでは、複数の配送先にギフトを送ることができる「複数配送機能」の設定方法をご案内します。 注意点 - 一部テーマでは、当アプリの機能が正しく動作しないケースがあります。事前にテスト環境でご確認ください。 - All in giftを介したギフト商品と通常商品(ギフト対象外)は同時購入できません。 - OMS/WMS等の外部システム連携をご利用の場合は、設定変更前に必ずテスト注文を実施してください。 注文仕様 --- 複数配送機能を有効にすると、配送先ごとに注文が生成されます。 この注文構造を、All in giftでは「親子注文」と呼びます。 なお、注文生成仕様は「配送先住所入力をスキップする/しない」の設定によって異なります。 ◾️配送先住所入力をスキップする Draft Orderを利用した親子注文として生成されます。 そのため、以下の制限があります。 - 商品の優先適用(軽減税率)が適用されない - Shopifyディスカウントが一部制限される ◾️配送先住所入力をスキップしない 以下の機能を通常注文に近い形で利用できます。 - 商品の優先適用(軽減税率) - S