API リファレンス
Webhook(出来事を受け取る)
知識やワークフローに出来事が起きると、登録したアドレスへ知らせます。届いた知らせは署名で本物か確かめられます。
API リファレンス全 4 ページ
目次全 5 章
登録する
コンソールの「開発者」→「Webhooks」で、受け取るアドレスと、受け取る出来事を選んで登録します。登録できるのは、Webhook を管理する権限を持つ管理者です。
- アドレスは
https://で始まるものだけ登録できます。 - 署名用の秘密の値は、登録したときに一度だけ表示されます。あとから作り直す(ローテーションする)こともできます。
届く出来事
- knowledge.meaning.created — 知識が作られた
- knowledge.meaning.updated — 知識が更新された
- workflow.run.completed — ワークフローが最後まで終わった
- workflow.run.failed — ワークフローが失敗した
- inbound.event.received — 外部のサービスから出来事を受け付けた
知らせの中身
知らせは JSON で、中身は次の項目だけです。本文や個人の情報は入りません。必要なら、受け取ったあとで MCP などから読みに来てください。
- id — 知らせの識別子(同じ知らせが二度届いたかを見分けるのに使えます)
- type — 出来事の種類(上の一覧)
- occurred_at — 起きた時刻(UTC)
- brand_key — どのブランドの出来事か(無い場合もあります)
- object — 対象の種類と識別子
- api_version — 知らせの形の版(今は 1)
署名を確かめる
知らせには X-Cfx-Signature ヘッダーが付いています。形は t=<UNIX 時刻>,v1=<署名> です。
- 署名は、
<t>.<受け取った本文そのまま>を、登録時の秘密の値で HMAC-SHA256 にかけた 16 進の値です。 - 時刻
tが 5 分以上ずれている知らせは受け付けないでください。 - 秘密の値を作り直した直後は、新旧 2 つの署名(
v1=が 2 つ)が付きます。どちらかが合えば本物です。
届かなかったとき
- 送り先が 2xx 以外を返したり、10 秒以内に答えなかったりすると、時間を空けて送り直します(1 分後、5 分後、30 分後、2 時間後、6 時間後、12 時間後)。
- 同じ知らせが二度届くことがあります。
idで見分けて、二度目は無視してください。 - 送り先が続けて 20 回失敗すると、その送り先は「自動的に無効化」になり、何も届かなくなります。直したら、登録し直してください。