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
number
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.
string
erforderlich
Zu verwendender Datenbanktyp. Unterstützte Werte:
"mongodb", "postgres", "mysql" oder "clickhouse".string
erforderlich
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
string
erforderlich
Kommagetrennte Liste von Datenentitäten zum Synchronisieren. Verfügbare Bereiche:
licences, payments, customers, subscriptions. Beispiel: "payments,customers".string
erforderlich
Dein Dodo Payments API-Schlüssel. Muss mit
dp_live_ für den Live-Modus oder dp_test_ für den Testmodus beginnen.string
erforderlich
Zielumgebung. Muss entweder
"live_mode" oder "test_mode" sein. Dies bestimmt, aus welcher Dodo Payments-Umgebung synchronisiert wird.number
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
string
erforderlich
Name der zu verwendenden Datenbank. Unterstützte Werte:
"mongodb", "postgres", "mysql" oder "clickhouse".string
erforderlich
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
string[]
erforderlich
Array von zu synchronisierenden Entitäten. Verfügbare Optionen:
"licences", "payments", "customers", "subscriptions". Du kannst jede Kombination davon einschließen.object
erforderlich
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"
number
Zeit in Sekunden zwischen automatischen Synchronisierungen. Erforderlich bei Verwendung von
.start() für automatische Synchronisierung. Optional bei Verwendung von .run() für manuelle Synchronisierung.number
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.
Zusätzliche Ressourcen
GitHub Repository
Quellcode ansehen, Probleme melden oder Verbesserungen beitragen
npm Package
Paketdetails und Installationsanweisungen ansehen