Zum Hauptinhalt springen

Anwendungsfälle

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

API-as-a-Service

Verfolge die Nutzung pro Kunde für API-Plattformen und berechne basierend auf der Anzahl der Aufrufe.

Rate Limiting

Überwache API-Nutzungsmuster und implementiere nutzungsbasierte Drosselung.

Performance Monitoring

Verfolge Antwortzeiten und Fehlerraten zusammen mit Abrechnungsdaten.

Multi-Tenant SaaS

Berechne Kunden basierend auf ihrem API-Verbrauch über verschiedene Endpunkte hinweg.
Ideal zum Verfolgen der Nutzung von API-Endpunkten, der Drosselung und der Implementierung nutzungsbasierter API-Abrechnung.

Schnellstart

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

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Erstelle einen Zähler in deinem Dodo Payments Dashboard:
  • Event Name: api_call (oder deinen bevorzugten Namen)
  • Aggregation Type: count zum Nachverfolgen der Anzahl der Aufrufe
  • Konfiguriere zusätzliche Eigenschaften, wenn du Metadaten wie Antwortzeiten, Statuscodes usw. verfolgst.
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
  }
});

Konfiguration

Ingestion-Konfiguration

apiKey
string
erforderlich
Dein Dodo Payments API-Schlüssel aus dem Dashboard.
environment
string
erforderlich
Umgebungsmodus: test_mode oder live_mode.
eventName
string
erforderlich
Ereignisname, der mit deiner Meter-Konfiguration übereinstimmt.

Optionen zum Verfolgen von API-Aufrufen

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

Batch-Konfiguration

maxSize
number
Maximale Anzahl von Ereignissen vor dem Auto-Flush. Standard: 100.
flushInterval
number
Intervall für den Auto-Flush in Millisekunden. Standard: 5000 (5 Sekunden).

Best Practices

Verwende Batching bei hohem Volumen: Für Anwendungen, die mehr als 10 Anfragen pro Sekunde verarbeiten, verwende createBatch(), um Overhead zu reduzieren und die Leistung zu verbessern.
Räume Batches immer auf: Rufe batch.cleanup() beim Herunterfahren der Anwendung auf, um ausstehende Ereignisse zu übertragen und Datenverlust zu verhindern.