Implementação: Disponível via pacote npm | Código-fonte: GitHub
O que você pode sincronizar?
Nosso recurso de sincronização de banco de dados suporta a sincronização das seguintes entidades do Dodo Payments para seu banco de dados:Payments
Sincronize todas as transações de pagamento, incluindo pagamentos únicos, reembolsos e atualizações de status de pagamento.
Customers
Mantenha os dados dos clientes sincronizados, incluindo perfis, informações de contato e metadados.
Subscriptions
Sincronize os dados de assinaturas, incluindo assinaturas ativas, ciclos de cobrança e alterações de status das assinaturas.
Licenses
Sincronize informações de licença, incluindo chaves de licença, ativações e atualizações de status da licença.
scopes. Todas as operações de sincronização são incrementais e transferem apenas registros novos ou atualizados para desempenho ideal.
Suporte a Banco de Dados
Atualmente, suportamos MongoDB, PostgreSQL, MySQL e ClickHouse. Estamos trabalhando ativamente para expandir o suporte para:- Bancos de Dados: Snowflake e outros.
- Pipelines: Pipelines ETL, sincronização em tempo real.
Começando
Você pode usar nosso recurso de sincronização de banco de dados via CLI ou programaticamente em seu código. Ambos os métodos fornecem a mesma funcionalidade—escolha o que melhor se adapta ao seu fluxo de trabalho.Usando a CLI
A ferramenta CLI fornece uma maneira rápida de configurar e executar a sincronização de banco de dados. Instale-a globalmente para usá-la de qualquer lugar em seu terminal:Executando a CLI
A CLI suporta dois modos: Modo Interativo para configuração guiada, e Modo Manual para configuração direta. Modo Interativo: Basta executar o comando sem argumentos para iniciar o assistente de configuração interativa.Argumentos da CLI
Intervalo de sincronização em segundos. Determina com que frequência a operação de sincronização é executada. Se não for fornecido, a sincronização será executada apenas uma vez e encerrada.
Tipo de banco de dados a ser usado. Valores suportados:
"mongodb", "postgres", "mysql" ou "clickhouse".URI de conexão para o seu banco de dados:
- 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
Lista separada por vírgulas das entidades de dados a sincronizar. Escopos disponíveis:
licences, payments, customers, subscriptions. Exemplo: "payments,customers".Sua chave de API da Dodo Payments. Deve começar com
dp_live_ para modo ao vivo ou dp_test_ para modo de teste.Destino do ambiente. Deve ser
"live_mode" ou "test_mode". Isso determina de qual ambiente da Dodo Payments será feita a sincronização.Limite de taxa em requisições por segundo. Controla a velocidade com que o mecanismo de sincronização faz chamadas à API da Dodo Payments para evitar sobrecarregá-la.
Usando em Seu Código
Para controle programático, integre o recurso de sincronização diretamente em sua aplicação. Instale-o como uma dependência em seu projeto:Sincronização Automática (Baseada em Intervalo)
Use a sincronização automática quando quiser que a sincronização ocorra continuamente em intervalos regulares:Sincronização Manual
Use a sincronização manual quando quiser acionar operações de sincronização sob demanda (por exemplo, a partir de um cron job ou endpoint de API):Exemplo de PostgreSQL
Veja como usardodo-sync com PostgreSQL:
Exemplo de MySQL
Veja como usardodo-sync com MySQL:
Exemplo de ClickHouse
Veja como usardodo-sync com ClickHouse:
Opções do Construtor
Nome do banco de dados a ser usado. Valores suportados:
"mongodb", "postgres", "mysql" ou "clickhouse".String de conexão para o seu banco de dados:
- MongoDB:
mongodb://localhost:27017oumongodb+srv://... - PostgreSQL:
postgresql://user:password@localhost:5432/mydb - MySQL:
mysql://user:password@localhost:3306/mydb - ClickHouse:
http://localhost:8123
Array de entidades a sincronizar. Opções disponíveis:
"licences", "payments", "customers", "subscriptions". Você pode incluir qualquer combinação delas.Configuração da API da Dodo Payments para autenticação e seleção de ambiente. Consulte os tipos do SDK TypeScript para obter as opções completas.Propriedades obrigatórias:
bearerToken: Sua chave de API da Dodo Paymentsenvironment:"test_mode"ou"live_mode"
Tempo em segundos entre sincronizações automáticas. Obrigatório ao usar
.start() para sincronização automática. Opcional ao usar .run() para sincronização manual.Número de requisições por segundo. Controla a rapidez com que o mecanismo de sincronização faz chamadas à API da Dodo Payments para evitar sobrecarregá-la.
Informações Importantes
O mecanismo de sincronização rastreia mudanças e sincroniza apenas registros novos ou atualizados, tornando sincronizações subsequentes eficientes mesmo com grandes conjuntos de dados.