Package: dodo-sync trên npm | Source: GitHub
Bạn có thể đồng bộ những gì?
Chọn bất kỳ tổ hợp nào trong các entity này:Payments
Tất cả giao dịch thanh toán, bao gồm thanh toán một lần, hoàn tiền và cập nhật trạng thái.
Customers
Hồ sơ khách hàng, thông tin liên hệ và metadata.
Subscriptions
Dữ liệu gói đăng ký, chu kỳ thanh toán và thay đổi trạng thái.
Licenses
License key, lượt kích hoạt và cập nhật trạng thái.
scopes. Mỗi lần chạy sẽ lấy mọi bản ghi trong các phạm vi đã chọn và ghi theo ID, vì vậy các hàng hiện có được cập nhật tại chỗ thay vì bị nhân đôi. Trong MongoDB, license key được lưu theo ID gói đăng ký, nên một gói đăng ký có nhiều license key sẽ chỉ giữ lại một key.
Hỗ trợ cơ sở dữ liệu
Dodo Sync hỗ trợ MongoDB, PostgreSQL, MySQL và ClickHouse. Hỗ trợ Snowflake và các cơ sở dữ liệu khác, ETL pipeline cũng như đồng bộ realtime đang được phát triển. Để đóng góp một tích hợp cơ sở dữ liệu mới, hãy gửi pull request đến repository GitHub.Bắt đầu
Sử dụng Dodo Sync thông qua CLI để thiết lập nhanh hoặc tích hợp theo cách lập trình vào code của bạn. Cả hai phương thức đều cung cấp cùng một chức năng.Sử dụng CLI
Cài đặt CLI trên toàn hệ thống để chạy từ bất kỳ đâu:Chạy CLI
CLI hỗ trợ hai chế độ: interactive để được hướng dẫn thiết lập và manual để cấu hình trực tiếp. Chế độ interactive: Chạy không có đối số để bắt đầu trình hướng dẫn thiết lập.Đối số CLI
number
bắt buộc
Khoảng thời gian đồng bộ tính bằng giây. CLI chạy liên tục theo khoảng thời gian này. Để đồng bộ một lần, hãy sử dụng
.run() trong code của bạn.string
bắt buộc
Loại cơ sở dữ liệu:
"mongodb", "postgres", "mysql" hoặc "clickhouse".string
bắt buộc
URI kết nối đến cơ sở dữ liệu của bạn:
- MongoDB:
mongodb://localhost:27017hoặcmongodb+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
bắt buộc
Danh sách entity cần đồng bộ, được phân tách bằng dấu phẩy:
licences, payments, customers, subscriptions. Ví dụ: "payments,customers".string
bắt buộc
API key Dodo Payments của bạn từ Developer → API Keys. Sử dụng key ở cùng chế độ với
--env.string
bắt buộc
Môi trường:
"live_mode" hoặc "test_mode".number
Giới hạn tốc độ tính bằng request mỗi giây. Kiểm soát tốc độ công cụ đồng bộ thực hiện request API. Mặc định là
10; giá trị 100 trở lên sẽ tắt throttling.Sử dụng trong Code của bạn
Tích hợp trực tiếp tính năng đồng bộ vào ứng dụng của bạn. Cài đặt dưới dạng dependency:Đồng bộ tự động (theo khoảng thời gian)
Chạy đồng bộ liên tục theo các khoảng thời gian đều đặn:Đồng bộ thủ công
Kích hoạt các thao tác đồng bộ theo yêu cầu, chẳng hạn từ cron job hoặc API endpoint:Ví dụ PostgreSQL
Ví dụ MySQL
Ví dụ ClickHouse
Tùy chọn Constructor
string
bắt buộc
Loại cơ sở dữ liệu:
"mongodb", "postgres", "mysql" hoặc "clickhouse".string
bắt buộc
Connection string cho cơ sở dữ liệu của bạn:
- MongoDB:
mongodb://localhost:27017hoặcmongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
string[]
bắt buộc
Mảng các entity cần đồng bộ:
"licences", "payments", "customers", "subscriptions". Bao gồm bất kỳ tổ hợp nào.object
bắt buộc
Cấu hình API Dodo Payments. Xem type của TypeScript SDK để biết đầy đủ các tùy chọn.Các thuộc tính bắt buộc:
bearerToken: API key Dodo Payments của bạnenvironment:"test_mode"hoặc"live_mode"
number
Thời gian tính bằng giây giữa các lần đồng bộ tự động. Bắt buộc đối với
.start(), tùy chọn đối với .run().number
Giới hạn tốc độ tính bằng request mỗi giây. Mặc định là
10; giá trị 100 trở lên sẽ tắt throttling.Thông tin quan trọng
Tài nguyên bổ sung
GitHub Repository
Xem source code, báo cáo vấn đề hoặc đóng góp cải tiến
npm Package
Xem thông tin package và hướng dẫn cài đặt