Implementation: Có sẵn qua npm package | Source Code: GitHub
Bạn có thể đồng bộ những gì?
Tính năng đồng bộ cơ sở dữ liệu của chúng tôi hỗ trợ đồng bộ hóa các thực thể Dodo Payments sau đây với cơ sở dữ liệu của bạn:Payments
Đồng bộ 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 thanh toán.
Customers
Giữ dữ liệu khách hàng đồng bộ, bao gồm hồ sơ khách hàng, thông tin liên hệ và siêu dữ liệu.
Subscriptions
Đồng bộ dữ liệu đăng ký, bao gồm các đăng ký đang hoạt động, chu kỳ thanh toán và thay đổi trạng thái đăng ký.
Licenses
Đồng bộ thông tin giấy phép, bao gồm khóa giấy phép, kích hoạt và cập nhật trạng thái giấy phép.
scopes. Tất cả hoạt động đồng bộ đều là tăng dần và chỉ truyền các bản ghi mới hoặc đã được cập nhật để tối ưu hiệu năng.
Hỗ trợ cơ sở dữ liệu
Chúng tôi hiện hỗ trợ MongoDB, PostgreSQL, MySQL, và ClickHouse. Chúng tôi đang tích cực làm việc để mở rộng hỗ trợ cho:- Cơ sở dữ liệu: Snowflake và các cơ sở dữ liệu khác.
- Pipelines: Pipelines ETL, đồng bộ thời gian thực.
Bắt đầu
Bạn có thể sử dụng tính năng đồng bộ cơ sở dữ liệu của chúng tôi qua CLI hoặc lập trình trong mã của bạn. Cả hai phương pháp đều cung cấp cùng một chức năng—chọn phương pháp phù hợp nhất với quy trình làm việc của bạn.Sử dụng CLI
Công cụ CLI cung cấp một cách nhanh chóng để thiết lập và chạy đồng bộ cơ sở dữ liệu. Cài đặt nó toàn cầu để sử dụng từ bất kỳ đâu trong terminal của bạn:Chạy CLI
CLI hỗ trợ hai chế độ: Chế độ tương tác cho thiết lập hướng dẫn, và Chế độ thủ công cho cấu hình trực tiếp. Chế độ tương tác: Chỉ cần chạy lệnh mà không có tham số để bắt đầu trình hướng dẫn thiết lập tương tác.Tham số CLI
Khoảng thời gian đồng bộ tính bằng giây. Xác định tần suất vận hành đồng bộ. Nếu không cung cấp, đồng bộ sẽ chạy một lần và kết thúc.
Loại cơ sở dữ liệu cần sử dụng. Các giá trị hỗ trợ:
"mongodb", "postgres", "mysql", hoặc "clickhouse".URI kết nối cho 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
Danh sách các thực thể cần đồng bộ, cách nhau bằng dấu phẩy. Các phạm vi khả dụng:
licences, payments, customers, subscriptions. Ví dụ: "payments,customers".Khóa API Dodo Payments của bạn. Nên bắt đầu bằng
dp_live_ cho chế độ sản xuất hoặc dp_test_ cho chế độ thử nghiệm.Môi trường đích. Phải là
"live_mode" hoặc "test_mode". Điều này xác định môi trường Dodo Payments để đồng bộ.Giới hạn tốc độ theo số yêu cầu mỗi giây. Kiểm soát tốc độ mà bộ đồng bộ gửi yêu cầu API để tránh làm quá tải API Dodo Payments.
Sử dụng trong mã của bạn
Để kiểm soát lập trình, tích hợp tính năng đồng bộ trực tiếp vào ứng dụng của bạn. Cài đặt nó như một phụ thuộc trong dự án của bạn:Đồng bộ tự động (dựa trên khoảng thời gian)
Sử dụng đồng bộ tự động khi bạn muốn đồng bộ chạy liên tục theo các khoảng thời gian đều đặn:Đồng bộ thủ công
Sử dụng đồng bộ thủ công khi bạn muốn kích hoạt các hoạt động đồng bộ theo yêu cầu (ví dụ: từ một cron job hoặc điểm cuối API):Ví dụ về PostgreSQL
Here’s how to usedodo-sync with PostgreSQL:
Ví dụ về MySQL
Here’s how to usedodo-sync with MySQL:
Ví dụ về ClickHouse
Here’s how to usedodo-sync with ClickHouse:
Tùy chọn Constructor
Tên cơ sở dữ liệu cần sử dụng. Các giá trị hỗ trợ:
"mongodb", "postgres", "mysql", hoặc "clickhouse".Chuỗi kết nối 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
Mảng các thực thể cần đồng bộ. Các tùy chọn khả dụng:
"licences", "payments", "customers", "subscriptions". Bạn có thể kết hợp bất kỳ tổ hợp nào trong số này.Cấu hình API Dodo Payments cho xác thực và lựa chọn môi trường. Xem TypeScript SDK types để biết đầy đủ tùy chọn.Các thuộc tính bắt buộc:
bearerToken: Khóa API Dodo Payments của bạnenvironment: Hoặc"test_mode"hoặc"live_mode"
Thời gian tính bằng giây giữa các lần đồng bộ tự động. Bắt buộc khi sử dụng
.start() cho đồng bộ tự động. Tùy chọn khi sử dụng .run() cho đồng bộ thủ công.Số lượng yêu cầu mỗi giây. Kiểm soát tốc độ mà bộ máy đồng bộ gửi yêu cầu API để tránh làm quá tải API Dodo Payments.
Thông tin quan trọng
Bộ máy đồng bộ theo dõi các thay đổi và chỉ đồng bộ các bản ghi mới hoặc đã được cập nhật, giúp các lần đồng bộ tiếp theo hiệu quả ngay cả với khối lượng dữ liệu lớn.