Webhookの登録方法

Webhook 登録 エンドポイント イベント購読
この記事の対象
レシートローラーのWebhookを使うアプリの開発者向けです。開発者ポータルからWebhookエンドポイントを登録し、テスト配信で疎通確認するまでの手順を説明します。

Webhookを受け取るには、開発者ポータルでアプリに対して「Webhookエンドポイント」を登録します。エンドポイントとは、レシートローラーがイベント発生時にPOSTを送る先のURLのことです。1つのアプリに対して複数のエンドポイントを登録できるので、用途や環境ごとに分けて運用できます。

前提

  • 開発者ポータルでアプリが登録済みであること(アプリを新規作成する
  • 受信用のサーバーとHTTPS URLが用意できていること
  • 受信側で署名検証用のシークレットを安全に保管できること

登録手順

ステップ1:アプリの「Webhook」タブを開く

開発者ポータル → アプリ一覧 → 対象アプリを開く → 上部タブの「Webhook」をクリックします。

ステップ2:「エンドポイントを追加」をクリック

右上の「+ エンドポイントを追加」ボタンを押すと、登録フォームが開きます。

ステップ3:必要項目を入力

項目 必須 内容
エンドポイント名 必須 管理用のラベル。例:「本番 - 在庫同期」
URL 必須 https:// 必須。クエリ・フラグメント不可
購読イベント 必須 受け取りたいイベントを選択(複数可)
対象店舗 任意 特定店舗のみに絞る場合に指定。空欄=全店舗
説明 任意 運用メモ。チームで共有する用途
有効/無効 必須 登録時は「有効」推奨。一時停止したいときは「無効」に切替

ステップ4:「作成」をクリック

登録が完了すると、エンドポイントの詳細画面に遷移します。ここで 署名検証用シークレット(Webhook Secret) が初回のみ表示されます。必ずこの時点で安全な場所に保管してください。

重要:Webhook Secret はこの画面を離れると二度と表示されません。控え忘れた場合は再生成が必要になり、その時点で旧シークレットを使った検証は失敗します。

購読イベントの選び方

購読するイベントは、必要なものだけに絞ることを強く推奨します。理由は次のとおりです。

  • 受信側サーバーの負荷が下がる
  • 処理ロジックがシンプルになる(不要イベントの分岐が消える)
  • 監視時のノイズが減る

例えば「在庫同期」が目的なら inventory.changedinventory.low_stock だけを購読し、receipt.*campaign.* は購読しないようにします。複数の用途がある場合は、用途ごとにエンドポイントを分けるのが運用上きれいです。

テスト配信

登録したエンドポイントが正しく受信できるか確認するため、開発者ポータルからテストイベントを送信できます。

  1. エンドポイント詳細画面の「テスト配信」ボタンをクリック
  2. 送信したいイベント種別を選択
  3. 「送信」を押すとサンプルペイロードが配信される
  4. 受信側のログとレスポンスを確認する

テスト配信のペイロードには "test": true フラグが含まれます。受信側で本番処理に流したくない場合は、このフラグを見て無視するように実装してください。

複数エンドポイントの使い分け

1つのアプリに最大20件のエンドポイントを登録できます。よくある分け方の例:

分け方
環境別 本番URL/ステージングURL/開発URL
用途別 在庫同期用/会計連携用/通知用
店舗別 店舗ごとに別システムへ送る場合
優先度別 即時処理用と監査ログ保存用を分ける

編集・無効化・削除

  • 編集:URL、購読イベント、対象店舗、説明はいつでも変更可能。次回配信から反映されます
  • 無効化:「有効/無効」スイッチで一時停止できます。停止中の期間に発生したイベントは配信されません(保留もされません)
  • 削除:完全削除すると元に戻せません。エンドポイント自体は残しつつ無効化するほうが安全です

登録後の確認チェックリスト

  • ☐ 受信URLが https:// で外部からアクセス可能
  • ☐ Webhook Secret を安全に保管した
  • ☐ 署名検証ロジックを実装した
  • ☐ テスト配信で 2xx が返ることを確認した
  • event_id ベースの冪等性チェックを実装した
  • ☐ 10秒以内にレスポンスを返せる構成になっている

関連ガイド

公開日: 2026-04-27 更新日: 2026-04-27
タグ
API (8) Webhook (8) api (6) oauth (5) トラブル (5) OAuth (4) getting-started (4) アプリ登録 (4) app-registration (3) webhook (3)
関連記事