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