Introduction
Déclenchez des campagnes d’e-mails personnalisées et des parcours clients basés sur des événements de paiement. Envoyez automatiquement des e-mails de bienvenue pour les nouveaux clients, des mises à jour d’abonnement et des notifications d’échec de paiement via Customer.io.
Cette intégration nécessite votre ID de site Customer.io et votre clé API.
Prise en main
Open the Webhook Section
Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Add Endpoint et développez le menu déroulant des intégrations.
Select Customer.io
Choisissez la carte d’intégration Customer.io .
Enter Credentials
Indiquez votre ID de site Customer.io et votre clé API dans la configuration.
Configure Transformation
Modifiez le code de transformation pour formater les événements pour l’API Track de Customer.io.
Test & Create
Testez avec des charges utiles d’exemple et cliquez sur Create pour activer la synchronisation.
Done!
🎉 Les événements de paiement déclencheront désormais les automatisations par e-mail de Customer.io.
Suivre les événements de paiement
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
Suivre le cycle de vie de l’abonnement
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
Suivre les attributs des clients
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
Conseils
Utilisez des noms d’événements cohérents qui correspondent à vos campagnes Customer.io
Incluez des attributs pertinents pour la personnalisation
Définissez des identifiants clients appropriés pour un suivi précis
Utilisez des noms d’événements significatifs pour les déclencheurs de campagne
Dépannage
Events not triggering campaigns
Vérifiez que l’ID de site et la clé API sont corrects
Vérifiez que les noms d’événements correspondent à vos campagnes Customer.io
Assurez-vous que les identifiants clients sont correctement définis
Passez en revue les limites de taux de l’API Customer.io