@dodopayments/ingestion-blueprints som trackAPICall(), vilket skickar en händelse per anrop, och createBatch(), som köar händelser vid stora mängder förfrågningar.
Användningsfall
API Gateway Blueprint passar för följande scenarier:API-as-a-Service
Rate Limiting
Performance Monitoring
Multi-Tenant SaaS
Varje händelse behöver Dodo Payments kund-ID:t för kunden du debiterar, vilket börjar med
cus_. Lagra det tillsammans med användarposten när du skapar kunden och skicka det som customerId.Snabbstart
För att spåra API-anrop installerar du paketet, skapar en mätare och skickar en händelse för varje anrop.1
Install the SDK
Installera paketet Dodo Payments Ingestion Blueprints:
2
Get Your API Keys
Skapa en Dodo Payments API-nyckel under Developer → API Keys i Dodo Payments-dashboarden och lagra den i miljövariabeln
DODO_PAYMENTS_API_KEY. Använd en testlägesnyckel medan du bygger. En testlägesnyckel fungerar endast med test_mode.3
Create a Meter
I Dodo Payments-dashboarden går du till Products → Meters och klickar på Create Meter. Ange följande fält:
- Meter Name: ett beskrivande namn, till exempel
API Calls. - Event Name:
api_calleller ett namn som du väljer. Det måste exakt matchaeventNamei din kod (skiftlägeskänsligt). - Aggregation Type: Count, för att debitera baserat på antalet anrop.
- Measurement Unit: enheten som visas på fakturor, till exempel
calls.
endpoint, method eller status_code.4
Track API Calls
Skapa en instans av
Ingestion med din API-nyckel och händelsenamn och välj sedan ett mönster: en händelse per anrop, en batch för hög volym eller Express.js-middleware som spårar varje begäran. I middleware kommer req.user från din autentiseringsmiddleware, och dess id måste vara ett Dodo Payments kund-ID. Begäranden utan en inloggad användare skickas med kund-ID:t anonymous, som inte matchar någon kund.Konfiguration
Ingestion-konfiguration
Skicka dessa alternativ tillnew Ingestion():
string
obligatorisk
Din Dodo Payments API-nyckel från dashboarden.
string
Miljöläge:
test_mode eller live_mode. Standardvärdet är test_mode. Dodo Payments SDK:er använder däremot live_mode som standard, så ange live_mode uttryckligen i produktion.string
obligatorisk
Händelsenamnet som matchar mätarens Event Name (skiftlägeskänsligt). Varje händelse som denna instans skickar använder det.
Alternativ för spårning av API-anrop
Skicka dessa alternativ tilltrackAPICall() och batch.add():
string
obligatorisk
Dodo Payments kund-ID:t som ska debiteras för anropet, till exempel
cus_123.object
Valfria metadata om API-anropet, till exempel endpoint, metod, statuskod och svarstid. Varje värde måste vara en sträng, ett tal eller ett booleskt värde. API:et avvisar kapslade objekt, arrayer och värden av typen
null.Batch-konfiguration
createBatch(ingestion, options) köar händelser i minnet och returnerar ett objekt med tre metoder: add() köar en händelse, flush() skickar de köade händelserna och cleanup() skickar dem och stoppar timern. En flush skickar en ingest-begäran per händelse, parallellt.
number
Antalet köade händelser som utlöser en omedelbar flush. Standardvärde:
100.number
Antalet millisekunder som ska förflyta efter den senaste
add() innan batchen flushas. Varje add() startar om timern. Standardvärde: 5000 (5 sekunder).Bästa praxis
En batch lagrar händelser i minnet tills den flushas, och den försöker inte skicka händelser igen om de misslyckas. En automatisk flush loggar felet medconsole.error. Ett anrop till flush() eller cleanup() kastar det.