メインコンテンツへスキップ
外部サービスから公開フローへリクエストを送る場合はINPUT_WEBHOOKを使います。value入力に渡されたリクエストを表すJSON文字列を解析し、resultに返します。公開フローのURLについては公開を参照してください。

Webhookリクエストの値を渡す

JSONにはmethod、url、文字列値のheaders、bodyが必要です。文字列値のqueryとparamsは任意です。任意のdescription入力でステップに説明を付けられます。
公開フローでは、公開エンドポイントからリクエストを渡します。ローカル確認では上のvalueを使い、result.body.orderIdが123であることを確認します。後続ステップではsteps.receive_webhook.result.bodyを参照できます。

受信した注文を処理する

元のガイドにあった、Webhookの結果を後続のAIステップに渡す例です。入力結果のbodyを使います。
実際の送信元につなぐ前に、要約に注文IDが含まれることを確認してください。

送信元の署名を検証する

WebhookのエンドポイントはPOST https://<your-flow-host>/api/v2/external/flows/<flow-id>/webhook-runです。フローの公開バージョンを実行するため、トリガーを変更したら公開してください。公開バージョンにINPUT_WEBHOOKステップがない場合は404を返します。デフォルトでは署名のないリクエストも受け付けます。HMAC-SHA256署名を必須にするには、ステップのconfigに次の項目を設定します。
requireSignatureが有効なのに使えるsignatureSecretがない場合や、セキュリティ設定が不正な場合は、未署名で実行せずすべてのリクエストを401で拒否します。署名がない、または一致しないリクエストも同様です。

Webhook入力エラーを調べる

InputWebhookToolエラーが出た場合は、valueが正しいJSONで、method、url、headers、bodyに必要な型の値があるか確認します。このツールの実行処理はリクエスト形式を解析しますが、ステップにrequireSignatureを設定していない限り、このステップだけで送信元の認証を確認したことにはなりません。