API Reference — Events Ingestion
Vollständige API-Dokumentation mit Beispielen und Antwortcodes.
Event Structure
Required Fields
Required Fields
string
erforderlich
Eine eindeutige Kennung für das Ereignis, die dazu dient, doppelte Ereignisse bei Wiederholungen zu erkennen. Leite sie aus der Aktion ab, zum Beispiel Kunden-ID + Aktion + Zeitstempel, damit ein wiederholtes Ereignis dieselbe ID behält. Eine bei jeder Wiederholung neu erzeugte zufällige UUID führt dazu, dass dasselbe Ereignis zweimal gezählt wird.
string
erforderlich
Die Kunden-ID von Dodo Payments. Muss ein gültiger bestehender Kunde sein.
string
erforderlich
Der Ereignistyp, der mit dem Ereignisnamen deines Meters übereinstimmt (Groß-/Kleinschreibung beachten). Beispiele:
api.call, image.generated.Optional Fields
Optional Fields
string
ISO-8601-Zeitstempel (UTC). Wenn nicht angegeben, wird standardmäßig die aktuelle Serverzeit verwendet. Füge ihn für eine genaue Abrechnung bei verzögerten oder gebündelten Ereignissen hinzu. Zeitstempel, die älter als 1 Stunde sind oder mehr als 5 Minuten in der Zukunft liegen, werden abgelehnt.
object
Zusätzliche Eigenschaften für Aggregation und Filterung. Bis zu 50 Schlüssel; jeder Schlüssel kann bis zu 100 Zeichen und jeder Wert bis zu 500 Zeichen umfassen.
- Numerische Werte:
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
Verwende deterministische IDs, um Duplikate zu verhindern:
${customerId}_${action}_${timestamp}.Implement Retries
Implement Retries
Wiederhole Anfragen bei 5xx- und
429-Fehlern mit exponentiellem Backoff. Wiederhole andere 4xx-Fehler nicht.Include Timestamps
Include Timestamps
Lasse Zeitstempel bei Echtzeitereignissen weg. Füge sie bei verzögerten oder gebündelten Ereignissen hinzu, um die Genauigkeit zu gewährleisten.
Monitor Delivery
Monitor Delivery
Track success rates and queue failed events for retry.
Troubleshooting
Events not appearing
Events not appearing
- Der Ereignisname muss genau mit dem Meter übereinstimmen (Groß-/Kleinschreibung beachten)
- Die Kunden-ID muss in deinem Konto vorhanden sein
- Prüfe, ob Meter-Filter Ereignisse ausschließen
- Stelle sicher, dass die Zeitstempel aktuell sind
Authentication errors (401)
Authentication errors (401)
Überprüfe, ob der API-Schlüssel korrekt ist, und verwende das Format:
Bearer YOUR_API_KEY.Validation errors (400)
Validation errors (400)
Stelle sicher, dass alle erforderlichen Felder vorhanden sind:
event_id, customer_id, event_name.Metadata not aggregating
Metadata not aggregating
- Die Metadaten-Schlüssel müssen genau mit dem „Over Property“ des Meters übereinstimmen
- Verwende Zahlen, keine Zeichenfolgen:
tokens: 150statttokens: "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.