المقدمة
قم بتفعيل حملات البريد الإلكتروني المخصصة ورحلات العملاء بناءً على أحداث الدفع. أرسل رسائل ترحيب للعملاء الجدد، وتحديثات الاشتراك، وإشعارات فشل الدفع تلقائيًا من خلال Customer.io.
تتطلب هذه التكاملية معرف موقع Customer.io ومفتاح واجهة برمجة التطبيقات.
البدء
Open the Webhook Section
في لوحة تحكم Dodo Payments الخاصة بك، انتقل إلى Webhooks → + Add Endpoint وافتح القائمة المنسدلة للتكاملات.
Select Customer.io
اختر بطاقة التكامل Customer.io .
Enter Credentials
أدخل معرف موقع Customer.io ومفتاح واجهة برمجة التطبيقات في التكوين.
Configure Transformation
حرر كود التحويل لتنسيق الأحداث وفقًا لواجهة Track API الخاصة بـ Customer.io.
Test & Create
اختبر باستخدام حمولة عينة ثم انقر Create لتفعيل المزامنة.
Done!
🎉 ستؤدي أحداث الدفع الآن إلى تشغيل أتمتة البريد الإلكتروني في Customer.io.
أمثلة على كود التحويل
تتبع أحداث الدفع
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
تتبع دورة حياة الاشتراك
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
تتبع سمات العملاء
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
نصائح
استخدم أسماء أحداث متسقة تتطابق مع حملات Customer.io الخاصة بك
قم بتضمين سمات ذات صلة للتخصيص
قم بتعيين معرفات العملاء بشكل صحيح للتتبع الدقيق
استخدم أسماء أحداث ذات معنى لتفعيل الحملات
استكشاف الأخطاء وإصلاحها
Events not triggering campaigns
تأكد من صحة معرف الموقع ومفتاح واجهة برمجة التطبيقات
تحقق من تطابق أسماء الأحداث مع حملات Customer.io الخاصة بك
تأكد من تعيين معرفات العملاء بشكل صحيح
راجع حدود معدل واجهة برمجة تطبيقات Customer.io