Dodo Payments fornece um recurso de sincronização de banco de dados embutido que sincroniza automaticamente seus dados de pagamento com seu próprio banco de dados. Você pode sincronizar pagamentos, clientes, assinaturas e licenças para manter uma cópia local de seus dados para análises, relatórios ou integração com outros sistemas.Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
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.
Recursos Adicionais
GitHub Repository
Veja o código-fonte, reporte problemas ou contribua com melhorias
npm Package
Veja os detalhes do pacote e as instruções de instalação