event webhooks sendgrid

webhooks - sendgrid event status



¿Cómo asociar sendgrid webhook sg_message_id al correo enviado? (3)

Sendgrid webhook tiene sg_message_id Pero la respuesta de Web API v2 al enviar correo no tiene sg_message_id . De hecho, solo hay un mensaje que muestra solo el success o el fracaso.

Entonces, ¿cómo asocio el correo enviado y la devolución de llamada de webhook?

He comprobado las preguntas anteriores en SO, pero no proporciona la solución para esto.

Gracias.


La llamada Web APIv2 que envía el correo electrónico solo responde con una respuesta {message: "success"} , pero el sg_message_id no se genera en ese momento. La respuesta de la llamada a la API simplemente reconoce que el correo electrónico se envió a SendGrid para su procesamiento.

El correo electrónico se envía a SendGrid y allí recibe el valor sg_message_id que se proporciona a través de las publicaciones de Event Webhook.



EDITAR : la mejor práctica parece ser el uso de argumentos personalizados (consulte la documentation ). Lo que no se desprende de la documentación (a partir de hoy).

En Web API v3, la respuesta incluye un encabezado especial X-Message-Id (consulte https://sendgrid.com/docs/Glossary/x_message_id.html ).

Esto se puede hacer coincidir posteriormente con sg_message_id en webhook: https://sendgrid.com/docs/Glossary/message_id.html

La documentación no lo aclara, pero el encabezado X-Message-Id realidad no es igual a sg_message_id , pero es un prefijo de sg_message_id .

Por ejemplo:

  • X-Message-Id = "MUvGg3V1ThOu3oe8eRqFrA"
  • sg_message_id = "MUvGg3V1ThOu3oe8eRqFrA.filter0001p2iad2-21183-5AF0BD9B-E.0"