Implementación: Disponible a través del paquete npm | Código Fuente: 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:Pagos
Sincroniza todas las transacciones de pago, incluidos los pagos únicos, reembolsos y actualizaciones de estado de pago.
Clientes
Mantén tus datos de clientes sincronizados, incluidos perfiles de clientes, información de contacto y metadatos.
Suscripciones
Sincroniza datos de suscripción, incluidas suscripciones activas, ciclos de facturación y cambios en el estado de la suscripción.
Licencias
Sincroniza información de licencias, incluidos claves de licencia, activaciones y actualizaciones de estado de licencia.
scopes parámetro. 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 vez y saldrá.
Tipo de base de datos a utilizar. Valores soportados:
"mongodb", "postgres", "mysql", o "clickhouse".URI de conexión para tu base de datos:
- MongoDB:
mongodb://localhost:27017omongodb+srv://user:[email protected]/ - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Lista de entidades de datos a sincronizar, separadas por comas. Alcances disponibles:
licences, payments, customers, subscriptions. Ejemplo: "payments,customers".Tu clave API de Dodo Payments. Debe comenzar con
dp_live_ para el modo en vivo o dp_test_ para el modo de prueba.Objetivo del entorno. Debe ser
"live_mode" o "test_mode". Esto determina de qué entorno de Dodo Payments sincronizar.Límite de tasa en solicitudes por segundo. Controla qué tan rápido el motor de sincronización realiza solicitudes a la API para evitar abrumar 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
Así es como usardodo-sync con PostgreSQL:
Ejemplo de MySQL
Así es como usardodo-sync con MySQL:
Ejemplo de ClickHouse
Así es como usardodo-sync con ClickHouse:
Opciones del Constructor
Nombre de la base de datos a utilizar. Valores soportados:
"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
Array de entidades a sincronizar. Opciones disponibles:
"licences", "payments", "customers", "subscriptions". Puedes incluir cualquier combinación de estos.Configuración de la API de Dodo Payments para autenticación y selección de entorno. Consulta los tipos del SDK de TypeScript para opciones completas.Propiedades requeridas:
bearerToken: Tu clave API de Dodo Paymentsenvironment: Ya sea"test_mode"o"live_mode"
Tiempo en segundos entre sincronizaciones automáticas. Obligatorio al usar
.start() para sincronización automática. Opcional al usar .run() para sincronización manual.Número de solicitudes por segundo. Controla qué tan rápido el motor de sincronización realiza solicitudes a la API para evitar abrumar la API de Dodo Payments.
Información Importante
El motor de sincronización rastrea cambios y solo sincroniza registros nuevos o actualizados, haciendo que las sincronizaciones posteriores sean eficientes incluso con grandes conjuntos de datos.