المقدمة
يرسل تكامل Segment أحداث Dodo Payments إلى HTTP Tracking API الخاص بـ Segment كاستدعاءات Track وIdentify. ثم يمرر Segment بيانات المدفوعات والاشتراكات والعملاء إلى أدوات التحليلات والتسويق ومستودعات البيانات المتصلة بمساحة العمل لديك، من كتالوج يضم أكثر من 300 وجهة.يتطلب هذا التكامل Write Key لمصدر HTTP API في مساحة عمل Segment لديك. كما تحتاج إلى الوصول إلى Developer → Webhooks في لوحة تحكم Dodo Payments.
البدء
1
Open the Webhook Section
في لوحة تحكم Dodo Payments، انتقل إلى Developer → Webhooks وانقر على Add endpoint.

2
Select Segment
في Integration، حدد Segment. تملأ لوحة التحكم Endpoint URL ورمز التحويل الخاص بـ Segment.
3
Enter Write Key
في Segment، انتقل إلى Connections → Sources وافتح مصدر HTTP API أو أنشئه. انسخ Write Key من إعدادات المصدر والصقه في API key.
4
Select Events
في Subscribed events، حدد الأحداث التي يتعامل معها التحويل فقط. تستخدم الأمثلة في هذه الصفحة
payment.succeeded وsubscription.active وsubscription.cancelled.5
Configure Transformation
ضمن Transformation code، عدّل المعالج لتنسيق الأحداث وفق Track أو Identify API الخاص بـ Segment. ابدأ من الأمثلة.
6
Test & Create
ضمن Test this code، حدد نوع حدث وانقر على Simulate لمعاينة الاستدعاء إلى Segment. ثم انقر على Create endpoint.
7
Switch to Basic Authentication
يرسل Dodo Payments قيمة API key كرمز bearer، لكن HTTP API الخاص بـ Segment يقبل Write Key من خلال Basic authentication أو حقل
writeKey في النص. بعد إنشاء نقطة النهاية مباشرةً، افتح علامة التبويب Advanced الخاصة بها. ضمن Custom headers، أدخل قيمة جديدة في الصف المخفي Authorization: Basic، ثم مسافة، ثم ترميز Base64 الخاص بـ Write Key مع إضافة نقطتين. بعد ذلك انقر على Save. على سبيل المثال، يطبع echo -n 'YOUR_WRITE_KEY:' | base64 القيمة المُرمّزة.8
Done
تصل الأحداث المشترَك بها الآن إلى Segment، الذي يمررها إلى الوجهات المتصلة لديك.
أمثلة على Transformation Code
يعيّن كل معالجwebhook.url إلى نقطة نهاية Segment API ويستبدل webhook.payload بالاستدعاء. تكون مبالغ Dodo Payments بوحدة العملة الأصغر، لذلك تقسم الأمثلة المبلغ على 100. بالنسبة إلى العملات ذات المنازل العشرية الصفرية مثل JPY وKRW، استخدم المبلغ كما هو.
تتبّع أحداث الدفع
سجّل حدثPayment Completed عند نجاح عملية الدفع:
track_payments.js
تتبّع دورة حياة الاشتراك
سجّل أحداثSubscription Started وSubscription Cancelled:
track_subscriptions.js
تحديد خصائص العميل
حدّث سمات العميل بعد كل عملية دفع ناجحة. يعيّن كل استدعاء Identify السمات إلى القيم التي يرسلها، لذلك تصف هذه السمات أحدث عملية دفع:identify_customer.js
نصائح
- استخدم أسماء أحداث متسقة في أنحاء التكامل، مثل تنسيق الكائن والإجراء الخاص بـ Segment في
Payment Completed. - أدرج الخصائص التي تحتاج إليها للتحليلات وتقسيم الجمهور.
- عيّن
timestampمنtimestampالخاص بالحدث، لكي يسجل Segment وقت وقوع الحدث بدلًا من وقت وصوله. - استخدم
customer_idالخاص بـ Dodo Payments بوصفهuserId، حتى يرتبط كل استدعاء لعميل بالـ Segment user نفسه.
استكشاف الأخطاء وإصلاحها
Events Not Appearing in Segment
Events Not Appearing in Segment
- تحقق من أن Write Key ينتمي إلى مصدر HTTP API وأن ترويسة
Authorizationتستخدم Basic authentication. - يعيد Segment
200لمعظم الطلبات، بما في ذلك الطلبات التي لا يقبلها، لذلك لا يثبت التسليم الناجح في سجلات Dodo Payments وصول الحدث. تحقق من Debugger الخاص بالمصدر في Segment. - تحقق من أن أسماء الأحداث تتبع اصطلاحات التسمية في Segment.
- تحقق من أن كل استدعاء يعيّن
userId. يرفض Segment الاستدعاء الذي لا يحتوي علىuserIdولاanonymousId. - تحقق من حدود معدل HTTP API في Segment. يوصي Segment بالبقاء دون 1,000 طلب في الثانية لكل مساحة عمل.
- إذا كانت مساحة العمل تستخدم منطقة Segment في الاتحاد الأوروبي، فأرسل الاستدعاءات إلى
https://events.eu1.segmentapis.com/v1/trackوhttps://events.eu1.segmentapis.com/v1/identifyبدلًا من ذلك.
Transformation Errors
Transformation Errors
- تحقق من أن الحمولة تطابق تنسيق API الخاص بـ Segment.
- تحقق من وجود جميع الحقول المطلوبة. يتطلب Track الحقل
event، ويتطلب كل من Track وIdentify وجودuserIdأوanonymousId. - تحقق من أن أسماء الأحداث عبارة عن سلاسل نصية وليست كائنات.