Implementasi: Tersedia melalui npm package | Source Code: GitHub
Apa yang Dapat Anda Sinkronkan?
Fitur sinkronisasi database kami mendukung sinkronisasi entitas Dodo Payments berikut ke database Anda:Payments
Sinkronkan semua transaksi pembayaran, termasuk pembayaran satu kali, refund, dan pembaruan status pembayaran.
Customers
Pertahankan sinkronisasi data pelanggan, termasuk profil pelanggan, informasi kontak, dan metadata.
Subscriptions
Sinkronkan data subscription, termasuk subscription aktif, siklus penagihan, dan perubahan status subscription.
Licenses
Sinkronkan informasi lisensi, termasuk kunci lisensi, aktivasi, dan pembaruan status lisensi.
scopes. Semua operasi sinkronisasi bersifat inkremental dan hanya mentransfer record baru atau yang diperbarui untuk performa optimal.
Dukungan Database
Saat ini kami mendukung MongoDB, PostgreSQL, MySQL, dan ClickHouse. Kami sedang aktif memperluas dukungan untuk:- Database: Snowflake dan lainnya.
- Pipeline: pipeline ETL, sinkronisasi Realtime.
Memulai
Anda dapat menggunakan fitur sinkronisasi database kami melalui CLI atau secara programatis dalam code Anda. Kedua metode menyediakan fungsi yang sama—pilih metode yang paling sesuai dengan workflow Anda.Menggunakan CLI
Tool CLI menyediakan cara cepat untuk menyiapkan dan menjalankan sinkronisasi database. Instal secara global agar dapat menggunakannya dari mana saja di terminal Anda:Menjalankan CLI
CLI mendukung dua mode: Interactive Mode untuk penyiapan terpandu, dan Manual Mode untuk konfigurasi langsung. Interactive Mode: Jalankan command tanpa argumen untuk memulai wizard penyiapan interaktif.Argumen CLI
Interval sinkronisasi dalam detik. Menentukan seberapa sering operasi sinkronisasi dijalankan. Jika tidak diberikan, sinkronisasi akan dijalankan sekali lalu berhenti.
Jenis database yang akan digunakan. Nilai yang didukung:
"mongodb", "postgres", "mysql", atau "clickhouse".URI koneksi untuk database Anda:
- MongoDB:
mongodb://localhost:27017ataumongodb+srv://user:pass@cluster.mongodb.net/ - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Daftar entitas data yang akan disinkronkan, dipisahkan dengan koma. Scope yang tersedia:
licences, payments, customers, subscriptions. Contoh: "payments,customers".API key Dodo Payments Anda. Harus dimulai dengan
dp_live_ untuk live mode atau dp_test_ untuk test mode.Target environment. Harus berupa
"live_mode" atau "test_mode". Ini menentukan environment Dodo Payments mana yang akan disinkronkan.Rate limit dalam request per detik. Mengontrol seberapa cepat sync engine membuat request API agar tidak membebani API Dodo Payments.
Menggunakan dalam Code Anda
Untuk kontrol programatis, integrasikan fitur sinkronisasi langsung ke aplikasi Anda. Instal sebagai dependency dalam project Anda:Sinkronisasi Otomatis (Berbasis Interval)
Gunakan sinkronisasi otomatis jika Anda ingin sinkronisasi berjalan terus-menerus pada interval reguler:Sinkronisasi Manual
Gunakan sinkronisasi manual jika Anda ingin memicu operasi sinkronisasi sesuai kebutuhan (misalnya, dari cron job atau endpoint API):Contoh PostgreSQL
Berikut cara menggunakandodo-sync dengan PostgreSQL:
Contoh MySQL
Berikut cara menggunakandodo-sync dengan MySQL:
Contoh ClickHouse
Berikut cara menggunakandodo-sync dengan ClickHouse:
Opsi Constructor
Nama database yang akan digunakan. Nilai yang didukung:
"mongodb", "postgres", "mysql", atau "clickhouse".Connection string untuk database Anda:
- MongoDB:
mongodb://localhost:27017ataumongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Array entitas yang akan disinkronkan. Opsi yang tersedia:
"licences", "payments", "customers", "subscriptions". Anda dapat menyertakan kombinasi apa pun dari opsi tersebut.Konfigurasi API Dodo Payments untuk autentikasi dan pemilihan environment. Lihat TypeScript SDK types untuk opsi lengkap.Properti yang diperlukan:
bearerToken: API key Dodo Payments Andaenvironment:"test_mode"atau"live_mode"
Waktu dalam detik di antara sinkronisasi otomatis. Diperlukan saat menggunakan
.start() untuk sinkronisasi otomatis. Opsional saat menggunakan .run() untuk sinkronisasi manual.Jumlah request per detik. Mengontrol seberapa cepat sync engine membuat request API agar tidak membebani API Dodo Payments.
Informasi Penting
Sync engine melacak perubahan dan hanya menyinkronkan record baru atau yang diperbarui, sehingga sinkronisasi berikutnya tetap efisien bahkan dengan dataset besar.
Referensi Tambahan
GitHub Repository
Lihat source code, laporkan masalah, atau kontribusikan perbaikan
npm Package
Lihat detail package dan instruksi instalasi