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:Pagamentos
Sincronize todas as transações de pagamento, incluindo pagamentos únicos, reembolsos e atualizações de status de pagamento.
Clientes
Mantenha seus dados de clientes sincronizados, incluindo perfis de clientes, informações de contato e metadados.
Assinaturas
Sincronize dados de assinaturas, incluindo assinaturas ativas, ciclos de cobrança e alterações de status de assinatura.
Licenças
Sincronize informações de licença, incluindo chaves de licença, ativações e atualizações de status de 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 fornecido, a sincronização será executada uma vez e sairá.
Tipo de banco de dados a ser usado. Valores suportados:
"mongodb", "postgres", "mysql", ou "clickhouse".URI de conexão para seu banco de dados:
- MongoDB:
mongodb://localhost:27017oumongodb+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 dados a serem sincronizadas, separadas por vírgula. Escopos disponíveis:
licences, payments, customers, subscriptions. Exemplo: "payments,customers".Sua chave de API do Dodo Payments. Deve começar com
dp_live_ para o modo ao vivo ou dp_test_ para o modo de teste.Alvo do ambiente. Deve ser
"live_mode" ou "test_mode". Isso determina de qual ambiente do Dodo Payments sincronizar.Limite de taxa em requisições por segundo. Controla a velocidade com que o mecanismo de sincronização faz requisições à API do 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 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 serem sincronizadas. Opções disponíveis:
"licences", "payments", "customers", "subscriptions". Você pode incluir qualquer combinação dessas.Configuração da API do Dodo Payments para autenticação e seleção de ambiente. Veja os tipos do SDK TypeScript para opções completas.Propriedades obrigatórias:
bearerToken: Sua chave de API do Dodo Paymentsenvironment: Ou"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 velocidade com que o mecanismo de sincronização faz requisições à API do Dodo Payments para evitar sobrecarregá-la.
Informações Importantes
O mecanismo de sincronização rastreia alterações e sincroniza apenas registros novos ou atualizados, tornando as sincronizações subsequentes eficientes mesmo com grandes conjuntos de dados.