Skip to main content

Introducción

La integración con SendGrid envía un correo electrónico transaccional mediante la API Mail Send de SendGrid cuando se produce un evento de Dodo Payments. Cada correo utiliza una de tus plantillas dinámicas de SendGrid, completada con datos del evento, para que puedas confirmar pagos, dar la bienvenida a nuevos suscriptores y hacer seguimiento de pagos fallidos.
Esta integración requiere una clave de API de SendGrid con el permiso Mail Send, un remitente verificado en SendGrid y una plantilla dinámica para cada correo que envíes. También necesitas acceso a Developer → Webhooks en el panel de Dodo Payments.

Comenzando

1

Open the Webhook Section

En el dashboard de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.
Diálogo Add endpoint con SendGrid seleccionado en el menú desplegable Integration y los pasos de How to connect SendGrid
2

Select SendGrid

En Integration, selecciona SendGrid. El panel completa Endpoint URL y el código de transformación para SendGrid, y el panel How to connect SendGrid muestra los pasos de configuración.
3

Enter API Key

En SendGrid, ve a Settings → API Keys y haz clic en Create API Key. Elige Restricted Access con el permiso Mail Send, o Full Access. SendGrid muestra la clave, que comienza con SG., una sola vez. Pégala en API key. Dodo Payments la envía como un token bearer en el encabezado Authorization de cada solicitud a SendGrid.
4

Select Events

En Subscribed events, selecciona solo los eventos que gestione tu transformación. Un evento que la transformación deja sin cambios llega a SendGrid en el formato de Dodo Payments, y SendGrid lo rechaza.
5

Configure Transformation

En Transformation code, edita el controlador para dar formato a los correos para la API Mail Send de SendGrid. Comienza con los ejemplos y reemplaza cada template_id con el ID de tu propia plantilla dinámica, que comienza con d-.
6

Test & Create

En Test this code, selecciona un tipo de evento y haz clic en Simulate para previsualizar la solicitud a SendGrid. Después, haz clic en Create endpoint.
7

Done

Dodo Payments ahora envía un correo mediante SendGrid por cada evento suscrito. Para ver cada entrega y la respuesta de SendGrid, abre la pestaña Logs en Developer → Webhooks.

Ejemplos de código de transformación

Cada controlador establece webhook.url en el endpoint de Mail Send y pasa los datos del evento a una plantilla dinámica mediante dynamic_template_data. Los importes de Dodo Payments están expresados en la unidad monetaria más pequeña, por lo que los ejemplos los dividen entre 100. Para monedas sin decimales, como JPY y KRW, utiliza el importe tal cual.

Correo de confirmación de pago

Envía un recibo cuando un pago se complete correctamente (payment.succeeded):
payment_confirmation.js

Correo de bienvenida de suscripción

Da la bienvenida a un cliente cuando una suscripción pasa a estar activa (subscription.active):
subscription_welcome.js

Notificación de pago fallido

Pide al cliente que vuelva a intentarlo cuando falle un pago (payment.failed):
payment_failure.js

Consejos

  • Utiliza plantillas dinámicas de SendGrid para personalizar el contenido.
  • Pasa los datos de pago que necesita tu plantilla en dynamic_template_data.
  • Establece una dirección from que coincida con un remitente verificado y un remitente name.
  • Reutiliza los ID de las plantillas para que los correos del mismo tipo mantengan el mismo formato.
  • Incluye un enlace para cancelar la suscripción en cualquier correo que contenga contenido de marketing.
  • Para omitir un evento en el código, establece webhook.cancel = true antes de devolver el webhook. Los registros indican que una entrega omitida se realizó correctamente.

Solución de problemas

  • Comprueba que la clave de API tenga el permiso Mail Send. Para reemplazarla, edita el endpoint y pega una clave nueva en API key.
  • Comprueba que cada template_id pertenezca a una plantilla dinámica activa.
  • Comprueba que las direcciones de correo de los destinatarios sean válidas.
  • Comprueba los límites y las cuotas de envío de SendGrid correspondientes a tu plan.
  • Abre la pestaña Logs en Developer → Webhooks y lee la respuesta de SendGrid a la entrega fallida.
  • Comprueba que el payload coincida con el formato Mail Send de SendGrid.
  • Comprueba que estén presentes todos los campos obligatorios: personalizations con al menos una dirección to y from.
  • Comprueba que las claves de dynamic_template_data coincidan con las variables de tu plantilla, como {{customer_name}}.
  • Comprueba que cada dirección from esté verificada en SendGrid.
Última modificación el 26 de septiembre de 2026