メインコンテンツへスキップ
Webhooks連携は開発者向けの機能です。Foliantで何かが起きるたびに、指定したHTTPSアドレスへJSONイベントを送信します。これにより、独自のシステムで対応できます。たとえば、請求書PDFを1件ずつ保管したり、完了したエクスポートを取得したりできます。 Webhooksはベータ版です。設定 › 連携に表示されない場合は、まだご利用のストアに提供されていません。利用についてはサポートにお問い合わせください。

イベント

Webhooksを接続する

  1. Foliantで設定 › 連携に移動します。
  2. Webhooksで接続をクリックします。
  3. 設定を入力します。
  4. 接続をクリックします。
URL、シークレット、イベントは、あとから連携のページの設定で変更できます。

各リクエストの内容

Foliantは、JSON本文を含むPOSTリクエストを送信します。

document.generatedのデータ

  • template:テンプレートのuuidとname。
  • document_type:invoice、credit_note、quote。その他の書類の場合は空です。
  • order:注文のid、name、type(注文または下書き注文)。
  • refund_idとfulfillment_id:書類が返金または配送に関するものの場合。
  • document_numberとissued_at:番号付きの書類の場合。
  • source:作成方法。download、admin_download、export、emailなど。
  • export:エクスポートの一部である場合、そのエクスポートのID。
  • generated_at。

export.completedのデータ

  • export:エクスポートのuuid、order_type、template_uuids、ordersの件数、orders_skipped(選択後に削除された注文)とdocuments、requested_by(merchantまたはcustomer)、completed_at。
  • download_url:エクスポートのダウンロードリンク。download_url_expires_atは、そのリンクが使えなくなる日時です。
  • download_expires_at:エクスポート自体の有効期限です。
イベントに含まれるのはIDと件数で、顧客のメールアドレスは含まれません。

ヘッダー

署名を確認する

署名は、タイムスタンプ、ピリオド、リクエストの未加工の本文(<timestamp>.<body>)を、署名シークレットをキーとしてHMAC-SHA256で計算した16進数の値です。受信側で計算し、X-Foliant-Signatureのsha256=以降の値と比較してください。本文は受信したままの未加工のものを使用してください。

レスポンスと再試行

  • 2xxのレスポンスはすべて配信済みとみなされます。
  • エンドポイントが5xxエラー、408、429を返した場合、または10秒以内に応答しない場合、Foliantはあとで再試行します。再試行のたびに待ち時間が長くなり、最大5回まで試行します。
  • その他の4xxレスポンスは最終的な結果となり、Foliantは再試行しません。
  • 各イベントは、書類またはエクスポートごとに1回配信されます。成功後に再試行で重複して送信されることはありません。
すべての配信は連携のページのアクティビティに表示され、失敗した配信は再試行できます。詳しくは連携のアクティビティをご覧ください。

関連記事