Package : dodo-sync sur npm | Source : GitHub
Que pouvez-vous synchroniser ?
Choisissez n’importe quelle combinaison de ces entités :Payments
Toutes les transactions de paiement, y compris les paiements ponctuels, les remboursements et les mises à jour de statut.
Customers
Profils clients, coordonnées et métadonnées.
Subscriptions
Données d’abonnement, cycles de facturation et changements de statut.
Licenses
Clés de licence, activations et mises à jour de statut.
scopes. Chaque exécution récupère chaque enregistrement dans les périmètres sélectionnés et l’écrit à l’aide de son ID. Les lignes existantes sont donc mises à jour sur place au lieu d’être dupliquées. Dans MongoDB, les clés de licence sont stockées par ID d’abonnement : un abonnement comportant plusieurs clés de licence n’en conserve donc qu’une seule.
Bases de données prises en charge
Dodo Sync prend en charge MongoDB, PostgreSQL, MySQL et ClickHouse. La prise en charge de Snowflake et d’autres bases de données, des pipelines ETL et de la synchronisation en temps réel est en cours de développement. Pour contribuer à une nouvelle intégration de base de données, envoyez une pull request au dépôt GitHub.Premiers pas
Utilisez Dodo Sync via la CLI pour une configuration rapide ou directement dans votre code pour l’intégrer à votre application. Les deux méthodes offrent les mêmes fonctionnalités.Utilisation de la CLI
Installez la CLI globalement pour pouvoir l’exécuter depuis n’importe quel emplacement :Exécution de la CLI
La CLI prend en charge deux modes : interactif pour une configuration guidée et manuel pour une configuration directe. Mode interactif : exécutez la CLI sans arguments pour démarrer l’assistant de configuration.Arguments de la CLI
number
requis
Intervalle de synchronisation en secondes. La CLI s’exécute en continu selon cet intervalle. Pour une synchronisation ponctuelle, utilisez
.run() dans votre code.string
requis
Type de base de données :
"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 à synchroniser :
licences, payments, customers, subscriptions. Exemple : "payments,customers".string
requis
Votre clé API Dodo Payments issue de Developer → API Keys. Utilisez une clé correspondant au même mode que
--env.string
requis
Environnement :
"live_mode" ou "test_mode".number
Limite de débit en requêtes par seconde. Contrôle la vitesse à laquelle le moteur de synchronisation effectue les requêtes API. La valeur par défaut est
10 ; les valeurs supérieures ou égales à 100 désactivent la limitation.Utilisation dans votre code
Intégrez directement la fonctionnalité de synchronisation à votre application. Installez-la en tant que dépendance :Synchronisation automatique (basée sur un intervalle)
Exécutez la synchronisation en continu à intervalles réguliers :Synchronisation manuelle
Déclenchez des opérations de synchronisation à la demande, par exemple depuis une tâche cron ou un endpoint API :Exemple PostgreSQL
Exemple MySQL
Exemple ClickHouse
Options du constructeur
string
requis
Type de base de données :
"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 :
"licences", "payments", "customers", "subscriptions". Incluez n’importe quelle combinaison.object
requis
Configuration de l’API Dodo Payments. Consultez les types du SDK TypeScript pour connaître toutes les options.Propriétés obligatoires :
bearerToken: votre clé API Dodo Paymentsenvironment:"test_mode"ou"live_mode"
number
Durée en secondes entre les synchronisations automatiques. Obligatoire pour
.start(), facultative pour .run().number
Limite de débit en requêtes par seconde. La valeur par défaut est
10 ; les valeurs supérieures ou égales à 100 désactivent la limitation.Informations importantes
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