バックエンドとSDK
Webhook
アプリのイベントを、お使いのほかのツールや自社のサーバーに送ります。
ビルダーで設定 → Webhook(詳細設定内)を開き、送信先のURLを貼り付けて保存します(Starterプラン以上)。そのあとbuilder77は、イベントが起きるたびにJSON本文付きの POST を送ります。
| イベント | 送られるタイミング |
|---|---|
record.created | アプリがレコードを作成した |
record.updated | レコードが更新された |
record.deleted | レコードが削除された |
user.signed_up | 誰かがアプリに新規登録した |
test.ping | 「テストイベントを送信」をクリックした |
{
"event": "record.created",
"projectId": "abc123",
"timestamp": "2026-10-01T10:00:00.000Z",
"collection": "orders",
"record": { "id": "…", "total": 42, "createdAt": "…" }
}リクエストを検証する
各リクエストには X-M77-Signature ヘッダーが付いています。これは、署名用シークレット(設定に表示されます)を使って生の本文から計算したHMAC-SHA256の16進数の値です。
import crypto from 'node:crypto';
const expected = crypto.createHmac('sha256', process.env.M77_WEBHOOK_SECRET).update(rawBody).digest('hex');
if (expected !== req.headers['x-m77-signature']) return res.status(401).end();Webhookは1回だけ送信され、タイムアウトは8秒です。URLは公開されたものである必要があります(プライベートネットワークのアドレスはブロックされます)。