Webhook

インストール an https endpoint you control

webhook チャネルは、アラートごとに JSON ボディをお客様の URL に POST し、一度だけコピーできるシークレットで署名します。ボディを信頼する前に署名を検証してください。

1チャネルを追加

「連携」→ Webhook:https の URL を入力し、プロジェクトの範囲と受け取るアラートを選びます。署名シークレット(whsec_...)は一度だけ表示されます:「署名シークレットを今すぐコピーしてください。二度と表示されません。」

2署名を検証

ヘッダー x-blipit-signature は、シークレットを使った生のリクエストボディの HMAC-SHA256 の16進値です。定数時間で比較してください。

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

export function verify(rawBody, header, secret) {
  const expected = createHmac("sha256", secret).update(rawBody).digest("hex");
  return header.length === expected.length && timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

3ボディを読む

イシューアラートは次のような形です。type は new_issue、regression、security、test のいずれかで、security はセキュリティアラートのときのみ含まれます。

json
{
  "type": "new_issue",
  "project": { "id": 12, "name": "shop" },
  "issue": { "id": 981, "title": "TypeError: cart is undefined", "url": "https://app.blipit.io/issues/981", "level": "error", "event_count": 1 },
  "event": { "release": "2026.09.28", "environment": "production", "platform": "javascript" },
  "sent_at": "2026-09-28T09:15:00.000Z"
}

知っておくと便利

  • モニターの変化も同じ形で、type が monitor.down または monitor.up、通知として monitor.slow、monitor.fast、monitor.expiring が送られます。
  • パブリックアドレス上の https URL のみ受け付け、リダイレクトは追従しません。保存後にテストボタンを使うと type: test の配信を確認できます。
  • 速やかに 2xx を返してください。配信に失敗するとチャネルにエラーとして表示されます。Blipit は後で再送するためのキューには入れません。

お困りですか?support@blipit.io までメールしてください。各プロジェクトのキーと正確な DSN は app.blipit.io の「APIキー」にあります。