ウェブフックを使ったイベント消費
このページの内容は SaaS のみに適用されます。 POSTコールでイベントペイロードを受信するには、Webhookサーバーがいくつかのアクションを実行する必要があります。
アクションは次のとおりです。
- 指定された
Oauthトークンを検証します。- トークンが期限切れなど無効な場合は、適切な
40xレスポンスコードで応答します。 - 提供されたトークンが有効であれば、データ損失が起こりにくい方法でメッセージを保存する。 Kafkaトピック、JMSキュー、ファイルシステム、またはデータベースに書き込んで、メッセージを保存することをお勧めします。
- トークンが期限切れなど無効な場合は、適切な
- データが何らかの方法で永続化されると、200メッセージでPOST呼び出しに応答する。
Webhookサーバーを実装する際には、Webhookのレスポンスタイムに細心の注意を払う必要があります。 5秒以内に応答を受け取らないリクエストは失敗したとみなされ、再試行される。 再試行されたメッセージが何らかの理由で失敗し続ける場合、シ ステムはこれをイベント配送の失敗とみなし、ペイロードは失敗し たイベント処理キューに移動する。
トークンの有効期限が切れていることを示すエラーコード(401)でWebhookが応答した場合、有効なトークンの生成に失敗していない限り、新しいトークンの生成と使用を試みます。 その場合は、そのイベントを失敗したイベント処理キューにルーティングします。
システムは、提供されるOauthサーバーは、ウェブフックサーバーと同じ量のリクエストを受け取る規模ではない可能性が高いことを認識します。 Oauthサーバーへの呼び出し回数を減らすために、システムは有効期限が切れる約30分前にOauthトークンのリフレッシュを試みます。
トークンの有効期間は、以下の2つの方法で指定できます:
- ウェブフックがオンボードされている場合、トークンの有効期限を時間単位で指定することができます。 有効期間が変更された場合は、新しい期間でサーバーを更新する。
Oauthレスポンスの本文のexpires_inフィールドに、トークンの継続時間(秒)を含めることができます。 これにより、トークンが生成されるたびに有効期限が計算され、トークンの有効期間を変更することができます。注意:生成されるトークンは最低1時間持続させることを推奨します。