Introdução
Acione campanhas de e-mail personalizadas e jornadas do cliente com base em eventos de pagamento. Envie e-mails de boas-vindas para novos clientes, atualizações de assinatura e notificações de falha de pagamento automaticamente através do Customer.io.
Esta integração exige seu Site ID e API Key do Customer.io.
Começando
Open the Webhook Section
No painel do Dodo Payments, navegue até Webhooks → + Add Endpoint e expanda o menu suspenso de integrações.
Select Customer.io
Escolha o cartão de integração Customer.io .
Enter Credentials
Forneça seu Site ID e API Key do Customer.io na configuração.
Configure Transformation
Edite o código de transformação para formatar eventos para a Track API do Customer.io.
Test & Create
Teste com cargas úteis de exemplo e clique em Create para ativar a sincronização.
Done!
🎉 Os eventos de pagamento agora acionarão automações de e-mail do Customer.io.
Rastrear Eventos de Pagamento
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 Ciclo de Vida da Assinatura
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 do 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
Dicas
Use nomes de eventos consistentes que correspondam às suas campanhas do Customer.io
Inclua atributos relevantes para personalização
Defina identificadores de clientes adequados para rastreamento preciso
Use nomes de eventos significativos para acionadores de campanha
Solução de Problemas
Events not triggering campaigns
Verifique se Site ID e API Key estão corretos
Verifique se os nomes dos eventos correspondem às suas campanhas do Customer.io
Garanta que os identificadores dos clientes estejam corretamente configurados
Revise os limites de taxa da API do Customer.io