信頼性が高く、署名され、追跡可能なイベント。
ポーリングせずに操作の変更を受け取ります。各配信は専用のキューを通過し、試行が保存され、検証可能な署名が付けられます。
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にリンクされた新しい配信が作成されます。