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

المقدمة

قم بمزامنة بيانات الدفع الخاصة بك مباشرةً إلى HubSpot CRM. أنشئ جهات اتصال من المدفوعات الناجحة، وتتبع دورة حياة الاشتراك، وابنِ ملفات تعريف شاملة للعملاء - كل ذلك يتم تشغيله تلقائيًا بواسطة أحداث مدفوعات Dodo.
تتطلب هذه التكاملات الوصول كمسؤول في HubSpot لتكوين نطاقات OAuth وأذونات API.

البدء

1

افتح قسم Webhook

في لوحة معلومات مدفوعات Dodo، انتقل إلى Webhooks → + إضافة نقطة نهاية وقم بتوسيع قائمة التكاملات المنسدلة.
إضافة نقطة نهاية وقائمة التكاملات المنسدلة
2

اختر HubSpot

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

اتصل بـ HubSpot

انقر على الاتصال بـ HubSpot ووافق على نطاقات OAuth المطلوبة.
4

تكوين التحويل

قم بتحرير كود التحويل لربط بيانات الدفع بأشياء HubSpot CRM.
5

اختبر وأنشئ

اختبر باستخدام حمولات عينة وانقر على إنشاء لتفعيل المزامنة.
6

تم!

🎉 ستقوم أحداث الدفع الآن بإنشاء/تحديث السجلات تلقائيًا في HubSpot CRM الخاص بك.

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

إنشاء جهة اتصال من الدفع

create_contact.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.hubapi.com/crm/v3/objects/contacts";
    webhook.payload = {
      properties: {
        email: p.customer.email,
        firstname: p.customer.name.split(' ')[0] || '',
        lastname: p.customer.name.split(' ').slice(1).join(' ') || '',
        phone: p.customer.phone || '',
        company: p.customer.company || '',
        amount: (p.total_amount / 100).toString(),
        payment_method: p.payment_method || '',
        currency: p.currency || 'USD'
      }
    };
  }
  return webhook;
}

تحديث جهة الاتصال مع الاشتراك

update_contact.js
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = `https://api.hubapi.com/crm/v3/objects/contacts/${s.customer.customer_id}`;
    webhook.method = "PATCH";
    webhook.payload = {
      properties: {
        subscription_status: "active",
        subscription_amount: (s.recurring_pre_tax_amount / 100).toString(),
        subscription_frequency: s.payment_frequency_interval,
        next_billing_date: s.next_billing_date,
        product_id: s.product_id
      }
    };
  }
  return webhook;
}

إنشاء صفقة من الدفع

create_deal.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://api.hubapi.com/crm/v3/objects/deals";
    webhook.payload = {
      properties: {
        dealname: `Payment - ${p.customer.email}`,
        amount: (p.total_amount / 100).toString(),
        dealstage: "closedwon",
        closedate: new Date().toISOString(),
        hs_currency: p.currency || "USD"
      },
      associations: [
        {
          to: {
            id: p.customer.customer_id
          },
          types: [
            {
              associationCategory: "HUBSPOT_DEFINED",
              associationTypeId: 3
            }
          ]
        }
      ]
    };
  }
  return webhook;
}

نصائح

  • استخدم مستكشف API الخاص بـ HubSpot لاختبار إنشاء الكائنات
  • قم بربط مبالغ الدفع بحقول العملة في HubSpot
  • قم بتضمين معرفات العملاء للتوافق الصحيح
  • قم بتعيين مراحل الصفقة المناسبة بناءً على حالة الدفع

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

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