Pacote: dodo-sync no npm | Código-fonte: GitHub
O que você pode sincronizar?
Escolha qualquer combinação destas entidades:Payments
Todas as transações de pagamento, incluindo pagamentos únicos, reembolsos e atualizações de status.
Customers
Perfis de clientes, informações de contato e metadados.
Subscriptions
Dados de assinatura, ciclos de cobrança e alterações de status.
Licenses
Chaves de licença, ativações e atualizações de status.
scopes. Cada execução busca todos os registros nos escopos selecionados e os grava por ID, portanto as linhas existentes são atualizadas no local em vez de duplicadas. No MongoDB, as chaves de licença são armazenadas pelo ID da assinatura, então uma assinatura com várias chaves de licença mantém apenas uma delas.
Suporte a Banco de Dados
O Dodo Sync é compatível com MongoDB, PostgreSQL, MySQL e ClickHouse. O suporte para Snowflake e outros bancos de dados, pipelines de ETL e sincronização em tempo real está em desenvolvimento. Para contribuir com uma nova integração de banco de dados, envie um pull request para o repositório no GitHub.Primeiros passos
Use o Dodo Sync por meio do CLI para uma configuração rápida ou de forma programática no seu código para integrá-lo ao seu aplicativo. Ambos os métodos oferecem a mesma funcionalidade.Usando o CLI
Instale o CLI globalmente para executá-lo de qualquer lugar:Executando o CLI
O CLI oferece dois modos: interativo, para uma configuração guiada, e manual, para configuração direta. Modo interativo: execute sem argumentos para iniciar o assistente de configuração.Argumentos do CLI
number
obrigatório
Intervalo de sincronização em segundos. O CLI é executado continuamente nesse intervalo. Para uma sincronização única, use
.run() no seu código.string
obrigatório
Tipo de banco de dados:
"mongodb", "postgres", "mysql" ou "clickhouse".string
obrigatório
URI de conexão do 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
string
obrigatório
Lista de entidades separadas por vírgulas para sincronizar:
licences, payments, customers, subscriptions. Exemplo: "payments,customers".string
obrigatório
Sua chave de API do Dodo Payments em Developer → API Keys. Use uma chave do mesmo modo que
--env.string
obrigatório
Ambiente:
"live_mode" ou "test_mode".number
Limite de taxa em solicitações por segundo. Controla a velocidade com que o mecanismo de sincronização faz solicitações de API. O padrão é
10; valores de 100 ou superiores desativam a limitação.Usando no seu código
Integre o recurso de sincronização diretamente ao seu aplicativo. Instale-o como uma dependência:Sincronização automática (baseada em intervalo)
Execute a sincronização continuamente em intervalos regulares:Sincronização manual
Acione operações de sincronização sob demanda, por exemplo, a partir de um cron job ou endpoint de API:Exemplo de PostgreSQL
Exemplo de MySQL
Exemplo de ClickHouse
Opções do construtor
string
obrigatório
Tipo de banco de dados:
"mongodb", "postgres", "mysql" ou "clickhouse".string
obrigatório
String de conexão do 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
string[]
obrigatório
Array de entidades para sincronizar:
"licences", "payments", "customers", "subscriptions". Inclua qualquer combinação.object
obrigatório
Configuração da API do Dodo Payments. Consulte os tipos do SDK do TypeScript para ver todas as opções.Propriedades obrigatórias:
bearerToken: sua chave de API do Dodo Paymentsenvironment:"test_mode"ou"live_mode"
number
Tempo, em segundos, entre sincronizações automáticas. Obrigatório para
.start() e opcional para .run().number
Limite de taxa em solicitações por segundo. O padrão é
10; valores de 100 ou superiores desativam a limitação.Informações importantes
Recursos adicionais
GitHub Repository
Visualize o código-fonte, relate problemas ou contribua com melhorias
npm Package
Consulte os detalhes do pacote e as instruções de instalação