スタンプラリー
スタンプラリー
友だちがスタンプラリーのスタンプを獲得したイベントを通知します。
署名の検証
受信したwebhookイベントがPosterから送信された正当なものである事を確認するため、必ず署名の検証を行って下さい。
- 発行された「webhook_key」を秘密鍵として、HMAC-SHA256アルゴリズムを使用してリクエストボディのダイジェスト値を取得します。
- ダイジェスト値をBase64エンコードした値と、リクエストヘッダーのX-Poster-Signatureに含まれる署名が一致することを確認します。
検証用の署名 | リクエストヘッダー「X-Poster-Signature」でbase64エンコードされた署名情報が送信されます。 |
---|---|
署名検証用のキー(webhook_key) | Posterから発行された40文字の文字列 (Poster管理画面から確認して下さい。) |
イベントオブジェクト
Webhookで送信されるイベントはJSON形式の文字列をリクエストBodyとして指定されたURLにPOST送信されます。
プロパティ名 | 型 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
event | 文字列 | stamprally | ||||||||
user | オブジェクト | |||||||||
| ||||||||||
stamprally | オブジェクト | |||||||||
| ||||||||||
stamped | 配列 | 獲得済みスタンプ番号の配列 | ||||||||
unstamped | 配列 | 未獲得スタンプ番号の配列 | ||||||||
action | オブジェクト | |||||||||
| ||||||||||
completed_at | 文字列 | スタンプラリーイベント完了日時(YYYY-MM-DD HH:ii:ss) または null ※完了処理ボタンが有効の場合、完了処理を実行した時間 |
Requestデータサンプル
{
"event": "stamprally",
"user": {
"poster_user_id": 9999999999,
"line_user_id": "Udeadbeefdeadbeefdeadbeefdeadbeef",
"member_code": "20-99999-999999"
},
"stamprally": {
"id": 7777777777,
"name": "スタンプラリー"
},
"stamped": [1,2,3],
"unstamped": [4,5],
"action": {
"stamp_number": 3,
"stamped_at": "2022-07-01 10:10:00"
}
"completed_at": null
}