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

المقدمة

تتيح لك تكامل AutoSend وDodo Payments إرسال إشعارات بريد إلكتروني تلقائية في الوقت الفعلي لجميع أحداث الدفع، من المعاملات الناجحة إلى المحاولات الفاشلة وتأكيدات المبالغ المستردة. أرسل رسائل بريد إلكتروني معاملات لأحداث الدفع باستخدام واجهة برمجة تطبيقات البريد الإلكتروني القوية من AutoSend.
يتطلب هذا التكامل مفتاح AutoSend لواجهة برمجة التطبيقات للمصادقة. يمكنك العثور على مفتاح API الخاص بك في لوحة تحكم AutoSend ضمن الإعدادات > مفاتيح API.

البدء

اتبع هذه الخطوات لتكامل AutoSend مع Dodo Payments:
1

Open Webhook Section

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

Select AutoSend Integration

اختر AutoSend من قائمة التكاملات المتاحة.
3

Enter API Key

قدِّم مفتاح AutoSend لواجهة برمجة التطبيقات للمصادقة. يمكنك العثور على مفتاح API الخاص بك في لوحة تحكم AutoSend ضمن الإعدادات > مفاتيح API.

Learn how to create and manage API keys

تفضل بزيارة وثائق AutoSend للحصول على تعليمات مفصلة حول إنشاء وإدارة مفاتيح API.
4

Configure Transformation

أعد إعداد معالجات التحويل في JavaScript لتخصيص محتوى البريد الإلكتروني استنادًا إلى أحداث الدفع.
5

Test & Create

اختبر تكوين الويب هوك للتأكد من إرسال الرسائل الإلكترونية بشكل صحيح، ثم أنشئ التكامل.
6

Activation Complete

🎉 أصبح تكامل AutoSend نشطًا الآن وسيقوم بإرسال الرسائل الإلكترونية تلقائيًا للأحداث المدفوعة المُكوَّنة.

أمثلة على الكود

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

أرسل رسالة تأكيد عند معالجة الدفع بنجاح:
payment_confirmation.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "payments@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Payment Successful - Thank you for your purchase!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        paymentId: p.payment_id,
        paymentDate: new Date(p.created_at).toLocaleDateString(),
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}

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

أرسل رسالة ترحيب عند إنشاء اشتراك جديد:
subscription_welcome.js
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: s.customer.email,
        name: s.customer.name,
      },
      from: {
        email: "subscriptions@mail.yourdomain.com",
        name: "Your Company",
      },
      subject: "Welcome to your subscription!",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: s.customer.name,
        planName: s.plan.name,
        billingInterval: s.billing_interval,
        nextBillingDate: new Date(s.next_billing_at).toLocaleDateString(),
        subscriptionId: s.subscription_id,
      },
      replyTo: {
        email: "support@yourdomain.com",
        name: "Support Team",
      },
    };
  }
  return webhook;
}

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

أرسل رسالة إشعار عند فشل الدفع:
payment_failure.js
function handler(webhook) {
  if (webhook.eventType === "payment.failed") {
    const p = webhook.payload.data;
    webhook.url = "https://api.autosend.com/v1/mails/send";
    webhook.payload = {
      to: {
        email: p.customer.email,
        name: p.customer.name,
      },
      from: {
        email: "billing@mail.yourdomain.com",
        name: "Your Company Billing",
      },
      subject: "Payment Failed - Action Required",
      templateId: "A-61522f2xxxxxxxxx",
      dynamicData: {
        customerName: p.customer.name,
        amount: p.amount,
        currency: p.currency,
        failureReason: p.failure_reason,
        paymentId: p.payment_id,
        retryUrl: `https://yourdomain.com/billing/retry/${p.payment_id}`,
      },
      replyTo: {
        email: "billing@yourdomain.com",
        name: "Billing Support",
      },
    };
  }
  return webhook;
}

أفضل الممارسات

  • تحقق من نطاق المرسل الخاص بك: تأكد من أن نطاق البريد الإلكتروني المرسل الخاص بك تم التحقق منه في AutoSend لتحسين إمكانية التسليم وتجنب مشكلات المصادقة. تساعد النطاقات الموثقة في منع رسائل البريد الإلكتروني من الهبوط في مجلدات البريد العشوائي.
  • استخدام البيانات الديناميكية للتخصيص: استخدم الحقل dynamicData لتخصيص الرسائل الإلكترونية بمعلومات مخصصة للعميل مثل الأسماء، مبالغ المدفوعات، وتفاصيل الاشتراك. الرسائل المخصصة تحقق معدلات تفاعل أعلى.
  • اكتب عناوين واضحة: اكتب عناوين وصفية تشير بوضوح إلى غرض البريد الإلكتروني. تجنب كلمات تحفيز البريد العشوائي واحتفظ بالعناوين مختصرة (أقل من 50 حرفًا).
  • اختبر قبل الإنتاج: اختبر دائمًا رسائل البريد الإلكتروني الخاصة بك قبل إرسالها في الإنتاج. يضمن ذلك أن محتوى البريد الإلكتروني يظهر بشكل صحيح وأن جميع البيانات الديناميكية تم تعيينها بشكل صحيح.

مرجع API

للحصول على تفاصيل كاملة حول واجهة برمجة تطبيقات AutoSend، بما في ذلك جميع المعلمات المتاحة وأكواد الأخطاء، قم بزيارة وثائق واجهة برمجة تطبيقات AutoSend.

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

  • تحقق من أن مفتاح API صحيح ونشط
  • تأكد من أن نطاق المرسل تم التحقق منه في AutoSend
  • تأكد من أن عناوين البريد الإلكتروني للمستلمين صالحة
  • راجع حدود إرسال AutoSend والحصص
  • تحقق من أن عنوان URL لنقطة نهاية API صحيح: https://api.autosend.com/v1/mails/send
  • تأكد من وجود المعلمات المطلوبة في الحمولة
  • تحقق من تطابق هيكل JSON مع تنسيق واجهة برمجة تطبيقات AutoSend
  • تأكد من وجود جميع الحقول المطلوبة (to، from، templateId أو html/text)
  • تأكد من تنسيق عناوين البريد الإلكتروني بشكل صحيح
  • تحقق من أن templateId صالح إذا كنت تستخدم القوالب
  • تأكد من أن مفاتيح dynamicData تتطابق مع متغيرات القالب الخاصة بك
  • تحقق من أن معرف القالب الخاص بك صحيح ونشط في AutoSend
  • تأكد من أن مفاتيح dynamicData تطابق المتغيرات المستخدمة في القالب
  • تأكد من توفير جميع متغيرات القالب المطلوبة
  • اختبر القالب بشكل مستقل في لوحة تحكم AutoSend