الانتقال إلى المحتوى الرئيسي

المقدمة

إرسال رسائل البريد الإلكتروني المعاملات وإدارة اتصالات العملاء تلقائيًا عند حدوث أحداث الدفع. تسليم تأكيدات الدفع، وتحديثات الاشتراك، والإشعارات المهمة من خلال بنية البريد الإلكتروني للحلقات.
يتطلب هذا التكامل مفتاح API الخاص بـ Loops للمصادقة.

البدء

1

Open the Webhook Section

في لوحة تحكم Dodo Payments، انتقل إلى Webhooks → + Add Endpoint وافتح قائمة التكاملات المنسدلة.
Add Endpoint and integrations dropdown
2

Select Loops

اختر بطاقة التكامل Loops.
3

Enter API Key

قدّم مفتاح API الخاص بـ Loops في التكوين.
4

Configure Transformation

حرّر كود التحويل لتنسيق رسائل البريد الإلكتروني لواجهة Loops البرمجية.
5

Test & Create

اختبر باستخدام بيانات تجريبية ثم اضغط على Create لتفعيل إرسال البريد الإلكتروني.
6

Done!

🎉 ستؤدي أحداث الدفع الآن إلى تشغيل رسائل بريد إلكتروني تداولية تلقائيًا عبر Loops.

أمثلة كود التحويل

رسالة تأكيد الدفع

payment_confirmation.js
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;
}

رسالة ترحيب الاشتراك

subscription_welcome.js
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;
}

إشعار فشل الدفع

payment_failure.js
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;
}

نصائح

  • استخدم أسماء أحداث وصفية لتحسين تنظيم قوالب البريد الإلكتروني
  • تضمين خصائص العملاء ذات الصلة للتخصيص
  • إعداد قوالب البريد الإلكتروني في لوحة معلومات الحلقات لكل حدث
  • استخدام تسمية خصائص متسقة عبر الأحداث
  • اختبار تسليم البريد الإلكتروني قبل الذهاب للعرض

استكشاف الأخطاء وإصلاحها

  • تأكد من أن مفتاح API صحيح ونشط
  • تحقق من أن أسماء الأحداث تطابق قوالب Loops الخاصة بك
  • تأكد من أن عناوين البريد الإلكتروني للمستلمين صالحة
  • راجع حدود الإرسال والحصص الخاصة بـ Loops
  • تحقق من أن بنية JSON تطابق تنسيق واجهة Loops البرمجية
  • تأكد من وجود جميع الحقول المطلوبة
  • تأكد من تنسيق أسماء الأحداث بشكل صحيح
  • تحقق من أذونات مفتاح API