Skip to main content
زامن بيانات Dodo Payments مع قاعدة بياناتك الخاصة لإجراء التحليلات وإعداد التقارير وعمليات التكامل. يعمل محرك المزامنة على نسخ المدفوعات والعملاء والاشتراكات والتراخيص تلقائيًا إلى MongoDB أو PostgreSQL أو MySQL أو ClickHouse.
الحزمة: dodo-sync على npm | المصدر: GitHub

ماذا يمكنك مزامنته؟

اختر أي مجموعة من هذه الكيانات:

Payments

جميع معاملات الدفع، بما في ذلك المدفوعات لمرة واحدة والمبالغ المستردة وتحديثات الحالة.

Customers

ملفات تعريف العملاء ومعلومات الاتصال والبيانات الوصفية.

Subscriptions

بيانات الاشتراكات ودورات الفوترة وتغييرات الحالة.

Licenses

مفاتيح التراخيص وعمليات التفعيل وتحديثات الحالة.
حدد الكيانات التي تريد مزامنتها باستخدام المعامل scopes. تجلب كل عملية تشغيل كل سجل ضمن النطاقات المحددة وتكتبه باستخدام المعرّف الخاص به، ولذلك يتم تحديث الصفوف الحالية في مكانها بدلًا من تكرارها. في MongoDB، تُخزّن مفاتيح التراخيص حسب معرّف الاشتراك، لذلك لا يحتفظ الاشتراك الذي يحتوي على عدة مفاتيح تراخيص إلا بواحد منها.

دعم قاعدة البيانات

يدعم Dodo Sync MongoDB وPostgreSQL وMySQL وClickHouse. ويجري حاليًا تطوير دعم Snowflake وقواعد البيانات الأخرى وخطوط أنابيب ETL والمزامنة في الوقت الفعلي. للمساهمة بإضافة تكامل جديد مع قاعدة بيانات، أرسل طلب سحب إلى مستودع GitHub.

البدء

استخدم Dodo Sync عبر CLI للإعداد السريع، أو برمجيًا ضمن التعليمات البرمجية لديك لدمجه في تطبيقك. توفر كلتا الطريقتين الوظائف نفسها.

استخدام CLI

ثبّت CLI بشكل عام لتتمكن من تشغيله من أي مكان:

تشغيل CLI

يدعم CLI وضعين: التفاعلي للإعداد الموجّه، واليدوي للإعداد المباشر. الوضع التفاعلي: شغّله من دون وسيطات لبدء معالج الإعداد.
الوضع اليدوي: مرّر الوسيطات مباشرة لتخطي المعالج.
أمثلة:

وسيطات CLI

number
مطلوب
الفاصل الزمني للمزامنة بالثواني. يعمل CLI باستمرار وفق هذا الفاصل الزمني. لإجراء مزامنة لمرة واحدة، استخدم .run() في التعليمات البرمجية.
string
مطلوب
نوع قاعدة البيانات: "mongodb" أو "postgres" أو "mysql" أو "clickhouse".
string
مطلوب
URI الاتصال بقاعدة بياناتك:
  • MongoDB: mongodb://localhost:27017 أو mongodb+srv://user:pass@cluster.mongodb.net/
  • PostgreSQL: postgresql://user:password@localhost:5432/mydb
  • MySQL: mysql://user:password@localhost:3306/mydb
  • ClickHouse: http://localhost:8123
string
مطلوب
قائمة مفصولة بفواصل بالكيانات المراد مزامنتها: licences وpayments وcustomers وsubscriptions. مثال: "payments,customers".
string
مطلوب
مفتاح Dodo Payments API الخاص بك من Developer → API Keys. استخدم مفتاحًا من الوضع نفسه مثل --env.
string
مطلوب
البيئة: "live_mode" أو "test_mode".
number
حد معدل الطلبات بالطلبات في الثانية. يتحكم في سرعة إجراء محرك المزامنة لطلبات API. القيمة الافتراضية هي 10؛ وتؤدي القيم التي تساوي 100 أو تزيد عليها إلى إيقاف تحديد المعدل.

الاستخدام في التعليمات البرمجية

ادمج ميزة المزامنة مباشرةً في تطبيقك. ثبّتها باعتبارها تبعية:

المزامنة التلقائية (المستندة إلى فاصل زمني)

شغّل المزامنة باستمرار وفق فواصل زمنية منتظمة:
يكون الخيار interval مطلوبًا عند استخدام .start(). تعمل المزامنة باستمرار وفق الفاصل الزمني المحدد حتى تتوقف العملية.

المزامنة اليدوية

شغّل عمليات المزامنة عند الطلب، مثلًا من مهمة cron أو نقطة نهاية API:
لا يكون الخيار interval مطلوبًا للمزامنة اليدوية. استدعِ .run() كلما احتجت إلى المزامنة.

مثال PostgreSQL

مثال MySQL

مثال ClickHouse

خيارات المُنشئ

string
مطلوب
نوع قاعدة البيانات: "mongodb" أو "postgres" أو "mysql" أو "clickhouse".
string
مطلوب
سلسلة الاتصال بقاعدة بياناتك:
  • MongoDB: mongodb://localhost:27017 أو mongodb+srv://...
  • PostgreSQL: postgresql://user:password@localhost:5432/mydb
  • MySQL: mysql://user:password@localhost:3306/mydb
  • ClickHouse: http://localhost:8123
string[]
مطلوب
مصفوفة بالكيانات المراد مزامنتها: "licences" و"payments" و"customers" و"subscriptions". أدرج أي مجموعة منها.
object
مطلوب
إعداد Dodo Payments API. راجع أنواع TypeScript SDK للاطلاع على الخيارات الكاملة.الخصائص المطلوبة:
  • bearerToken: مفتاح Dodo Payments API الخاص بك
  • environment: "test_mode" أو "live_mode"
number
المدة بالثواني بين عمليات المزامنة التلقائية. مطلوبة للخيار .start() واختيارية للخيار .run().
number
حد معدل الطلبات بالطلبات في الثانية. القيمة الافتراضية هي 10؛ وتؤدي القيم التي تساوي 100 أو تزيد عليها إلى إيقاف تحديد المعدل.

معلومات مهمة

MongoDB: يتم إنشاء قاعدة بيانات باسم dodopayments_sync تلقائيًا على خادمك. اسم قاعدة البيانات هذا ثابت ولا يمكن تغييره.PostgreSQL: يتم إنشاء الجداول (Subscriptions وPayments وLicenses وCustomers) في قاعدة البيانات المحددة في URI الاتصال. تُخزّن البيانات بصيغة JSONB.MySQL: يتم إنشاء الجداول (Subscriptions وPayments وLicenses وCustomers) في قاعدة البيانات المحددة في URI الاتصال. تُخزّن البيانات بصيغة JSON.ClickHouse: يتم إنشاء الجداول (Subscriptions وPayments وLicenses وCustomers) باستخدام محرك ReplacingMergeTree. عند إجراء الاستعلامات، استخدم الكلمة الأساسية FINAL لضمان الحصول على نتائج منزوعة التكرار.

موارد إضافية

GitHub Repository

اطّلع على التعليمات البرمجية المصدرية، وأبلغ عن المشكلات، أو ساهم بالتحسينات

npm Package

اطّلع على تفاصيل الحزمة وتعليمات التثبيت
آخر تعديل في ٢٦ سبتمبر ٢٠٢٦