المقدمة
قم بمزامنة بيانات الدفع الخاصة بك مباشرةً إلى HubSpot CRM. أنشئ جهات اتصال من المدفوعات الناجحة، وتتبع دورة حياة الاشتراك، وابنِ ملفات تعريف شاملة للعملاء - كل ذلك يتم تشغيله تلقائيًا بواسطة أحداث مدفوعات Dodo.
يتطلب هذا التكامل صلاحيات مسؤول HubSpot لتكوين نطاقات OAuth وأذونات API.
البدء
Open the Webhook Section
في لوحة تحكم Dodo Payments، انتقل إلى Webhooks → + إضافة نقطة نهاية وقم بتوسيع قائمة التكاملات المنسدلة.
Select HubSpot
اختر بطاقة التكامل HubSpot .
Connect HubSpot
انقر على الاتصال بـ HubSpot وامنح نطاقات OAuth المطلوبة.
Configure Transformation
قم بتحرير كود التحويل لربط بيانات الدفع مع كائنات CRM في HubSpot.
Test & Create
اختبر باستخدام بيانات نموذجية وانقر على إنشاء لتفعيل المزامنة.
Done!
🎉 ستقوم أحداث الدفع الآن بإنشاء/تحديث السجلات تلقائيًا في CRM الخاص بـ HubSpot.
أمثلة على كود التحويل
إنشاء جهة اتصال من الدفع
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 ;
}
See all 19 lines
تحديث جهة الاتصال مع الاشتراك
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 ;
}
See all 17 lines
إنشاء صفقة من الدفع
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 ;
}
See all 29 lines
نصائح
استخدم مستكشف API الخاص بـ HubSpot لاختبار إنشاء الكائنات
قم بربط مبالغ الدفع بحقول العملة في HubSpot
قم بتضمين معرفات العملاء للتوافق الصحيح
قم بتعيين مراحل الصفقة المناسبة بناءً على حالة الدفع
استكشاف الأخطاء وإصلاحها
Records not created in HubSpot
تحقق من أن نطاقات OAuth تتضمن أذونات الكتابة
تأكد من وجود خصائص HubSpot المطلوبة
تأكد من أن بريد العميل الإلكتروني صالح وفريد
راجع حدود معدل API الخاصة بـ HubSpot