WebHookの理解

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

WebHookの仕組み

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

使用方法

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

署名検証

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

セキュリティ認証方法は以下の通りです:

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

応答メカニズム

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

受信成功: HTTP応答ステータスコードは200または204を返し、応答メッセージは不要です。

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

{"code":2002,“message”:"failed"}
              
              {"code"2002,“message”:"failed"}

            
このコードブロックはフローティングウィンドウ内に表示されます
フィールド タイプ 必須/任意 説明
code int 任意 エラーコード
message string 任意 詳細なエラー情報

再試行メカニズム

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

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

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

icon
お問い合わせ