Paquete: dodo-sync en npm | Código fuente: GitHub
¿Qué Puedes Sincronizar?
Elige cualquier combinación de estas entidades:Payments
Todas las transacciones de pago, incluidos los pagos únicos, los reembolsos y las actualizaciones de estado.
Customers
Perfiles de clientes, información de contacto y metadatos.
Subscriptions
Datos de suscripciones, ciclos de facturación y cambios de estado.
Licenses
Claves de licencia, activaciones y actualizaciones de estado.
scopes. Cada ejecución obtiene todos los registros de los ámbitos seleccionados y los escribe por ID, por lo que las filas existentes se actualizan en el mismo lugar en vez de duplicarse. En MongoDB, las claves de licencia se almacenan por ID de suscripción, por lo que una suscripción con varias claves de licencia conserva solo una de ellas.
Soporte de Base de Datos
Dodo Sync es compatible con MongoDB, PostgreSQL, MySQL y ClickHouse. La compatibilidad con Snowflake y otras bases de datos, las canalizaciones ETL y la sincronización en tiempo real están en desarrollo. Para contribuir con una nueva integración de base de datos, envía un pull request al repositorio de GitHub.Primeros pasos
Usa Dodo Sync mediante la CLI para una configuración rápida o de forma programática en tu código para integrarlo en tu aplicación. Ambos métodos ofrecen la misma funcionalidad.Uso de la CLI
Instala la CLI globalmente para ejecutarla desde cualquier ubicación:Ejecución de la CLI
La CLI admite dos modos: interactivo, para una configuración guiada, y manual, para una configuración directa. Modo interactivo: Ejecuta el comando sin argumentos para iniciar el asistente de configuración.Argumentos de la CLI
number
requerido
Intervalo de sincronización en segundos. La CLI se ejecuta continuamente con este intervalo. Para una sincronización única, usa
.run() en tu código.string
requerido
Tipo de base de datos:
"mongodb", "postgres", "mysql" o "clickhouse".string
requerido
URI de conexión para tu base de datos:
- MongoDB:
mongodb://localhost:27017omongodb+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
requerido
Lista separada por comas de las entidades que se sincronizarán:
licences, payments, customers, subscriptions. Ejemplo: "payments,customers".string
requerido
Tu clave de API de Dodo Payments de Developer → API Keys. Usa una clave del mismo modo que
--env.string
requerido
Entorno:
"live_mode" o "test_mode".number
Límite de solicitudes por segundo. Controla la velocidad a la que el motor de sincronización realiza solicitudes de API. El valor predeterminado es
10; los valores de 100 o superiores desactivan la limitación.Uso en tu código
Integra la funcionalidad de sincronización directamente en tu aplicación. Instálala como dependencia:Sincronización automática (basada en intervalos)
Ejecuta la sincronización continuamente a intervalos regulares:Sincronización manual
Activa operaciones de sincronización bajo demanda, por ejemplo, desde un trabajo cron o un endpoint de API:Ejemplo de PostgreSQL
Ejemplo de MySQL
Ejemplo de ClickHouse
Opciones del constructor
string
requerido
Tipo de base de datos:
"mongodb", "postgres", "mysql" o "clickhouse".string
requerido
Cadena de conexión para tu base de datos:
- MongoDB:
mongodb://localhost:27017omongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
string[]
requerido
Matriz de entidades que se sincronizarán:
"licences", "payments", "customers", "subscriptions". Incluye cualquier combinación.object
requerido
Configuración de la API de Dodo Payments. Consulta los tipos del SDK de TypeScript para ver todas las opciones.Propiedades obligatorias:
bearerToken: Tu clave de API de Dodo Paymentsenvironment:"test_mode"o"live_mode"
number
Tiempo en segundos entre sincronizaciones automáticas. Obligatorio para
.start() y opcional para .run().number
Límite de solicitudes por segundo. El valor predeterminado es
10; los valores de 100 o superiores desactivan la limitación.Información importante
Recursos adicionales
GitHub Repository
Consulta el código fuente, informa de problemas o contribuye con mejoras
npm Package
Consulta los detalles del paquete y las instrucciones de instalación