crisphive
ハウツーガイドWebhook を処理する

Webhook を処理する

Webhook は予約や技術者のイベントをリアルタイムでエンドポイントにプッシュします — URL と署名キーを登録すると、CrispHive がイベント発生時に配信します。

Webhook はプレビュー段階で、まだ一般提供されていません。エンドポイント登録とイベントカタログは最終調整中です。本番フローを Webhook に依存させないでください。信頼できる同期には現時点では同期フィードを使ってください。

エンドポイントを登録する

公開アクセス可能な HTTPS の URL を署名キーとともに登録すると、システムアクションがその URL に JSON イベントをプッシュします。配信に失敗した場合は、指数バックオフでリトライされます。

署名を検証する

各配信には X-CrispHive-Signature ヘッダーが含まれます。ペイロードを信頼する前に、署名キーで生のボディの HMAC-SHA256 を再計算し、定数時間比較で照合してください。

import { createHmac, timingSafeEqual } from 'node:crypto';

function verify(rawBody, signature, signingKey) {
  const expected = createHmac('sha256', signingKey)
    .update(rawBody)
    .digest('hex');
  return timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}

イベントカタログ

イベントカタログは最終調整中です — 予約と技術者のライフサイクルイベントが最初に提供されます。このサーフェスのリリース時に、すべてのイベントタイプとペイロード形式をこのページに掲載します。