🔗

webhookについて調べる

に公開
2025/09/29

webhookとは

Webhookは、「イベント駆動型」の通信手法です。特定のイベント(例:ユーザーの新規登録、支払いの完了、ファイルのアップロードなど)が発生した際に、関連するデータを指定されたURLに自動的に送信します。これにより、リアルタイムでのデータ連携や通知が可能になります。

動作の仕組み

  • イベントの発生: 例えば、Eコマースサイトで新しい注文が作成される。
  • Webhookのトリガー: 注文作成というイベントがWebhookをトリガー。
  • HTTPリクエストの送信: 事前に設定されたエンドポイントURLに対して、注文情報を含むHTTP POSTリクエストが送信される。
  • 受信側の処理: エンドポイントを受け取ったアプリケーションが、データを処理(例:在庫の更新、通知の送信など)する。

実装方法

  • エンドポイントの準備: Webhookを受信するためのURLを提供する。通常、HTTPサーバー上にエンドポイントを設定する。
  • Webhookの設定: Webhookを提供するサービス(例:GitHub、Stripe)に対して、エンドポイントURLを登録する。
  • イベントの処理: Webhookから送信されてくるデータを受け取り、必要な処理を実行する。
  • レスポンスの返却: 受信側は、通常200 OKなどのステータスコードで応答し、通知が正常に受信されたことを示す。

実装例

  • LineNortify(サービス終了予定)で実装してみた
  • messageには通知メッセージが入る
  • tokenには受信サーバー側で発行されるもの
  • 以下はアプリケーションから受信サーバーへの通知リクエスト例
function sendLineNotify(message, token) {
  var options =
  {
    "method": "post",
    "payload": { "message": message },
    "headers": { "Authorization": "Bearer " + token }

  };
  UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

Discussion