Introduktion
Utlösa personliga e-postkampanjer och kundresor baserat på betalningshändelser. Skicka välkomstmejl till nya kunder, abonnemangsuppdateringar och meddelanden om betalningsfel automatiskt via Customer.io.
Denna integration kräver ditt Customer.io Site ID och API-nyckel.
Komma igång
Open the Webhook Section
I din Dodo Payments-instrumentpanel navigerar du till Webhooks → + Add Endpoint och öppnar rullgardinsmenyn för integrationer.
Select Customer.io
Välj integrationskortet Customer.io .
Enter Credentials
Ange ditt Customer.io Site ID och API-nyckel i konfigurationen.
Configure Transformation
Redigera transformeringen för att formatera händelser för Customer.io:s Track API.
Test & Create
Testa med exempeldata och klicka på Create för att aktivera synkroniseringen.
Done!
🎉 Betalningshändelser kommer nu att trigga e-postautomatiseringar i Customer.io.
Spåra betalningshändelser
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
Spåra abonnemangets livscykel
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
Spåra kundattribut
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
Tips
Använd konsekventa händelsenamn som matchar dina Customer.io-kampanjer
Inkludera relevanta attribut för personalisering
Sätt korrekta kundidentifierare för noggrann spårning
Använd meningsfulla händelsenamn för kampanjuppmaningar
Felsökning
Events not triggering campaigns
Kontrollera att Site ID och API-nyckel är korrekta
Kontrollera att händelsenamn matchar dina Customer.io-kampanjer
Säkerställ att kundidentifierare är korrekt inställda
Gå igenom Customer.io:s API-begränsningar