API Reference — Events Ingestion
Komplett API-dokumentation med exempel och svarskoder.
Event Structure
Required Fields
Required Fields
string
obligatorisk
En unik identifierare för händelsen som används för att upptäcka duplicerade händelser vid nya försök. Härled den från åtgärden, till exempel kund-ID + åtgärd + tidsstämpel, så att en händelse som försöks igen behåller samma ID. Ett nytt slumpmässigt UUID vid varje nytt försök gör att samma händelse kan räknas två gånger.
string
obligatorisk
Dodo Payments-kundens ID. Måste vara en giltig befintlig kund.
string
obligatorisk
Händelsetypen som matchar mätarens händelsenamn (skiftlägeskänsligt). Exempel:
api.call, image.generated.Optional Fields
Optional Fields
string
ISO 8601-tidsstämpel (UTC). Om den utelämnas används den aktuella servertiden som standard. Inkludera den för korrekt debitering vid fördröjda händelser eller batchhändelser. Tidsstämplar som är äldre än 1 timme eller mer än 5 minuter framåt i tiden avvisas.
object
Ytterligare egenskaper för aggregering och filtrering. Upp till 50 nycklar; varje nyckel kan vara upp till 100 tecken lång och varje värde upp till 500 tecken långt.
- Numeriska värden:
bytes,tokens,duration_ms - Filter:
endpoint,method,quality
Sending Events
Ingestion Blueprints
Ready-made event patterns for common use cases. Start with a proven blueprint instead of building from scratch.LLM Blueprint
Track AI token usage across OpenAI, Anthropic, Groq, Gemini, and more.
API Gateway Blueprint
Meter API requests with endpoint filtering and rate limiting support.
Object Storage Blueprint
Track file uploads and storage consumption for cloud storage services.
Stream Blueprint
Measure streaming bandwidth for video, audio, and real-time data.
Time Range Blueprint
Bill by elapsed time for serverless functions and compute instances.
View All Blueprints
See all available blueprints with detailed implementation guides.
Best Practices
Use Unique Event IDs
Use Unique Event IDs
Använd deterministiska ID:n för att förhindra dubbletter:
${customerId}_${action}_${timestamp}.Implement Retries
Implement Retries
Försök igen vid 5xx- och
429-fel med exponentiell backoff. Försök inte igen vid andra 4xx-fel.Include Timestamps
Include Timestamps
Utelämna tidsstämplar för realtidshändelser. Inkludera dem för fördröjda händelser eller batchhändelser för bättre noggrannhet.
Monitor Delivery
Monitor Delivery
Track success rates and queue failed events for retry.
Troubleshooting
Events not appearing
Events not appearing
- Händelsenamnet måste exakt matcha mätaren (skiftlägeskänsligt)
- Kund-ID:t måste finnas i ditt konto
- Kontrollera att mätarens filter inte exkluderar händelser
- Kontrollera att tidsstämplarna är aktuella
Authentication errors (401)
Authentication errors (401)
Kontrollera att API-nyckeln är korrekt och använd formatet:
Bearer YOUR_API_KEY.Validation errors (400)
Validation errors (400)
Säkerställ att alla obligatoriska fält finns:
event_id, customer_id, event_name.Metadata not aggregating
Metadata not aggregating
- Metadatanycklarna måste exakt matcha mätarens “Over Property”
- Använd tal, inte strängar:
tokens: 150, intetokens: "150"
Next Steps
Create Meters
Define how your events are aggregated into billable quantities with filters and aggregation functions.
Ingestion Blueprints
Use ready-made blueprints for common use cases like LLM tracking, API gateways, and storage.
Complete Tutorial
Build a full AI image generator with usage-based billing from scratch.
API Reference
Complete API documentation with all parameters, response codes, and interactive testing.