🔗
webhookについて調べる
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