Hoppa till huvudinnehåll

Användningsfall

Utforska vanliga scenarier som stöds av API Gateway Blueprint:

API-som-en-tjänst

Spåra användning per kund för API-plattformar och ta betalt baserat på antal anrop.

Hastighetsbegränsning

Övervaka API-användningsmönster och implementera användningsbaserad hastighetsbegränsning.

Prestandaövervakning

Spåra svarstider och felprocent tillsammans med faktureringsdata.

Multi-Tenant SaaS

Fakturera kunder baserat på deras API-konsumtion över olika slutpunkter.
Idealisk för att spåra användning av API-slutpunkter, hastighetsbegränsning och implementera användningsbaserad API-fakturering.

Snabbstart

Spåra API-anrop på gateway-nivå med automatisk batchning för högvolym scenarier:
1

Installera SDK

npm install @dodopayments/ingestion-blueprints
2

Hämta dina API-nycklar

3

Skapa en mätare

Skapa en mätare i din Dodo Payments Dashboard:
  • Händelsenamn: api_call (eller ditt föredragna namn)
  • Aggregations typ: count för att spåra antal anrop
  • Konfigurera ytterligare egenskaper om du spårar metadata som svarstider, statuskoder, etc.
4

Spåra API-anrop

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

Ingestionskonfiguration

apiKey
string
obligatorisk
Din Dodo Payments API-nyckel från instrumentpanelen.
environment
string
obligatorisk
Miljöläge: test_mode eller live_mode.
eventName
string
obligatorisk
Händelsenamn som matchar din mätarkonfiguration.

Spåra API-anropsalternativ

customerId
string
obligatorisk
Kund-ID för faktureringsattribution.
metadata
object
Valfri metadata om API-anropet som slutpunkt, metod, statuskod, svarstid, etc.

Batchkonfiguration

maxSize
number
Maximalt antal händelser innan automatisk tömning. Standard: 100.
flushInterval
number
Automatisk tömningsintervall i millisekunder. Standard: 5000 (5 sekunder).

Bästa praxis

Använd batchning för hög volym: För applikationer som hanterar mer än 10 begärningar per sekund, använd createBatch() för att minska overhead och förbättra prestanda.
Rensa alltid batcher: Anropa batch.cleanup() vid applikationsavstängning för att tömma väntande händelser och förhindra dataloss.