Implémentation : disponible via le package npm | Code source : GitHub
Que pouvez-vous synchroniser ?
Notre fonctionnalité de synchronisation de base de données prend en charge la synchronisation des entités Dodo Payments suivantes avec votre base de données :Payments
Synchronisez toutes les transactions de paiement, y compris les paiements ponctuels, les remboursements et les mises à jour du statut des paiements.
Customers
Gardez vos données clients synchronisées, notamment les profils clients, les coordonnées et les métadonnées.
Subscriptions
Synchronisez les données d’abonnement, notamment les abonnements actifs, les cycles de facturation et les changements de statut des abonnements.
Licenses
Synchronisez les informations de licence, notamment les clés de licence, les activations et les mises à jour du statut des licences.
scopes. Toutes les opérations de synchronisation sont incrémentielles et transfèrent uniquement les enregistrements nouveaux ou mis à jour afin d’optimiser les performances.
Bases de données prises en charge
Nous prenons actuellement en charge MongoDB, PostgreSQL, MySQL et ClickHouse. Nous travaillons activement à l’extension de la prise en charge pour :- Bases de données : Snowflake et d’autres.
- Pipelines : pipelines ETL, synchronisation en temps réel.
Premiers pas
Vous pouvez utiliser notre fonctionnalité de synchronisation de base de données via la CLI ou de manière programmatique dans votre code. Les deux méthodes offrent les mêmes fonctionnalités : choisissez celle qui correspond le mieux à votre workflow.Utiliser la CLI
L’outil CLI permet de configurer et d’exécuter rapidement la synchronisation de base de données. Installez-le globalement pour pouvoir l’utiliser depuis n’importe quel emplacement de votre terminal :Exécuter la CLI
La CLI prend en charge deux modes : le mode interactif pour une configuration guidée et le mode manuel pour une configuration directe. Mode interactif : exécutez simplement la commande sans arguments pour lancer l’assistant de configuration interactif.Arguments de la CLI
number
Intervalle de synchronisation en secondes. Détermine la fréquence d’exécution de l’opération de synchronisation. S’il n’est pas fourni, la synchronisation s’exécute une seule fois, puis se termine.
string
requis
Type de base de données à utiliser. Valeurs prises en charge :
"mongodb", "postgres", "mysql" ou "clickhouse".string
requis
URI de connexion à votre base de données :
- MongoDB :
mongodb://localhost:27017oumongodb+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
requis
Liste séparée par des virgules des entités de données à synchroniser. Scopes disponibles :
licences, payments, customers, subscriptions. Exemple : "payments,customers".string
requis
Votre clé API Dodo Payments. Elle doit commencer par
dp_live_ en mode live ou par dp_test_ en mode test.string
requis
Cible de l’environnement. Doit être soit
"live_mode", soit "test_mode". Cela détermine depuis quel environnement Dodo Payments effectuer la synchronisation.number
Limite de débit en requêtes par seconde. Contrôle la vitesse à laquelle le moteur de synchronisation effectue les requêtes API afin d’éviter de surcharger l’API Dodo Payments.
Utiliser dans votre code
Pour un contrôle programmatique, intégrez directement la fonctionnalité de synchronisation à votre application. Installez-la comme dépendance dans votre projet :Synchronisation automatique (basée sur un intervalle)
Utilisez la synchronisation automatique lorsque vous souhaitez qu’elle s’exécute en continu à intervalles réguliers :Synchronisation manuelle
Utilisez la synchronisation manuelle lorsque vous souhaitez déclencher des opérations de synchronisation à la demande (par exemple, depuis une tâche cron ou un endpoint API) :Exemple PostgreSQL
Voici comment utiliserdodo-sync avec PostgreSQL :
Exemple MySQL
Voici comment utiliserdodo-sync avec MySQL :
Exemple ClickHouse
Voici comment utiliserdodo-sync avec ClickHouse :
Options du constructeur
string
requis
Nom de la base de données à utiliser. Valeurs prises en charge :
"mongodb", "postgres", "mysql" ou "clickhouse".string
requis
Chaîne de connexion à votre base de données :
- MongoDB :
mongodb://localhost:27017oumongodb+srv://... - PostgreSQL :
postgresql://user:password@localhost:5432/mydb - MySQL :
mysql://user:password@localhost:3306/mydb - ClickHouse :
http://localhost:8123
string[]
requis
Tableau d’entités à synchroniser. Options disponibles :
"licences", "payments", "customers", "subscriptions". Vous pouvez inclure n’importe quelle combinaison de ces options.object
requis
Configuration API de Dodo Payments pour l’authentification et la sélection de l’environnement. Consultez les types du SDK TypeScript pour connaître toutes les options.Propriétés obligatoires :
bearerToken: votre clé API Dodo Paymentsenvironment: soit"test_mode", soit"live_mode"
number
Durée en secondes entre les synchronisations automatiques. Obligatoire lors de l’utilisation de
.start() pour la synchronisation automatique. Facultatif lors de l’utilisation de .run() pour la synchronisation manuelle.number
Nombre de requêtes par seconde. Contrôle la vitesse à laquelle le moteur de synchronisation effectue les requêtes API afin d’éviter de surcharger l’API Dodo Payments.
Informations importantes
Le moteur de synchronisation suit les changements et ne synchronise que les enregistrements nouveaux ou mis à jour, ce qui rend les synchronisations ultérieures efficaces, même avec de grands ensembles de données.
Ressources supplémentaires
GitHub Repository
Consultez le code source, signalez des problèmes ou contribuez à des améliorations
npm Package
Consultez les détails du package et les instructions d’installation