Skip to main content
Synkronisera dina Dodo Payments-data till din egen databas för analys, rapportering och integrationer. Synkroniseringsmotorn replikerar automatiskt betalningar, kunder, prenumerationer och licenser till MongoDB, PostgreSQL, MySQL eller ClickHouse.
Paket: dodo-sync på npm | Källa: GitHub

Vad kan du synkronisera?

Välj valfri kombination av dessa entiteter:

Payments

Alla betalningstransaktioner, inklusive engångsbetalningar, återbetalningar och statusuppdateringar.

Customers

Kundprofiler, kontaktinformation och metadata.

Subscriptions

Prenumerationsdata, faktureringscykler och statusändringar.

Licenses

Licensnycklar, aktiveringar och statusuppdateringar.
Ange vilka entiteter som ska synkroniseras med parametern scopes. Varje körning hämtar alla poster inom de valda omfången och skriver dem med ID, så att befintliga rader uppdateras på plats i stället för att dupliceras. I MongoDB lagras licensnycklar efter prenumerations-ID, så en prenumeration med flera licensnycklar behåller endast en av dem.

Databasstöd

Dodo Sync stöder MongoDB, PostgreSQL, MySQL och ClickHouse. Stöd för Snowflake och andra databaser, ETL-pipelines och realtidssynkronisering utvecklas. Om du vill bidra med en ny databasintegration skickar du en pull request till GitHub-förrådet.

Kom igång

Använd Dodo Sync via CLI för snabb konfigurering eller programmatiskt i din kod för integrering i din applikation. Båda metoderna erbjuder samma funktionalitet.

Använda CLI

Installera CLI globalt för att kunna köra det var som helst:

Köra CLI

CLI stöder två lägen: interaktivt för guidad konfigurering och manuellt för direkt konfigurering. Interaktivt läge: Kör utan argument för att starta konfigurationsguiden.
Manuellt läge: Skicka argument direkt för att hoppa över guiden.
Exempel:

CLI-argument

number
obligatorisk
Synkroniseringsintervall i sekunder. CLI körs kontinuerligt med detta intervall. För en engångssynkronisering använder du .run() i din kod.
string
obligatorisk
Databastyp: "mongodb", "postgres", "mysql" eller "clickhouse".
string
obligatorisk
Anslutnings-URI för din databas:
  • MongoDB: mongodb://localhost:27017 eller 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
obligatorisk
Kommaseparerad lista över entiteter som ska synkroniseras: licences, payments, customers, subscriptions. Exempel: "payments,customers".
string
obligatorisk
Din Dodo Payments API-nyckel från Developer → API Keys. Använd en nyckel från samma läge som --env.
string
obligatorisk
Miljö: "live_mode" eller "test_mode".
number
Hastighetsbegränsning i förfrågningar per sekund. Styr hur snabbt synkroniseringsmotorn gör API-förfrågningar. Standardvärdet är 10; värden på 100 eller högre inaktiverar begränsningen.

Använda i din kod

Integrera synkroniseringsfunktionen direkt i din applikation. Installera den som ett beroende:

Automatisk synkronisering (intervallbaserad)

Kör synkroniseringen kontinuerligt med regelbundna intervall:
Alternativet interval krävs när .start() används. Synkroniseringen körs kontinuerligt med det angivna intervallet tills processen stoppas.

Manuell synkronisering

Utlös synkroniseringsåtgärder på begäran, till exempel från ett cron-jobb eller en API-endpoint:
Alternativet interval krävs inte för manuell synkronisering. Anropa .run() när du behöver synkronisera.

PostgreSQL-exempel

MySQL-exempel

ClickHouse-exempel

Konstruktörsalternativ

string
obligatorisk
Databastyp: "mongodb", "postgres", "mysql" eller "clickhouse".
string
obligatorisk
Anslutningssträng för din databas:
  • MongoDB: mongodb://localhost:27017 eller mongodb+srv://...
  • PostgreSQL: postgresql://user:password@localhost:5432/mydb
  • MySQL: mysql://user:password@localhost:3306/mydb
  • ClickHouse: http://localhost:8123
string[]
obligatorisk
Array med entiteter som ska synkroniseras: "licences", "payments", "customers", "subscriptions". Inkludera valfri kombination.
object
obligatorisk
Dodo Payments API-konfiguration. Se TypeScript SDK-typerna för fullständiga alternativ.Obligatoriska egenskaper:
  • bearerToken: Din Dodo Payments API-nyckel
  • environment: "test_mode" eller "live_mode"
number
Tid i sekunder mellan automatiska synkroniseringar. Krävs för .start(), valfritt för .run().
number
Hastighetsbegränsning i förfrågningar per sekund. Standardvärdet är 10; värden på 100 eller högre inaktiverar begränsningen.

Viktig information

MongoDB: En databas med namnet dodopayments_sync skapas automatiskt på din server. Databasnamnet är fast och kan inte ändras.PostgreSQL: Tabeller (Subscriptions, Payments, Licenses, Customers) skapas i den databas som anges i din anslutnings-URI. Data lagras som JSONB.MySQL: Tabeller (Subscriptions, Payments, Licenses, Customers) skapas i den databas som anges i din anslutnings-URI. Data lagras som JSON.ClickHouse: Tabeller (Subscriptions, Payments, Licenses, Customers) skapas med ReplacingMergeTree-motorn. När du kör frågor använder du nyckelordet FINAL för att säkerställa deduplicerade resultat.

Ytterligare resurser

GitHub Repository

Visa källkod, rapportera problem eller bidra med förbättringar

npm Package

Visa paketdetaljer och installationsinstruktioner
Senast ändrad 26 september 2026