Zum Hauptinhalt springen
Ereignisse sind die Grundlage der nutzungsbasierten Abrechnung. Senden Sie Ereignisse, wenn abrechnungsfähige Aktionen stattfinden, und Zähler aggregieren sie in Gebühren.

API-Referenz - Ereignisaufnahme

Vollständige API-Dokumentation mit Beispielen und Antwortcodes.

Ereignisstruktur

event_id
string
required
Eindeutiger Identifikator. Verwenden Sie UUIDs oder kombinieren Sie Kunden-ID + Zeitstempel + Aktion.
customer_id
string
required
Dodo Payments Kunden-ID. Muss ein gültiger, bestehender Kunde sein.
event_name
string
required
Ereignistyp, der mit dem Ereignisnamen Ihres Zählers übereinstimmt (groß- und kleinschreibungssensitiv). Beispiele: api.call, image.generated
timestamp
string
ISO 8601 Zeitstempel. Standardmäßig wird die Serverzeit verwendet, wenn er weggelassen wird. Einschließen für genaue Abrechnung bei verzögerten/Batch-Ereignissen.
metadata
object
Zusätzliche Eigenschaften zur Aggregation und Filterung:
  • Numerische Werte: bytes, tokens, duration_ms
  • Filter: endpoint, method, quality
metadata: {
  endpoint: "/v1/orders",
  method: "POST",
  tokens: 1024
}

Ereignisse senden

await fetch('https://test.dodopayments.com/events/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.DODO_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    events: [{
      event_id: "api_call_1234",
      customer_id: "cus_abc123",
      event_name: "api.call",
      metadata: { endpoint: "/v1/orders" }
    }]
  })
});
Fassen Sie bis zu 100 Ereignisse pro Anfrage für eine bessere Leistung zusammen.

Aufnahme-Blueprints

Fertige Ereignismuster für gängige Anwendungsfälle. Beginnen Sie mit einem bewährten Blueprint, anstatt von Grund auf neu zu erstellen.

Best Practices

Verwenden Sie deterministische IDs, um Duplikate zu vermeiden: ${customerId}_${action}_${timestamp}
Wiederholen Sie bei 5xx-Fehlern mit exponentiellem Backoff. Wiederholen Sie keine 4xx-Fehler.
Weglassen für Echtzeitevents. Einschließen für verzögerte/Batch-Ereignisse zur Genauigkeit.
Verfolgen Sie Erfolgsquoten und stellen Sie fehlgeschlagene Ereignisse zur Wiederholung in die Warteschlange.

Fehlersuche

  • Der Ereignisname muss genau mit dem Zähler übereinstimmen (groß- und kleinschreibungssensitiv)
  • Kunden-ID muss existieren
  • Überprüfen Sie, ob die Zählerfilter Ereignisse ausschließen
  • Überprüfen Sie, ob die Zeitstempel aktuell sind
Überprüfen Sie, ob der API-Schlüssel korrekt ist und verwenden Sie das Format: Bearer YOUR_API_KEY
Stellen Sie sicher, dass alle erforderlichen Felder vorhanden sind: event_id, customer_id, event_name
  • Die Metadaten-Schlüssel müssen genau mit dem “Über Eigenschaft” des Zählers übereinstimmen
  • Verwenden Sie Zahlen, nicht Strings: tokens: 150 nicht tokens: "150"

Nächste Schritte