Implementation: Available via npm package | Source Code: GitHub
Was können Sie synchronisieren?
Unsere Datenbank-Synchronisierungsfunktion unterstützt die Synchronisierung der folgenden Dodo Payments-Entitäten mit Ihrer Datenbank:Payments
Synchronisiere alle Zahlungstransaktionen, einschließlich Einmalzahlungen, Rückerstattungen und Zahlungsstatusaktualisierungen.
Customers
Halte deine Kundendaten synchron, einschließlich Kundenprofile, Kontaktinformationen und Metadaten.
Subscriptions
Synchronisiere Abonnementdaten, einschließlich aktiver Abonnements, Abrechnungszyklen und Änderungen des Abonnementstatus.
Licenses
Synchronisiere Lizenzinformationen, einschließlich Lizenzschlüsseln, Aktivierungen und Aktualisierungen des Lizenzstatus.
scopes parameter. All sync operations are incremental and only transfer new or updated records for optimal performance.
Datenbankunterstützung
Derzeit unterstützen wir MongoDB, PostgreSQL, MySQL und ClickHouse. Wir arbeiten aktiv daran, die Unterstützung für:- Datenbanken: Snowflake und andere.
- Pipelines: ETL-Pipelines, Echtzeitsynchronisierung zu erweitern.
Erste Schritte
Sie können unsere Datenbank-Synchronisierungsfunktion über die CLI oder programmgesteuert in Ihrem Code verwenden. Beide Methoden bieten die gleiche Funktionalität – wählen Sie diejenige, die am besten zu Ihrem Workflow passt.Verwendung der CLI
Das CLI-Tool bietet eine schnelle Möglichkeit, die Datenbanksynchronisierung einzurichten und auszuführen. Installieren Sie es global, um es von überall in Ihrem Terminal verwenden zu können:Ausführen der CLI
Die CLI unterstützt zwei Modi: Interaktiver Modus für geführte Einrichtung und Manueller Modus für direkte Konfiguration. Interaktiver Modus: Führen Sie einfach den Befehl ohne Argumente aus, um den interaktiven Einrichtungsassistenten zu starten.CLI-Argumente
Sync-Intervall in Sekunden. Bestimmt, wie häufig der Sync-Vorgang ausgeführt wird. Wird kein Wert angegeben, läuft der Sync einmal und endet.
Zu verwendender Datenbanktyp. Unterstützte Werte:
"mongodb", "postgres", "mysql" oder "clickhouse".Verbindungs-URI für deine Datenbank:
- MongoDB:
mongodb://localhost:27017odermongodb+srv://user:pass@cluster.mongodb.net/ - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Kommagetrennte Liste von Datenentitäten zum Synchronisieren. Verfügbare Bereiche:
licences, payments, customers, subscriptions. Beispiel: "payments,customers".Dein Dodo Payments API-Schlüssel. Muss mit
dp_live_ für den Live-Modus oder dp_test_ für den Testmodus beginnen.Zielumgebung. Muss entweder
"live_mode" oder "test_mode" sein. Dies bestimmt, aus welcher Dodo Payments-Umgebung synchronisiert wird.Ratenbegrenzung in Anfragen pro Sekunde. Steuert, wie schnell die Sync-Engine API-Anfragen stellt, um eine Überlastung der Dodo Payments API zu vermeiden.
Verwendung in Ihrem Code
Für programmgesteuerte Kontrolle integrieren Sie die Synchronisierungsfunktion direkt in Ihre Anwendung. Installieren Sie sie als Abhängigkeit in Ihrem Projekt:Automatische Synchronisierung (intervallbasiert)
Verwenden Sie die automatische Synchronisierung, wenn Sie möchten, dass die Synchronisierung kontinuierlich in regelmäßigen Abständen ausgeführt wird:Manuelle Synchronisierung
Verwenden Sie die manuelle Synchronisierung, wenn Sie Synchronisierungsoperationen auf Abruf auslösen möchten (z. B. von einem Cron-Job oder API-Endpunkt):PostgreSQL-Beispiel
So verwendest dudodo-sync mit PostgreSQL:
MySQL-Beispiel
So verwendest dudodo-sync mit MySQL:
ClickHouse-Beispiel
So verwendest dudodo-sync mit ClickHouse:
Konstruktoroptionen
Name der zu verwendenden Datenbank. Unterstützte Werte:
"mongodb", "postgres", "mysql" oder "clickhouse".Verbindungszeichenfolge für deine Datenbank:
- MongoDB:
mongodb://localhost:27017odermongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Array von zu synchronisierenden Entitäten. Verfügbare Optionen:
"licences", "payments", "customers", "subscriptions". Du kannst jede Kombination davon einschließen.Dodo Payments API-Konfiguration für Authentifizierung und Umgebungswahl. Siehe die TypeScript SDK-Typen für vollständige Optionen.Erforderliche Eigenschaften:
bearerToken: Dein Dodo Payments API-Schlüsselenvironment: Entweder"test_mode"oder"live_mode"
Zeit in Sekunden zwischen automatischen Synchronisierungen. Erforderlich bei Verwendung von
.start() für automatische Synchronisierung. Optional bei Verwendung von .run() für manuelle Synchronisierung.Anzahl der Anfragen pro Sekunde. Steuert, wie schnell die Sync-Engine API-Anfragen stellt, um eine Überlastung der Dodo Payments API zu vermeiden.
Wichtige Informationen
Die Sync-Engine verfolgt Änderungen und synchronisiert nur neue oder aktualisierte Datensätze, wodurch nachfolgende Syncs selbst bei großen Datensätzen effizient bleiben.