Implementation: npm package で利用可能 | Source Code: GitHub
同期できるデータ
database sync 機能では、次の Dodo Payments entities をデータベースに同期できます。Payments
one-time payments、refunds、payment status updates を含む、すべての payment transactions を同期します。
Customers
customer profiles、contact information、metadata を含む customer data を同期します。
Subscriptions
active subscriptions、billing cycles、subscription status changes を含む subscription data を同期します。
Licenses
license keys、activations、license status updates を含む license information を同期します。
scopes parameter に指定することで、任意の組み合わせで同期できます。すべての sync operations は incremental で、パフォーマンスを最適化するため、新規または更新された records のみを転送します。
Database Support
現在、MongoDB、PostgreSQL、MySQL、ClickHouse をサポートしています。 現在、次のサポート拡張に取り組んでいます。- Databases: Snowflake など
- Pipelines: ETL pipelines、Realtime sync
はじめに
database sync 機能は CLI または code からプログラムで使用できます。どちらの方法でも同じ機能を利用できます。ワークフローに最適な方法を選択してください。CLI の使用
CLI tool は database synchronization をすばやく設定して実行する方法を提供します。端末のどこからでも使用できるよう、グローバルにインストールします。CLI の実行
CLI は 2 つの mode をサポートしています。ガイド付きセットアップを行う Interactive Mode と、直接設定を行う Manual Mode です。 Interactive Mode: 引数なしで command を実行すると、interactive setup wizard が開始します。CLI Arguments
number
seconds 単位の sync interval。sync operation の実行頻度を決定します。指定しない場合、sync は一度だけ実行されて終了します。
string
必須
使用する database type。サポートされる値は
"mongodb"、"postgres"、"mysql"、または "clickhouse" です。string
必須
データベースの 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
必須
同期する data entities の comma-separated list。利用可能な scopes は
licences、payments、customers、subscriptions です。例: "payments,customers"。string
必須
あなたの Dodo Payments API key。live mode では
dp_live_、test mode では dp_test_ で始まる必要があります。string
必須
Environment target。
"live_mode" または "test_mode" のいずれかである必要があります。これは、どの Dodo Payments environment から同期するかを指定します。number
requests per second 単位の rate limit。Dodo Payments API への過剰な負荷を避けるため、sync engine が API requests を実行する速度を制御します。
Code での使用
プログラムから制御するには、sync feature をアプリケーションへ直接統合します。project の dependency としてインストールします。Automatic Sync(Interval-based)
sync を一定間隔で継続的に実行する場合は、automatic sync を使用します。Manual Sync
オンデマンド(cron job や API endpoint など)で sync operations をトリガーする場合は、manual sync を使用します。PostgreSQL の例
PostgreSQL でdodo-sync を使用する方法は次のとおりです。
MySQL の例
MySQL でdodo-sync を使用する方法は次のとおりです。
ClickHouse の例
ClickHouse でdodo-sync を使用する方法は次のとおりです。
Constructor Options
string
必須
使用する database の名前。サポートされる値は
"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[]
必須
同期する entities の array。利用可能な options は
"licences"、"payments"、"customers"、"subscriptions" です。これらは任意の組み合わせで指定できます。object
必須
Dodo Payments API configuration。認証と environment selection に使用します。すべての options については、TypeScript SDK types を参照してください。Required properties:
bearerToken: あなたの Dodo Payments API keyenvironment:"test_mode"または"live_mode"
number
automatic sync 間の seconds 単位の時間。automatic syncing で
.start() を使用する場合は必須です。manual syncing で .run() を使用する場合は任意です。number
1 秒あたりの requests 数。Dodo Payments API への過剰な負荷を避けるため、sync engine が API requests を実行する速度を制御します。
重要な情報
sync engine は changes を追跡し、新規または更新された records のみを同期するため、大規模な datasets でも subsequent syncs を効率的に実行できます。
追加リソース
GitHub Repository
source code の確認、issues の報告、改善への貢献
npm Package
package details と installation instructions の確認