Zum Hauptinhalt springen

Anwendungsfälle

Erforschen Sie gängige Szenarien, die vom API Gateway Blueprint unterstützt werden:

API-as-a-Service

Verfolgen Sie die Nutzung pro Kunde für API-Plattformen und berechnen Sie basierend auf der Anzahl der Aufrufe.

Rate Limiting

Überwachen Sie API-Nutzungsmuster und implementieren Sie nutzungsbasierte Ratenbegrenzung.

Performance Monitoring

Verfolgen Sie Antwortzeiten und Fehlerquoten zusammen mit Abrechnungsdaten.

Multi-Tenant SaaS

Berechnen Sie Kunden basierend auf ihrem API-Verbrauch über verschiedene Endpunkte hinweg.
Ideal zur Verfolgung der Nutzung von API-Endpunkten, zur Ratenbegrenzung und zur Implementierung der nutzungsbasierten API-Abrechnung.

Schnellstart

Verfolgen Sie API-Aufrufe auf Gateway-Ebene mit automatischer Batch-Verarbeitung für hochvolumige Szenarien:
1

Installieren Sie das SDK

npm install @dodopayments/ingestion-blueprints
2

Holen Sie sich Ihre API-Schlüssel

3

Erstellen Sie ein Messgerät

Erstellen Sie ein Messgerät in Ihrem Dodo Payments Dashboard:
  • Ereignisname: api_call (oder Ihr bevorzugter Name)
  • Aggregationsart: count zur Verfolgung der Anzahl der Aufrufe
  • Konfigurieren Sie zusätzliche Eigenschaften, wenn Sie Metadaten wie Antwortzeiten, Statuscodes usw. verfolgen.
4

Verfolgen Sie API-Aufrufe

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
  }
});

Konfiguration

Ingestion-Konfiguration

apiKey
string
required
Ihr Dodo Payments API-Schlüssel aus dem Dashboard.
environment
string
required
Umgebungsmodus: test_mode oder live_mode.
eventName
string
required
Ereignisname, der mit Ihrer Messgerätkonfiguration übereinstimmt.

Optionen zum Verfolgen von API-Aufrufen

customerId
string
required
Die Kunden-ID für die Abrechnungszuordnung.
metadata
object
Optionale Metadaten über den API-Aufruf wie Endpunkt, Methode, Statuscode, Antwortzeit usw.

Batch-Konfiguration

maxSize
number
Maximale Anzahl von Ereignissen vor dem automatischen Flush. Standard: 100.
flushInterval
number
Automatisches Flush-Intervall in Millisekunden. Standard: 5000 (5 Sekunden).

Best Practices

Verwenden Sie Batching für hohe Volumen: Für Anwendungen, die mehr als 10 Anfragen pro Sekunde verarbeiten, verwenden Sie createBatch(), um den Overhead zu reduzieren und die Leistung zu verbessern.
Reinigen Sie immer Batches: Rufen Sie batch.cleanup() beim Herunterfahren der Anwendung auf, um ausstehende Ereignisse zu flushen und Datenverlust zu verhindern.