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

المقدمة

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

البدء

1

Open the Webhook Section

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

Select Segment

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

Enter Write Key

قدم مفتاح كتابة Segment الخاص بك في التكوين.
4

Configure Transformation

عدل كود التحويل لتنسيق الأحداث لواجهة برمجة تطبيقات Track الخاصة بـ Segment.
5

Test & Create

اختبر باستخدام حمولات نموذجية وانقر على Create لتنشيط التزامن.
6

Done!

🎉 سيتم الآن تتبع أحداث الدفع في Segment وإرسالها إلى أدواتك المتصلة.

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

تتبع أحداث المدفوعات

track_payments.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.segment.io/v1/track";
    webhook.payload = {
      userId: p.customer.customer_id,
      event: "Payment Completed",
      properties: {
        amount: (p.total_amount / 100).toFixed(2),
        currency: p.currency || "USD",
        payment_method: p.payment_method || "unknown",
        payment_id: p.payment_id,
        customer_email: p.customer.email,
        customer_name: p.customer.name
      },
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

تتبع دورة حياة الاشتراك

track_subscriptions.js
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.url = "https://api.segment.io/v1/track";
      webhook.payload = {
        userId: s.customer.customer_id,
        event: "Subscription Started",
        properties: {
          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,
          customer_email: s.customer.email
        },
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.url = "https://api.segment.io/v1/track";
      webhook.payload = {
        userId: s.customer.customer_id,
        event: "Subscription Cancelled",
        properties: {
          subscription_id: s.subscription_id,
          product_id: s.product_id,
          cancelled_at: s.cancelled_at,
          cancel_at_next_billing: s.cancel_at_next_billing_date,
          customer_email: s.customer.email
        },
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}

تحديد خصائص العملاء

identify_customer.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.segment.io/v1/identify";
    webhook.payload = {
      userId: p.customer.customer_id,
      traits: {
        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;
}

نصائح

  • استخدم أسماء أحداث متسقة عبر تكاملك
  • قم بتضمين الخصائص ذات الصلة للتحليلات والتجزئة
  • قم بتعيين طوابع زمنية صحيحة لتتبع الأحداث بدقة
  • استخدم معرفات العملاء كـ userId للتعرف الصحيح على المستخدمين

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

  • تحقق من أن مفتاح الكتابة صحيح ونشط
  • تأكد من أن أسماء الأحداث تتبع معايير تسمية Segment
  • تأكد من ضبط userId بشكل صحيح لتحديد المستخدم
  • راجع حدود معدل واجهة برمجة تطبيقات Segment
  • تحقق من أن بنية JSON تتطابق مع تنسيق واجهة برمجة تطبيقات Segment
  • تأكد من وجود جميع الحقول المطلوبة
  • تأكد أن أسماء الأحداث سلاسل نصية، وليست كائنات