Paket: dodo-sync auf npm | Quelle: GitHub
Was können Sie synchronisieren?
Wählen Sie eine beliebige Kombination dieser Entitäten:Payments
Alle Zahlungstransaktionen, einschließlich einmaliger Zahlungen, Rückerstattungen und Statusaktualisierungen.
Customers
Kundenprofile, Kontaktinformationen und Metadaten.
Subscriptions
Abonnementdaten, Abrechnungszyklen und Statusänderungen.
Licenses
Lizenzschlüssel, Aktivierungen und Statusaktualisierungen.
scopes an, welche Entitäten synchronisiert werden sollen. Jeder Lauf ruft jeden Datensatz in den ausgewählten Bereichen ab und schreibt ihn anhand seiner ID, sodass vorhandene Zeilen direkt aktualisiert und nicht dupliziert werden. In MongoDB werden Lizenzschlüssel nach der Abonnement-ID gespeichert. Daher behält ein Abonnement mit mehreren Lizenzschlüsseln nur einen davon.
Datenbankunterstützung
Dodo Sync unterstützt MongoDB, PostgreSQL, MySQL und ClickHouse. Die Unterstützung für Snowflake und andere Datenbanken, ETL-Pipelines und die Echtzeitsynchronisierung befindet sich in Entwicklung. Um eine neue Datenbankintegration beizusteuern, reichen Sie einen Pull Request im GitHub-Repository ein.Erste Schritte
Verwenden Sie Dodo Sync für eine schnelle Einrichtung über die CLI oder programmatisch in Ihrem Code, um es in Ihre Anwendung zu integrieren. Beide Methoden bieten dieselbe Funktionalität.Verwendung der CLI
Installieren Sie die CLI global, um sie von überall ausführen zu können:Ausführen der CLI
Die CLI unterstützt zwei Modi: interaktiv für eine angeleitete Einrichtung und manuell für eine direkte Konfiguration. Interaktiver Modus: Führen Sie den Befehl ohne Argumente aus, um den Einrichtungsassistenten zu starten.CLI-Argumente
number
erforderlich
Synchronisierungsintervall in Sekunden. Die CLI wird in diesem Intervall kontinuierlich ausgeführt. Für eine einmalige Synchronisierung verwenden Sie
.run() in Ihrem Code.string
erforderlich
Datenbanktyp:
"mongodb", "postgres", "mysql" oder "clickhouse".string
erforderlich
Verbindungs-URI für Ihre 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 der zu synchronisierenden Entitäten:
licences, payments, customers, subscriptions. Beispiel: "payments,customers".string
erforderlich
Ihr Dodo Payments API-Schlüssel aus Developer → API Keys. Verwenden Sie einen Schlüssel aus demselben Modus wie
--env.string
erforderlich
Umgebung:
"live_mode" oder "test_mode".number
Ratenbegrenzung in Anfragen pro Sekunde. Steuert, wie schnell die Sync-Engine API-Anfragen stellt. Der Standardwert ist
10; Werte von 100 oder höher deaktivieren die Drosselung.Verwendung in Ihrem Code
Integrieren Sie die Synchronisierungsfunktion direkt in Ihre Anwendung. Installieren Sie sie als Abhängigkeit:Automatische Synchronisierung (intervallbasiert)
Führen Sie die Synchronisierung in regelmäßigen Abständen kontinuierlich aus:Manuelle Synchronisierung
Lösen Sie Synchronisierungsvorgänge bei Bedarf aus, beispielsweise über einen Cron-Job oder einen API-Endpunkt:PostgreSQL-Beispiel
MySQL-Beispiel
ClickHouse-Beispiel
Konstruktoroptionen
string
erforderlich
Datenbanktyp:
"mongodb", "postgres", "mysql" oder "clickhouse".string
erforderlich
Verbindungszeichenfolge für Ihre 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 der zu synchronisierenden Entitäten:
"licences", "payments", "customers", "subscriptions". Fügen Sie eine beliebige Kombination hinzu.object
erforderlich
Dodo Payments API-Konfiguration. Eine vollständige Übersicht der Optionen finden Sie unter TypeScript SDK types.Erforderliche Eigenschaften:
bearerToken: Ihr Dodo Payments API-Schlüsselenvironment:"test_mode"oder"live_mode"
number
Zeit in Sekunden zwischen automatischen Synchronisierungen. Erforderlich für
.start(), optional für .run().number
Ratenbegrenzung in Anfragen pro Sekunde. Der Standardwert ist
10; Werte von 100 oder höher deaktivieren die Drosselung.Wichtige Informationen
Zusätzliche Ressourcen
GitHub Repository
Quellcode anzeigen, Probleme melden oder Verbesserungen beisteuern
npm Package
Paketdetails und Installationsanweisungen anzeigen