Pular para o conteúdo principal

Casos de Uso

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

API-as-a-Service

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

Rate Limiting

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

Performance Monitoring

Acompanhe tempos de resposta e taxas de erro juntamente com dados de cobrança.

Multi-Tenant SaaS

Cobre os clientes com base no consumo de API em diferentes endpoints.
Ideal para rastrear o uso de endpoints de API, limitar taxas e implementar cobrança de API baseada 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

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Crie um medidor no seu Painel Dodo Payments:
  • Event Name: api_call (ou o nome que preferir)
  • Aggregation Type: count para rastrear o número de chamadas
  • Configure propriedades adicionais se estiver rastreando metadados como tempos de resposta, códigos de status, etc.
4

Track API Calls

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
obrigatório
Sua chave de API Dodo Payments do painel.
environment
string
obrigatório
Modo de ambiente: test_mode ou live_mode.
eventName
string
obrigatório
Nome do evento que corresponde à configuração do seu medidor.

Opções de Rastreio de Chamadas de API

customerId
string
obrigatório
O ID do cliente para atribuição de cobrança.
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 aplicativos que lidam com mais de 10 requisições por segundo, use createBatch() para reduzir a sobrecarga e melhorar o desempenho.
Sempre Limpe os Agrupamentos: Chame batch.cleanup() ao desligar a aplicação para limpar eventos pendentes e evitar perda de dados.