Pular para o conteúdo principal

Casos de Uso

Explore cenários comuns suportados pelo Blueprint do API Gateway:

API como Serviço

Rastreie o uso por cliente para plataformas de API e cobre com base no número de chamadas.

Limitação de Taxa

Monitore padrões de uso da API e implemente limitação de taxa baseada em uso.

Monitoramento de Desempenho

Rastreie tempos de resposta e taxas de erro junto com dados de faturamento.

SaaS Multi-Tenant

Fature clientes com base em seu consumo de API em diferentes endpoints.
Ideal para rastrear o uso de endpoints de API, limitação de taxa e implementar faturamento de API baseado em uso.

Início Rápido

Rastreie chamadas de API no nível do gateway com agrupamento automático para cenários de alto volume:
1

Instale o SDK

npm install @dodopayments/ingestion-blueprints
2

Obtenha suas Chaves de API

3

Crie um Medidor

Crie um medidor no seu Painel do Dodo Payments:
  • Nome do Evento: api_call (ou seu nome preferido)
  • Tipo de Agregação: count para rastrear o número de chamadas
  • Configure propriedades adicionais se rastrear metadados como tempos de resposta, códigos de status, etc.
4

Rastreie Chamadas de API

import { Ingestion, trackAPICall } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'api_call'
});

// Track a single API call
await trackAPICall(ingestion, {
  customerId: 'customer_123',
  metadata: {
    endpoint: '/api/v1/users',
    method: 'GET',
    status_code: 200,
    response_time_ms: 45
  }
});

Configuração

Configuração de Ingestão

apiKey
string
required
Sua chave da API do Dodo Payments do painel.
environment
string
required
Modo de ambiente: test_mode ou live_mode.
eventName
string
required
Nome do evento que corresponde à sua configuração de medidor.

Opções de Rastreio de Chamadas de API

customerId
string
required
O ID do cliente para atribuição de faturamento.
metadata
object
Metadados opcionais sobre a chamada de API, como endpoint, método, código de status, tempo de resposta, etc.

Configuração de Lote

maxSize
number
Número máximo de eventos antes do auto-flush. Padrão: 100.
flushInterval
number
Intervalo de auto-flush em milissegundos. Padrão: 5000 (5 segundos).

Melhores Práticas

Use Agrupamento para Alto Volume: Para aplicações que lidam com mais de 10 solicitações por segundo, use createBatch() para reduzir a sobrecarga e melhorar o desempenho.
Sempre Limpe os Lotes: Chame batch.cleanup() ao desligar a aplicação para descarregar eventos pendentes e evitar perda de dados.