Saltar al contenido principal

Casos de Uso

Explora escenarios comunes soportados por la Plantilla de API Gateway:

API-as-a-Service

Realiza el seguimiento del uso por cliente para plataformas API y cobra según el número de llamadas.

Rate Limiting

Supervisa los patrones de uso de la API e implementa limitación de frecuencia basada en el consumo.

Performance Monitoring

Controla los tiempos de respuesta y las tasas de errores junto con los datos de facturación.

Multi-Tenant SaaS

Factura a los clientes según su consumo de API en diferentes endpoints.
Ideal para rastrear el uso de endpoints de API, limitar la frecuencia e implementar facturación API basada en el uso.

Inicio Rápido

Rastrea llamadas a la API a nivel de gateway con agrupamiento automático para escenarios de alto volumen:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Crea un medidor en tu Dodo Payments Dashboard:
  • Nombre del evento: api_call (o el nombre que prefieras)
  • Tipo de agregación: count para registrar el número de llamadas
  • Configura propiedades adicionales si rastreas metadatos como tiempos de respuesta, códigos de estado, 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
  }
});

Configuración

Configuración de Ingesta

apiKey
string
requerido
Tu clave de API de Dodo Payments desde el panel.
environment
string
requerido
Modo de entorno: test_mode o live_mode.
eventName
string
requerido
Nombre del evento que coincida con la configuración de tu medidor.

Opciones para Rastrear Llamadas a la API

customerId
string
requerido
El ID del cliente para atribuir la facturación.
metadata
object
Metadatos opcionales sobre la llamada API como endpoint, método, código de estado, tiempo de respuesta, etc.

Configuración de Lotes

maxSize
number
Número máximo de eventos antes del vaciado automático. Predeterminado: 100.
flushInterval
number
Intervalo de vaciado automático en milisegundos. Predeterminado: 5000 (5 segundos).

Mejores Prácticas

Usa lotes para alto volumen: Para aplicaciones que manejan más de 10 solicitudes por segundo, utiliza createBatch() para reducir la sobrecarga y mejorar el rendimiento.
Siempre limpia los lotes: Llama a batch.cleanup() al cerrar la aplicación para vaciar los eventos pendientes y evitar la pérdida de datos.