Introducción
Activa campañas de correo electrónico personalizadas y recorridos de clientes basados en eventos de pago. Envía correos electrónicos de bienvenida para nuevos clientes, actualizaciones de suscripción y notificaciones de fallos de pago automáticamente a través de Customer.io.
Esta integración requiere tu ID de sitio de Customer.io y la clave API.
Comenzando
Abre la sección de Webhook
En tu panel de Dodo Payments, navega a Webhooks → + Agregar Endpoint y expande el menú desplegable de integraciones.
Selecciona Customer.io
Elige la tarjeta de integración Customer.io .
Ingresa Credenciales
Proporciona tu ID de sitio de Customer.io y la clave API en la configuración.
Configura la Transformación
Edita el código de transformación para formatear eventos para la API Track de Customer.io.
Prueba y Crea
Prueba con cargas útiles de muestra y haz clic en Crear para activar la sincronización.
¡Listo!
🎉 Los eventos de pago ahora activarán las automatizaciones de correo electrónico de Customer.io.
Rastrear Eventos de Pago
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: p . customer . customer_id
},
action: "payment_completed" ,
name: "Payment Completed" ,
attributes: {
email: p . customer . email ,
name: p . customer . name ,
payment_amount: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_method: p . payment_method || "unknown" ,
payment_id: p . payment_id ,
currency: p . currency || "USD"
}
};
}
return webhook ;
}
See all 23 lines
Rastrear el Ciclo de Vida de la Suscripción
function handler ( webhook ) {
const s = webhook . payload . data ;
switch ( webhook . eventType ) {
case "subscription.active" :
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: s . customer . customer_id
},
action: "subscription_started" ,
name: "Subscription Started" ,
attributes: {
email: s . customer . email ,
subscription_id: s . subscription_id ,
product_id: s . product_id ,
amount: ( s . recurring_pre_tax_amount / 100 ). toFixed ( 2 ),
frequency: s . payment_frequency_interval ,
next_billing: s . next_billing_date
}
};
break ;
case "subscription.cancelled" :
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: s . customer . customer_id
},
action: "subscription_cancelled" ,
name: "Subscription Cancelled" ,
attributes: {
email: s . customer . email ,
subscription_id: s . subscription_id ,
cancelled_at: s . cancelled_at ,
cancel_at_next_billing: s . cancel_at_next_billing_date
}
};
break ;
}
return webhook ;
}
See all 42 lines
Rastrear Atributos del Cliente
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://track.customer.io/api/v2/entity" ;
webhook . payload = {
type: "person" ,
identifiers: {
id: p . customer . customer_id
},
action: "identify" ,
name: "Customer Identified" ,
attributes: {
email: p . customer . email ,
name: p . customer . name ,
total_spent: ( p . total_amount / 100 ). toFixed ( 2 ),
payment_method: p . payment_method || "unknown" ,
last_payment_date: webhook . payload . timestamp ,
customer_since: webhook . payload . timestamp
}
};
}
return webhook ;
}
See all 23 lines
Consejos
Usa nombres de eventos consistentes que coincidan con tus campañas de Customer.io
Incluye atributos relevantes para la personalización
Establece identificadores de cliente adecuados para un seguimiento preciso
Usa nombres de eventos significativos para los disparadores de campaña
Solución de Problemas
Eventos que no activan campañas
Verifica que el ID de sitio y la clave API sean correctos
Asegúrate de que los nombres de los eventos coincidan con tus campañas de Customer.io
Asegúrate de que los identificadores de cliente estén configurados correctamente
Revisa los límites de tasa de la API de Customer.io
Errores de transformación