何を同期できますか?
私たちのデータベース同期機能は、次のDodo Paymentsエンティティをデータベースに同期することをサポートしています:支払い
一回限りの支払い、返金、支払いステータスの更新を含むすべての支払いトランザクションを同期します。
顧客
顧客プロファイル、連絡先情報、メタデータを含む顧客データを同期します。
サブスクリプション
アクティブなサブスクリプション、請求サイクル、サブスクリプションステータスの変更を含むサブスクリプションデータを同期します。
ライセンス
ライセンスキー、アクティベーション、ライセンスステータスの更新を含むライセンス情報を同期します。
scopesパラメータで指定することにより同期できます。すべての同期操作は増分であり、最適なパフォーマンスのために新しいまたは更新されたレコードのみを転送します。
データベースサポート
現在、MongoDB、PostgreSQL、MySQL、およびClickHouseをサポートしています。 私たちは現在、次のサポートの拡張に取り組んでいます:- データベース: Snowflakeなど。
- パイプライン: ETLパイプライン、リアルタイム同期。
始め方
CLIを介して、またはコード内でプログラム的にデータベース同期機能を使用できます。どちらの方法も同じ機能を提供しますので、ワークフローに最適な方法を選択してください。CLIの使用
CLIツールは、データベース同期を設定して実行するための迅速な方法を提供します。どこからでも使用できるように、グローバルにインストールしてください:CLIの実行
CLIは2つのモードをサポートしています:インタラクティブモード(ガイド付きセットアップ用)とマニュアルモード(直接設定用)。 インタラクティブモード: 引数なしでコマンドを実行するだけで、インタラクティブなセットアップウィザードが開始されます。CLI引数
同期間隔(秒)。同期操作がどれくらいの頻度で実行されるかを決定します。指定しない場合、同期は1回実行されて終了します。
使用するデータベースの種類。サポートされている値:
"mongodb"、"postgres"、"mysql"、または"clickhouse"。データベースの接続URI:
- MongoDB:
mongodb://localhost:27017またはmongodb+srv://user:[email protected]/ - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
同期するデータエンティティのカンマ区切りリスト。利用可能なスコープ:
licences、payments、customers、subscriptions。例: "payments,customers"。あなたのDodo Payments APIキー。ライブモードの場合は
dp_live_で始まり、テストモードの場合はdp_test_で始まる必要があります。ターゲット環境。
"live_mode"または"test_mode"のいずれかでなければなりません。これにより、どのDodo Payments環境から同期するかが決まります。リクエストのレート制限(秒あたり)。Dodo Payments APIを圧倒しないように、同期エンジンがAPIリクエストを行う速度を制御します。
コード内での使用
プログラム的な制御のために、同期機能をアプリケーションに直接統合します。プロジェクトに依存関係としてインストールします:自動同期(間隔ベース)
自動同期を使用すると、同期を定期的に継続的に実行できます:手動同期
手動同期を使用すると、オンデマンドで同期操作をトリガーできます(例:cronジョブやAPIエンドポイントから):PostgreSQLの例
PostgreSQLでdodo-syncを使用する方法は次のとおりです:
MySQLの例
MySQLでdodo-syncを使用する方法は次のとおりです:
ClickHouseの例
ClickHouseでdodo-syncを使用する方法は次のとおりです:
コンストラクタオプション
使用するデータベースの名前。サポートされている値:
"mongodb"、"postgres"、"mysql"、または"clickhouse"。データベースの接続文字列:
- MongoDB:
mongodb://localhost:27017またはmongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
同期するエンティティの配列。利用可能なオプション:
"licences"、"payments"、"customers"、"subscriptions"。これらの任意の組み合わせを含めることができます。認証と環境選択のためのDodo Payments API設定。完全なオプションについては、TypeScript SDKタイプを参照してください。必須プロパティ:
bearerToken: あなたのDodo Payments APIキーenvironment:"test_mode"または"live_mode"
自動同期の間の時間(秒)。自動同期のために
.start()を使用する場合に必要です。手動同期のために.run()を使用する場合はオプションです。秒あたりのリクエスト数。Dodo Payments APIを圧倒しないように、同期エンジンがAPIリクエストを行う速度を制御します。
重要な情報
同期エンジンは変更を追跡し、新しいまたは更新されたレコードのみを同期するため、後続の同期は大規模なデータセットでも効率的です。