Introducción
La integración con Customer.io envía eventos de Dodo Payments a la Track API de Customer.io, de modo que los pagos y los cambios de suscripción pueden activar campañas y recorridos de clientes. Por ejemplo, un cliente nuevo puede recibir un email de bienvenida, un cambio de suscripción puede enviar una actualización y un pago fallido puede enviar una notificación.Esta integración requiere tu Customer.io Site ID y API key. La Track API usa autenticación HTTP Basic, con el Site ID como nombre de usuario y la API key como contraseña.
Comenzando
1
Open the Webhook Section
En el dashboard de Dodo Payments, ve a Developer → Webhooks y haz clic en Add endpoint.

2
Select Customer.io
En Integration, selecciona CustomerIO.
3
Enter Credentials
En API key, pega tu API key de Customer.io. Dodo Payments envía la clave en el encabezado
Authorization como bearer token.La Track API espera autenticación Basic. Si las entregas fallan con un 401, abre la pestaña Advanced del endpoint y reemplaza el encabezado Authorization por Basic seguido de la codificación Base64 de site_id:api_key.4
Select Events
En Subscribed events, selecciona los eventos que gestiona tu transformación. Los ejemplos de esta página usan
payment.succeeded, subscription.active y subscription.cancelled.5
Configure Transformation
En Transformation code, edita el handler para dar formato a los eventos para la Track API de Customer.io. Empieza con los ejemplos.
6
Test & Create
En Test this code, haz clic en Simulate para ejecutar el handler con un payload de ejemplo. Después, haz clic en Create endpoint.
7
Done
Los eventos suscritos ahora llegan a Customer.io, donde pueden activar tus automatizaciones de email.
Ejemplos de código de transformación
Cada handler envía una solicitud al endpoint Track API v2entity e identifica a la persona mediante su customer_id de Dodo Payments. Para registrar un evento, la solicitud establece action en event e incluye el nombre del evento en name. Para actualizar los atributos de una persona, establece action en identify. 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.
Registrar eventos de pago
Registra un eventopayment_completed cuando un pago se realiza correctamente:
track_payments.js
Registrar el ciclo de vida de una suscripción
Registra un eventosubscription_started cuando una suscripción pasa a estar activa y un evento subscription_cancelled cuando se cancela:
track_subscriptions.js
Registrar atributos del cliente
Actualiza los atributos del perfil de la persona cuando un pago se realiza correctamente. Cada solicitudidentify sobrescribe los atributos que envía, por lo que last_payment_amount e last_payment_date siempre contienen el pago más reciente.
track_attributes.js
Consejos
- Usa los mismos nombres de eventos en la transformación y en los activadores de tus campañas de Customer.io, por ejemplo
payment_completed. Elige nombres que describan lo ocurrido. - Incluye los atributos que usan tus mensajes para la personalización.
- Identifica a cada persona con el mismo ID en cada solicitud. Los ejemplos usan el
customer_idde Dodo Payments. - Consulta cada campo de solicitud en la referencia de Customer.io Track API.
Solución de problemas
Events Not Triggering Campaigns
Events Not Triggering Campaigns
- Verifica que el Site ID y la API key sean correctos.
- Si las entregas fallan con un
401, establece el encabezadoAuthorizationen autenticación Basic, como se describe en Primeros pasos. - Comprueba que los nombres de los eventos coincidan con los activadores de tus campañas de Customer.io.
- Comprueba que los identificadores de cliente estén establecidos.
- Revisa los límites de velocidad de la API de Customer.io.
Transformation Errors
Transformation Errors
- Comprueba que el payload coincida con el formato de la API de Customer.io.
- Comprueba que todos los campos obligatorios estén presentes y que
actionsea una acción compatible con la Track API, comoeventoidentify. - Comprueba que los nombres de los eventos y los atributos tengan el formato correcto.