沿革とトラブルシューティング

Webhookに届くすべてのリクエストは、受け入れられたか拒否されたかにかかわらず、記録されます。何かが正常に動作しなかった場合は、まず履歴を確認してください。

祈りの言葉を朗読する

**「履歴」**を開き、エントリをクリックしてください。タイムスタンプ、ステータス、発信元、所要時間、ペイロード、(マスクされた)リクエストヘッダー、クエリ文字列、および失敗の場合はエラー内容とすべての再試行記録が表示されます。

ステータス 意味
保留中 受理され、キューに入れられましたが、Shopify Flowにはまだ配信されていません
成功 Shopify Flow トリガーを受け入れました
失敗しました 配信が恒久的に失敗しました。詳細ページにその理由が表示されています。

「Invoked by」列には、呼び出しの元となった場所が表示されます。具体的には、User(外部システム)、Flow(Webhookを呼び出すShopify Flowアクション)、Test(「テスト」ボタン)、またはCURLです。

Webhookの履歴を1つのWebhookに絞り込み、ステータスが「Success」で、ソースが「External System」の呼び出しを一覧表示しています。
Webhookの履歴(1つのWebhookに絞り込み)。各リクエストは、ステータスと送信元とともに一覧表示されています。
「History」に、リクエストヘッダー、ペイロード、ステータス、所要時間、識別子を含む1つの呼び出しが開かれました
1件の呼び出しが展開されています:リクエストヘッダー(トークンは非表示)、ペイロード、所要時間、そして右上に「Replay Webhook」が表示されています。

不採用通知と、その一つひとつが意味すること

拒否されたリクエストは、Shopify Flowには決して届きません。レスポンス本文には、機械可読形式のcodeが含まれています:

コード HTTP 何が問題だったのでしょうか 修正
webhook_not_found 404 ショートコードが不明です URLをご確認ください。Webhookが削除されている可能性があります。
webhook_disabled 400 Webhookは無効になっています Webhookページで有効にしてください
unauthorized 401 トークンがありません、または間違っています トークンとヘッダー名をご確認ください
missing_signature 401 HMACモード、署名ヘッダーなし プリセットで指定されている署名ヘッダーを送信してください
invalid_signature 401 署名が一致しませんでした 署名用秘密鍵を確認し、転送中に本文が改ざんされていないことを確認してください
auth_not_configured 401 認証モードが設定されていますが、トークンが保存されていません Webhookにトークンを保存する
invalid_json 400 本文は有効なJSONではありません 有効なJSONを送信するか、本文の実際のContent-Typeを設定してください(フォームデータやXMLも読み取られます)。
invalid_body 400 フォームまたはXMLの本文を読み取ることができませんでした。あるいは、本文がリテラル「null」となっています。 JSONオブジェクト、またはそのContent-Typeに一致する本文を送信してください
mapping_field_missing 400 ペイロードにマッピングされたフィールドが含まれていません そのフィールドを送信するか、マップ解除してください
unexpected_fields 400 本文には、マッピングされていないフィールドがあります それらをマッピングするか、削除するか、または「**カスタムリクエストボディを許可する」**を有効にしてください
ip_not_allowed 403 発信元のアドレスが、WebhookのIP許可リストに含まれていません IP許可リスト をご覧ください。
invalid_proxy_signature 401 アプリのプロキシアドレスが、貴店のドメインを経由せずに直接呼び出されました アプリに表示されている通りのWebhook URLを正確にご使用ください。詳しくは、CORS、アプリのプロキシURL、およびブラウザからの呼び出し をご覧ください。
payload_too_large 413 50KBを超えるペイロードの転送 送信量を減らすか、リクエストデータの切り替え機能をオフにしてください
quota_exceeded 400 プランの上限に達しました プランと利用方法 をご覧ください。

ライブリクエストインスペクタ

エディタでWebhookを開いている間、インスペクタにはリアルタイムで到着するリクエストが表示されます。これには、拒否されたリクエストとその理由も含まれます。これは、送信側のデバッグを行う上で、断然最も迅速な方法です。リクエストを送信し、それが正常に届いているかを確認するだけです。

削除された重複項目もここに表示され、その旨が明記されています。詳細は 重複配送防止 をご覧ください。

リプレイ

過去の呼び出しは、その詳細ページから再生することができます。再生を行うと、同じペイロードが同じWebhookを通じて再送信されます。

特に以下の2つの点で非常に優れています:

  • **Flowワークフローの構築です。**Webhookトリガーでイベントを記録し、その後、実際の この呼び出しを行うと、Shopify Flowが実際のフィールド名を学習します。
  • **ワークフローの障害からの復旧。**ワークフローを修正した後、実行されたイベントを再実行してください。 それは間違っていたとはいえ、

リプレイは履歴上でそのように表示され、ご利用プランのデータ使用量にはカウントされません。

よくある状況

**通知は届きますが、ワークフローは実行されません。**ほとんどの場合、Webhook ID の条件が原因です。Webhook トリガーによるワークフローは、所有している_すべての_ Webhook からイベントを受信するため、特定の Webhook ID に一致する条件を設定する必要があります。詳しくは、初めてのWebhookを作成しましょう をご覧ください。

**ワークフローが2回実行されています。**これは、2つのワークフローが明確な条件設定なしにWebhookトリガーを使用しているか、送信者が再試行を行っているかのいずれかです。履歴を確認すればどちらかがわかります。エントリが2件あるということは、2件のリクエストが届いたことを意味します。「重複配送防止」を有効にしてください。

**履歴には何も記録されていません。**そのリクエストは弊社には届いておりません。URLとショートコードを確認し、送信元側でTLSやDNSに問題がないかご確認ください。

**ステータスが「保留中」のままになっています。**配信はバックオフ機能を用いて再試行されます。恒久的な失敗が発生した場合は、理由とともに「失敗」に切り替わります。保留状態が異常に長く続く場合は、status.codecreationlabs.cloud をご確認ください。