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

ウェブフックエンドポイント仕様

ポケットサインは各種イベントの発生時に、以下の仕様のHTTPリクエストを事前に登録されたサービスのバックエンドサーバーのエンドポイントに送信し、PSLinkEventを通知します。

リクエスト

項目内容
送信先エンドポイントhttps://{事前に登録されたポケットサインサーバーからアクセス可能なアドレス}
HTTP メソッドPOST
Content-Typeapplication/pslinkevent+jwt
リクエストボディ詳細はpslinkevent+jwt

サービスはバックエンドサーバーにこのリクエストを受け取るエンドポイントを実装する必要があります。

pslinkevent+jwt

PSLinkEvent仕様で規定されているJWTを、通知送信HTTPリクエストのリクエストボディとして送信します。

注意

署名付き値と同様に、サービスのバックエンドサーバーは、JWTの有効性を検証することで、このエンドポイントに送信されたリクエストが真にポケットサインから送信されたものかを確認する必要があります

検証を怠ると、ポケットサインとは全く関係のない第三者から、実際には発生していない架空のイベント通知を受け取り処理してしまう危険性があります。

JWTの有効性検証で用いる公開鍵

ポケットサインサーバーから公開鍵を取得します。以下のエンドポイントで取得できます。

環境名エンドポイント
モック環境https://api.core.mock.p8n.app/jwks
本番環境https://api.core.p8n.app/jwks

これらのエンドポイントは、RFC7517のJWK Set Formatで返します。

これらは、署名付き値の検証に使用される公開鍵と同一です。

レスポンス

サービスのバックエンドサーバーは、PSLinkEventを正常に受け取った場合、204 No Contentまたはレスポンスボディが空の200 OKのレスポンスを返却してください。

また、サービスのバックエンドサーバーはレスポンスを30秒以内に返却する必要があります。30秒以内に返却されなかった場合は、ポケットサインはリクエストをタイムアウトとして切断します。

200番台以外のステータスコードが返却された・リクエストがタイムアウトした場合、ポケットサインは通知の送信をリトライします。 最大5回までリトライを行い、リトライまでの時間間隔は指数バックオフアルゴリズムによって増加します。