SMSHookの理解

SMSHookは、顧客が送信状況の更新を受け取るためのチャネルです。ユーザーがEngageLabにメールリクエストを送信した後、EngageLabは「リクエスト結果」を同期的にユーザーに返し、メールの「送信結果」および「その他のイベント結果」はSMSHookを介して非同期的にユーザーに返されます。

SMSHookのメカニズム

  • EngageLabは顧客に複数のメールイベントを提供し、顧客は特定のイベントを監視することを選択できます。
  • イベントが発生すると、EngageLabは顧客が設定したURLにデータ(POST)を送信します。
  • EngageLabがプッシュするデータタイプ: "Content-Type: application/json"。
  • 顧客はデータを受信し、イベントとデータを解析し、3秒以内にHTTPステータスコード200を返す必要があります。そうでない場合、EngageLabはメッセージを再送します。

使用方法

  • ユーザーは対応するイベントを処理する独自のHTTPサービスを作成し、関連データを解析し、対応するURLを公開します。
  • ユーザーは監視したいイベントを選択し、EngageLabのSMSHookでデータを受信するためのURLを設定します。

署名検証

メッセージの送信元がEngageLabであることを確認するために、POSTデータの送信元に対してセキュリティ認証を行うことができます。(認証を行わずに直接POSTデータを解析することも可能です。) セキュリティ認証の方法は以下の通りです:

  • 【送信設定】-【SMSHook】からAPP SECRETを取得します。
  • ヘッダーからX-SMSHook-Timestampを解析します。
  • ヘッダーからX-SMSHook-AppKeyを解析します。
  • ヘッダーからX-SMSHook-Signatureを解析します。
  • md5(timestamp+appkey+secret)を使用して署名signatureを生成し、それをX-SMSHook-Signatureと比較します。

応答メカニズム

開発者のサービスがEngageLabからのコールバックを受信した後、以下の要件に従って3秒以内に応答する必要があります:

正常に受信した場合: HTTPレスポンスステータスコードは200または204を返し、応答メッセージは不要です。

受信に失敗した場合: HTTPレスポンスステータスコードは5XXまたは4XXを返し、以下の形式で応答メッセージを返す必要があります:

{"code": 2002, "message": "Failure"}

フィールド タイプ 必須/任意 説明
code int 任意 エラーコード
message string 任意 詳細なエラーメッセージ

再試行メカニズム

URLアクセスエラーやタイムアウトが発生した場合、EngageLabは最大7回再試行します。再試行間隔は3分、10分、30分、1時間、6時間、12時間、24時間です。これにより、メッセージが失われる前にURLを修正する十分な時間が確保されます。

再試行制限を超えた場合、EngageLabはメッセージを破棄します。

各イベントの処理とデータ解析について、3秒以内に「正常に受信した応答」を返す必要があります。そうでない場合、EngageLabはメッセージを再送します。

icon
お問い合わせ