Implementation: Disponible a través del paquete npm | Source Code: GitHub
¿Qué Puedes Sincronizar?
Nuestra función de sincronización de base de datos admite la sincronización de las siguientes entidades de Dodo Payments a tu base de datos:Payments
Sincroniza todas las transacciones de pago, incluyendo pagos únicos, reembolsos y actualizaciones de estado del pago.
Customers
Mantén sincronizados los datos de tus clientes, incluyendo perfiles de cliente, información de contacto y metadatos.
Subscriptions
Sincroniza datos de suscripciones, incluyendo suscripciones activas, ciclos de facturación y cambios de estado de suscripción.
Licenses
Sincroniza la información de licencias, incluyendo claves de licencia, activaciones y actualizaciones de estado de licencia.
scopes. Todas las operaciones de sincronización son incrementales y solo transfieren registros nuevos o actualizados para un rendimiento óptimo.
Soporte de Base de Datos
Actualmente soportamos MongoDB, PostgreSQL, MySQL y ClickHouse. Estamos trabajando activamente en expandir el soporte para:- Bases de Datos: Snowflake y otras.
- Pipelines: Pipelines ETL, sincronización en tiempo real.
Comenzando
Puedes usar nuestra función de sincronización de base de datos a través de la CLI o programáticamente en tu código. Ambos métodos proporcionan la misma funcionalidad; elige el que mejor se adapte a tu flujo de trabajo.Usando la CLI
La herramienta CLI proporciona una forma rápida de configurar y ejecutar la sincronización de base de datos. Instálala globalmente para usarla desde cualquier lugar en tu terminal:Ejecutando la CLI
La CLI admite dos modos: Modo Interactivo para configuración guiada, y Modo Manual para configuración directa. Modo Interactivo: Simplemente ejecuta el comando sin argumentos para iniciar el asistente de configuración interactivo.Argumentos de la CLI
Intervalo de sincronización en segundos. Determina con qué frecuencia se ejecuta la operación de sincronización. Si no se proporciona, la sincronización se ejecutará una sola vez y finalizará.
Tipo de base de datos a usar. Valores compatibles:
"mongodb", "postgres", "mysql" o "clickhouse".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
Lista separada por comas de entidades de datos para sincronizar. Ámbitos disponibles:
licences, payments, customers, subscriptions. Ejemplo: "payments,customers".Tu clave de API de Dodo Payments. Debe comenzar con
dp_live_ para modo en vivo o dp_test_ para modo de prueba.Objetivo del entorno. Debe ser
"live_mode" o "test_mode". Esto determina de qué entorno de Dodo Payments se sincroniza.Límite de solicitudes por segundo. Controla la velocidad a la que el motor de sincronización realiza solicitudes a la API para evitar saturar la API de Dodo Payments.
Usando en Tu Código
Para control programático, integra la función de sincronización directamente en tu aplicación. Instálala como una dependencia en tu proyecto:Sincronización Automática (Basada en Intervalo)
Usa la sincronización automática cuando desees que la sincronización se ejecute continuamente a intervalos regulares:Sincronización Manual
Usa la sincronización manual cuando desees activar operaciones de sincronización bajo demanda (por ejemplo, desde un trabajo cron o un endpoint de API):Ejemplo de PostgreSQL
Esta es la forma de usardodo-sync con PostgreSQL:
Ejemplo de MySQL
Esta es la forma de usardodo-sync con MySQL:
Ejemplo de ClickHouse
Esta es la forma de usardodo-sync con ClickHouse:
Opciones del Constructor
Nombre de la base de datos a usar. Valores compatibles:
"mongodb", "postgres", "mysql" o "clickhouse".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
Arreglo de entidades para sincronizar. Opciones disponibles:
"licences", "payments", "customers", "subscriptions". Puedes incluir cualquier combinación de estas.Configuración de la API de Dodo Payments para autenticación y selección de entorno. Consulta los tipos del SDK de TypeScript para ver las opciones completas.Propiedades requeridas:
bearerToken: Tu clave de API de Dodo Paymentsenvironment:"test_mode"o"live_mode"
Tiempo en segundos entre sincronizaciones automáticas. Requerido cuando se utiliza
.start() para sincronización automática. Opcional cuando se usa .run() para sincronización manual.Número de solicitudes por segundo. Controla la velocidad a la que el motor de sincronización realiza solicitudes a la API para evitar saturar la API de Dodo Payments.
Información Importante
El motor de sincronización rastrea los cambios y solo sincroniza registros nuevos o actualizados, lo que hace que las sincronizaciones posteriores sean eficientes incluso con conjuntos de datos grandes.