メインコンテンツまでスキップ

Webhook のイベント受信処理

ご利用サービス側で実装が必要な Webhook 受信のための処理です。

ステータスコードの応答

Webhook イベントの受信に成功した場合は 200 OK などの 2xx 系ステータスコード を応答してください。

ステータスコードの応答は 5 秒以内とし、それより経過した場合はタイムアウトとなります。
タイムアウト時にはソーシャルPLUS から イベント通知の再送 が行われます。

event_id について

再送されたイベントは、常に同じ event_id が送信されます。
ご利用サービス側では event_id により、イベント通知の重複を検知することができます。

署名の検証

Webhook イベントがソーシャルPLUS から送られたことを確認するために、ご利用サービス側でリクエストヘッダー x-socialplus-signature に含まれる署名を検証します。

検証方法は以下のとおりです。

  1. ソーシャルPLUS の API Key を秘密鍵として、HMAC-SHA256 アルゴリズムを使用してリクエストボディ(ペイロード)のダイジェスト値を取得します。
  2. ダイジェスト値を Base64 エンコードした値と、リクエストヘッダー x-socialplus-signature に含まれる署名が一致することを確認します。
署名検証について

ペイロードの「署名の検証」はセキュリティ確保のために行っていただく処理です。署名の検証を行わずとも、リクエストボディ(ペイロード)のデータを利用することは可能です。

ご利用サービス側からご提供いただく Webhook URL は、ソーシャルPLUS 側で意図的に公開することはありませんが、インターネット上に存在する以上、意図しない第三者からのアクセスが発生することがあります。 そのため、正しくソーシャルPLUS からの通知であることを検証するために、秘匿された鍵情報(API Key)を用いた署名の検証を行っていただくことを強く推奨します。