المقدمة
إرسال رسائل البريد الإلكتروني المعاملات وإدارة اتصالات العملاء تلقائيًا عند حدوث أحداث الدفع. تسليم تأكيدات الدفع، وتحديثات الاشتراك، والإشعارات المهمة من خلال بنية البريد الإلكتروني للحلقات.
تتطلب هذه التكامل مفتاح API الخاص بك للحلقات للمصادقة.
البدء
فتح قسم الويب هوك
في لوحة معلومات مدفوعات دودو، انتقل إلى الويب هوكس → + إضافة نقطة نهاية وقم بتوسيع قائمة التكاملات.
اختيار الحلقات
اختر بطاقة تكامل الحلقات .
إدخال مفتاح API
قدم مفتاح API الخاص بك للحلقات في الإعدادات.
تكوين التحويل
قم بتحرير كود التحويل لتنسيق رسائل البريد الإلكتروني لواجهة برمجة التطبيقات الخاصة بالحلقات.
اختبار وإنشاء
اختبر باستخدام حمولات نموذجية وانقر على إنشاء لتفعيل إرسال البريد الإلكتروني.
تم!
🎉 ستؤدي أحداث الدفع الآن تلقائيًا إلى إرسال رسائل البريد الإلكتروني المعاملات عبر الحلقات.
أمثلة كود التحويل
رسالة تأكيد الدفع
function handler ( webhook ) {
if ( webhook . eventType === "payment.succeeded" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_confirmation" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
currency: p . currency || "USD" ,
payment_method: p . payment_method || "unknown" ,
payment_date: new Date ( webhook . payload . timestamp ). toLocaleDateString ()
}
};
}
return webhook ;
}
See all 19 lines
رسالة ترحيب الاشتراك
function handler ( webhook ) {
if ( webhook . eventType === "subscription.active" ) {
const s = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "subscription_welcome" ,
email: s . customer . email ,
properties: {
customer_name: s . customer . name ,
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
}
};
}
return webhook ;
}
See all 19 lines
إشعار فشل الدفع
function handler ( webhook ) {
if ( webhook . eventType === "payment.failed" ) {
const p = webhook . payload . data ;
webhook . url = "https://api.loops.so/v1/events/send" ;
webhook . payload = {
eventName: "payment_failed" ,
email: p . customer . email ,
properties: {
customer_name: p . customer . name ,
payment_id: p . payment_id ,
amount: ( p . total_amount / 100 ). toFixed ( 2 ),
error_message: p . error_message || "Payment processing failed" ,
retry_link: `https://yourdomain.com/retry-payment/ ${ p . payment_id } `
}
};
}
return webhook ;
}
See all 18 lines
نصائح
استخدم أسماء أحداث وصفية لتحسين تنظيم قوالب البريد الإلكتروني
تضمين خصائص العملاء ذات الصلة للتخصيص
إعداد قوالب البريد الإلكتروني في لوحة معلومات الحلقات لكل حدث
استخدام تسمية خصائص متسقة عبر الأحداث
اختبار تسليم البريد الإلكتروني قبل الذهاب للعرض
استكشاف الأخطاء وإصلاحها
عدم إرسال الرسائل الإلكترونية
تحقق من أن مفتاح API صحيح ونشط
تحقق من أن أسماء الأحداث تتطابق مع قوالب الحلقات الخاصة بك
تأكد من أن عناوين البريد الإلكتروني للمستلمين صالحة
مراجعة حدود وإجراءات إرسال الحلقات
تحقق من أن هيكل JSON يتطابق مع تنسيق واجهة برمجة التطبيقات للحلقات
تحقق من أن جميع الحقول المطلوبة موجودة
تأكد من أن أسماء الأحداث منسقة بشكل صحيح
تحقق من أذونات مفتاح API