コンテンツにスキップ
AchaduDevelopers
Achadu/Developers/Webhook

信頼性が高く、署名され、追跡可能なイベント。

ポーリングせずに操作の変更を受け取ります。各配信は専用のキューを通過し、試行が保存され、検証可能な署名が付けられます。

28 のドメイン イベント

すべてに * で署名するか、アプリケーションが実際に消費するイベントのみを選択します。

offer.createdoffer.updatedoffer.archivedoffer.publishedsegment.createdsegment.updatedsegment.deletedcoupon.createdcoupon.updatedcoupon.archivedtemplate.createdtemplate.updatedtemplate.deletedschedule.createdschedule.updatedschedule.deletedschedule.executedmonitor.createdmonitor.updatedmonitor.deletedstore.updatedjourney.createdjourney.updatedjourney.deletedconversation.updatedconversation.closedconversation.repliedwebhook.test

イベントバージョン管理スキーム

すべてのエンベロープには api_version がかかります。カタログはスキーマ URL を提供し、変更を公開する前にコンシューマーを検証する例を提供します。

json
{
  "id": "evt_...",
  "type": "offer.updated",
  "api_version": "2026-08-31",
  "created_at": "2026-08-31T12:00:00.000Z",
  "data": { "offer_id": "off_..." }
}

処理前に検証する

シークレットは一度だけ登場します。タイムスタンプと生の本体に対して HMAC-SHA256 を計算し、一定時間で比較します。

javascript
import { createHmac, timingSafeEqual } from "node:crypto";

const signed = `${timestamp}.${rawBody}`;
const expected = createHmac("sha256", process.env.ACHADU_WEBHOOK_SECRET)
  .update(signed)
  .digest("hex");
const received = signature.replace("sha256=", "");

if (!timingSafeEqual(Buffer.from(expected), Buffer.from(received))) {
  throw new Error("Invalid signature");
}

耐久性のある配送

Web プロセスから独立したキュー。
一時的な失敗の場合は最大 6 回の試行。
試行ごとに 12 秒のタイムアウト。
HTTP ステータス、エラー、時刻を含む履歴。
内部宛先とプライベート アドレスはブロックされます。

Webhook Inspector

「開発者」領域で配信を開いて、ペイロード、ターゲット応答、HTTP ステータス、期間、試行、次回の再試行を確認します。同じパネルでイベントをコピーし、再送信をキューに入れることができます。

デバッグ用に生の本体が保存されます。
反応は限られており、秘密はありません。
試行ごとに測定される期間。
再送信により、同じevent_idにリンクされた新しい配信が作成されます。