GLOSSA

Webhook

うぇぶふっく

Webhook

一言でいうと

外部サービスでイベントが起きた瞬間に、自分のサーバーに通知してくれる仕組みのこと。

詳しい意味

Webhook は、外部サービスで何かイベント(ユーザー登録、決済成功、PRがマージされた等)が発生した瞬間に、外部サービス側から自分のサーバーに HTTP リクエストで通知してくれる仕組みです。自分から定期的に問い合わせる「ポーリング」と対比され、リアルタイム性と効率に優れます。Stripe(決済)、GitHub(PR/Issue)、Slack(メッセージ)など、多くのSaaSがWebhookを提供。受け取り側のエンドポイントは、署名検証(送信元が本物か確認)、冪等性(同じイベントが2回届いても1回として扱う)、ステータスコードを200で返す、を実装するのが鉄則です。

何に使うか

決済完了の通知を受け取って自社DBを更新するとき。GitHub のPR作成を Slack に通知するとき。外部システムの状態変化を即座に取り込むとき。

どんな時に出るか

「Webhookで連携」「Webhookエンドポイントを公開」「Webhookの署名を検証」といった場面で登場します。

具体例

  • Stripe の Webhook を受けて決済成功時に自社DB の注文ステータスを更新している。
  • Webhook の署名検証を入れていなかったため、不正リクエストで誤発火する脆弱性を修正した。

別名・略称

webhook(うぇぶふっく)Webhook(うぇぶふっく)

関連語

APIHTTP

初心者向けメモ

宅配便の「不在時の置き配通知」のようなものです。配達員(外部サービス)が届けてくれた時に、こちらから「もう着いた?」と聞きに行かなくても、置き配されたら通知が飛んでくる。リアルタイム性と楽さが両立できます。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます