API Reference — Events Ingestion
API Reference — Meters Creation
Creating a Meter
Meters define how your usage events are aggregated and measured for billing purposes. Before creating a meter, plan your usage tracking strategy:- Identify what usage events you want to track
- Determine how events should be aggregated (count, sum, etc.)
- Define any filtering requirements for specific use cases
Step-by-Step Meter Creation
Siga este guia para configurar seu medidor de uso:Configure Basic Information
Configure Aggregation Settings
- Count
- Sum
- Max
- Last
Configure Event Filtering (Optional)
- AND Logic
- OR Logic
user_tier = "premium" AND endpoint = "/api/v2/users"Add Condition
Configure Property Key
Select Comparator
equals— Correspondência exatanot_equals— Filtro de exclusãogreater_than— Comparação numéricagreater_than_or_equals— Comparação numérica (inclusiva)less_than— Comparação numéricaless_than_or_equals— Comparação numérica (inclusiva)contains— A string contém a substringdoes_not_contain— Filtro de exclusão de string
Set Comparison Value
Add Groups
Create Meter
Vinculando um medidor a um produto
Depois de criar seu medidor, você precisa vinculá-lo a um produto para habilitar a cobrança baseada em uso. Esse processo conecta os dados de uso do medidor às regras de preços para a cobrança dos clientes. Vincular medidores a produtos estabelece a conexão entre o acompanhamento de uso e a cobrança:- Os produtos definem as regras de preços e o comportamento da cobrança
- Os medidores fornecem dados de uso para os cálculos de cobrança
- Vários medidores podem ser vinculados a um único produto para cenários complexos de cobrança
Processo de configuração do produto
Transforme seus dados de uso em cobranças faturáveis configurando corretamente as definições do produto:Choose Usage-Based Billing Product Type
Select Associated Meter
Add Your Meter
- Clique em Add Meters para ver os medidores disponíveis
- Selecione na lista suspensa o medidor que você criou
- O medidor selecionado aparecerá na configuração do produto
Configure Price Per Unit
- 1.000 unidades consumidas = 1.000 × $0.50 = $500.00 cobrados
- 500 unidades consumidas = 500 × $0.50 = $250.00 cobrados
- 100 unidades consumidas = 100 × $0.50 = $50.00 cobrados
Set Free Threshold (Optional)
- Limite gratuito: 100 unidades
- Preço por unidade: $0.50
- Uso do cliente: 250 unidades
- Cálculo: (250 - 100) × $0.50 = $75.00 cobrados
Save Configuration
- Os eventos de uso enviados ao seu medidor serão acompanhados e agregados
- Os cálculos de cobrança aplicarão suas regras de preços automaticamente
- Os clientes serão cobrados com base no consumo real durante cada ciclo de cobrança
Enviando eventos de uso
Depois que seu medidor estiver configurado, você poderá começar a enviar eventos de uso do seu aplicativo para acompanhar o uso dos clientes.Estrutura do evento
Cada evento de uso deve incluir estes campos obrigatórios:Exemplos da API de eventos de uso
Envie eventos de uso aos medidores configurados usando a Events API:Pontos importantes para uma ingestão confiável
Siga estas práticas para manter o acompanhamento do uso preciso e resiliente em produção.timestamp para eventos em tempo real; nesse caso, ele assume o timestamp UTC atual. Defina-o explicitamente (ISO 8601) para eventos atrasados ou agrupados, para que o uso seja registrado no período de cobrança correto. Observe que a janela aceita é restrita: eventos com timestamp de mais de 1 hora no passado ou mais de 5 minutos no futuro são rejeitados. O preenchimento histórico não é compatível — envie os eventos armazenados em buffer dentro de uma hora.Análises de cobrança baseada em uso
Monitore e analise seus dados de cobrança baseada em uso com um dashboard completo de análises. Acompanhe padrões de consumo dos clientes, desempenho dos medidores e tendências de cobrança para otimizar sua estratégia de preços e entender os comportamentos de uso.Análises gerais
A aba Overview oferece uma visão completa do desempenho da sua cobrança baseada em uso:Métricas de atividade
Acompanhe as principais estatísticas de uso em diferentes períodos:Gráfico de quantidades dos medidores

- Visualização de série temporal: acompanhe padrões de uso ao longo de dias, semanas ou meses
- Suporte a vários medidores: visualize dados de diferentes medidores simultaneamente
- Análise de tendências: identifique picos de uso, padrões e trajetórias de crescimento
Análises de eventos

Exibição de informações dos eventos
A tabela de eventos oferece uma visão clara dos eventos de uso individuais com as seguintes colunas:- Nome do evento: a ação ou o acionador específico que gerou o evento de uso
- ID do evento: um identificador exclusivo para cada instância do evento
- ID do cliente: o cliente associado ao evento
- Timestamp: quando o evento ocorreu
Análises de clientes
A aba Customers fornece uma visualização detalhada em tabela dos dados de uso dos clientes com as seguintes informações:Colunas de dados disponíveis
Recursos da tabela
- Filtragem de colunas: use o recurso “Edit Columns” para mostrar ou ocultar colunas de dados específicas
- Atualizações em tempo real: os dados de uso refletem as métricas de consumo mais atuais
Exemplos de agregação
Veja exemplos práticos de como funcionam diferentes tipos de agregação:Entendendo os tipos de agregação
Diferentes tipos de agregação atendem a diferentes cenários de cobrança. Escolha o tipo correto com base em como deseja medir e cobrar pelo uso.Exemplos práticos de implementação
Estes exemplos demonstram aplicações reais de cada tipo de agregação com eventos de exemplo e resultados esperados:Count Aggregation — API Calls
Count Aggregation — API Calls
- Nome do evento:
api.call - Tipo de agregação: Count
- Unidade de medida:
calls
Sum Aggregation — Data Transfer
Sum Aggregation — Data Transfer
- Nome do evento:
data.transfer - Tipo de agregação: Sum
- Over Property:
bytes - Unidade de medida:
GB
Max Aggregation — Peak Concurrent Users
Max Aggregation — Peak Concurrent Users
- Nome do evento:
concurrent.users - Tipo de agregação: Max
- Over Property:
count - Unidade de medida:
users
Exemplos de filtragem de eventos
- Filter by API Endpoint
- Filter by Value Range
- Complex Multi-Condition Filters
- Propriedade:
endpoint - Comparador:
equals - Valor:
/v1/orders
Solução de problemas
Resolva problemas comuns na implementação da cobrança baseada em uso e garanta um acompanhamento e uma cobrança precisos.Problemas comuns
A maioria dos problemas de cobrança baseada em uso se enquadra nestas categorias:- Problemas de entrega e processamento de eventos
- Problemas de configuração do medidor
- Erros de tipo e formatação de dados
- Problemas de ID do cliente e autenticação
Etapas de depuração
Ao solucionar problemas de cobrança baseada em uso:- Verifique a entrega dos eventos na aba de análises Events
- Confira se a configuração do medidor corresponde à estrutura dos eventos
- Valide os IDs dos clientes e a autenticação da API
- Revise as condições de filtragem e as configurações de agregação
Soluções e correções
Events not showing in meter
Events not showing in meter
- O nome do evento não corresponde exatamente à configuração do medidor
- As condições de filtragem de eventos estão excluindo seus eventos
- O ID do cliente não existe na sua conta Dodo Payments
- O timestamp do evento está fora do período de cobrança atual
- Verifique a grafia do nome do evento e a diferenciação entre maiúsculas e minúsculas
- Revise e teste suas condições de filtragem
- Confirme se o ID do cliente é válido e está ativo
- Verifique se os timestamps dos eventos são recentes e estão formatados corretamente
Aggregation not working as expected
Aggregation not working as expected
- O nome de Over Property não corresponde às chaves de metadados do evento
- Os valores dos metadados têm o tipo de dados incorreto (string em vez de número)
- Faltam propriedades de metadados obrigatórias
- Garanta que as chaves de metadados correspondam exatamente à configuração de Over Property
- Converta números em strings para números reais nos eventos
- Inclua todas as propriedades obrigatórias em cada evento
Filtering not working
Filtering not working
- Os nomes das propriedades do filtro não correspondem aos metadados do evento
- Comparador incorreto para o tipo de dados (string em vez de número)
- Diferenciação entre maiúsculas e minúsculas nas comparações de strings
- Verifique novamente se os nomes das propriedades correspondem exatamente
- Use comparadores apropriados para seus tipos de dados
- Considere a diferenciação entre maiúsculas e minúsculas ao filtrar strings