पैकेज: npm पर dodo-sync | स्रोत: GitHub
आप क्या-क्या Sync कर सकते हैं?
इन entities का कोई भी संयोजन चुनें:Payments
सभी payment transactions, जिनमें one-time payments, refunds और status updates शामिल हैं।
Customers
Customer profiles, contact information और metadata।
Subscriptions
Subscription data, billing cycles और status changes।
Licenses
License keys, activations और status updates।
scopes parameter का उपयोग करके निर्दिष्ट करें कि किन entities को sync करना है। प्रत्येक run चुने गए scopes में मौजूद हर record को fetch करता है और उसे ID के आधार पर लिखता है, इसलिए मौजूदा rows को duplicate करने के बजाय वहीं update किया जाता है। MongoDB में license keys को subscription ID के आधार पर store किया जाता है, इसलिए कई license keys वाली subscription में उनमें से केवल एक ही रखी जाती है।
Database Support
Dodo Sync MongoDB, PostgreSQL, MySQL, और ClickHouse को सपोर्ट करता है। Snowflake और अन्य databases, ETL pipelines तथा realtime sync के लिए support का विकास जारी है। नई database integration में योगदान देने के लिए GitHub repository में pull request सबमिट करें।शुरुआत करना
त्वरित setup के लिए Dodo Sync को CLI के माध्यम से या अपने application में integration के लिए अपने code में programmatically उपयोग करें। दोनों methods समान functionality प्रदान करते हैं।CLI का उपयोग करना
CLI को globally install करें ताकि इसे कहीं से भी चला सकें:CLI चलाना
CLI दो modes सपोर्ट करता है: guided setup के लिए interactive, और direct configuration के लिए manual। Interactive mode: setup wizard शुरू करने के लिए बिना arguments के चलाएँ।CLI arguments
number
आवश्यक
सेकंड में sync interval। CLI इसी interval पर लगातार चलता है। One-time sync के लिए अपने code में
.run() का उपयोग करें।string
आवश्यक
Database type:
"mongodb", "postgres", "mysql", या "clickhouse"।string
आवश्यक
आपके database का connection 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
आवश्यक
Sync की जाने वाली entities की comma-separated list:
licences, payments, customers, subscriptions। उदाहरण: "payments,customers"।string
आवश्यक
Developer → API Keys से प्राप्त आपका Dodo Payments API key। उसी mode की key का उपयोग करें जिस mode में
--env है।string
आवश्यक
Environment:
"live_mode" या "test_mode"।number
प्रति सेकंड requests में rate limit। यह नियंत्रित करता है कि sync engine कितनी तेज़ी से API requests करता है। डिफ़ॉल्ट
10 है; 100 या उससे अधिक मान throttling बंद कर देते हैं।अपने code में उपयोग करना
Sync feature को सीधे अपने application में integrate करें। इसे dependency के रूप में install करें:Automatic Sync (Interval-based)
नियमित intervals पर लगातार sync चलाएँ:Manual Sync
किसी cron job या API endpoint से, आवश्यकता पड़ने पर sync operations trigger करें:PostgreSQL उदाहरण
MySQL उदाहरण
ClickHouse उदाहरण
Constructor options
string
आवश्यक
Database type:
"mongodb", "postgres", "mysql", या "clickhouse"।string
आवश्यक
आपके database के लिए connection 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[]
आवश्यक
Sync की जाने वाली entities का array:
"licences", "payments", "customers", "subscriptions"। कोई भी combination शामिल करें।object
आवश्यक
Dodo Payments API configuration। पूर्ण options के लिए TypeScript SDK types देखें।आवश्यक properties:
bearerToken: आपका Dodo Payments API keyenvironment:"test_mode"या"live_mode"
number
Automatic syncs के बीच सेकंड में समय।
.start() के लिए आवश्यक, .run() के लिए optional।number
प्रति सेकंड requests में rate limit। डिफ़ॉल्ट
10 है; 100 या उससे अधिक मान throttling बंद कर देते हैं।महत्वपूर्ण जानकारी
अतिरिक्त resources
GitHub Repository
Source code देखें, issues report करें या improvements में योगदान दें
npm Package
Package details और installation instructions देखें