Sendgridwebhookにはsg_message_id
しかし、メール送信時のWeb APIv2の応答にはsg_message_id
。実際、success
または失敗のみを示すメッセージのみがあります。
では、送信されたメールとWebhookコールバックをどのように関連付けるのですか?
SOで過去の質問を確認しましたが、これに対する解決策は提供されていません。
ありがとうございました。
一意の引数を使用できます。一意のID(主キーなど)を取得して、メールの送信中にsendgridAPIに渡します。イベントwebhookでそれを取り戻します。
https://sendgrid.com/docs/API_Reference/SMTP_API/unique_arguments.html
[〜#〜] edit [〜#〜]:ベストプラクティスは カスタム引数 を使用しているようです(-を参照) ドキュメント )。これはドキュメントからは明らかではありません(今日の時点で)。
Web API v3では、応答に特別なヘッダーX-Message-Id
が含まれます( https://sendgrid.com/docs/Glossary/x_message_id.html を参照)。
これは、後でwebhookのsg_message_id
と一致させることができます: https://sendgrid.com/docs/Glossary/message_id.html
ドキュメントでは明確にされていませんが、X-Message-Id
ヘッダーは実際にはsg_message_id
と等しくありませんが、sg_message_id
のプレフィックスです。
例えば:
X-Message-Id = "MUvGg3V1ThOu3oe8eRqFrA"
sg_message_id = "MUvGg3V1ThOu3oe8eRqFrA.filter0001p2iad2-21183-5AF0BD9B-E.0"
電子メールを送信するWebAPIv2呼び出しは、実際には{message: "success"}応答でのみ応答しますが、その時点ではsg_message_idは生成されません。 API呼び出しの回答は、メールが処理のためにSendGridに送信されたことを確認するだけです。
メールはSendGridに送信され、そこでイベントWebhookの投稿を通じて提供されるsg_message_id値を受け取ります。