Skip to main content

API Reference — Events Ingestion

Greifen Sie auf die vollständige API-Dokumentation zum Erfassen von Nutzungsereignissen zu und testen Sie Anfragen und Antworten zur Ereigniserfassung interaktiv.

API Reference — Meters Creation

Sehen Sie sich die vollständige API-Dokumentation zum Erstellen von Messgeräten an und testen Sie Anfragen und Antworten zur Messgeräteerstellung interaktiv.

Creating a Meter

Meters define how your usage events are aggregated and measured for billing purposes. Before creating a meter, plan your usage tracking strategy:
  • Identify what usage events you want to track
  • Determine how events should be aggregated (count, sum, etc.)
  • Define any filtering requirements for specific use cases

Step-by-Step Meter Creation

Befolgen Sie diesen Leitfaden, um Ihr Nutzungs-Messgerät einzurichten:
1

Configure Basic Information

Set up the fundamental details for your meter.
string
erforderlich
Ein eindeutiger, beschreibender Name, der angibt, was dieses Messgerät erfasst.Examples: “Tokens”, “API Calls”, “Storage Usage”, “Compute Hours”
string
Eine detaillierte Beschreibung dessen, was dieses Messgerät misst.Example: “Counts each POST /v1/orders request made by the customer”
string
erforderlich
Die Ereigniskennung, die dieses Messgerät auslöst.Examples: “token”, “api.call”, “storage.usage”, “compute.session”
The event name must match exactly what you send in your usage events. Event names are case-sensitive.
2

Configure Aggregation Settings

Define how the meter calculates usage from your events.
string
erforderlich
Select how events should be aggregated:
Zählt die Anzahl der empfangenen Ereignisse.Use case: API calls, page views, file uploadsCalculation: Total number of events
string
The property name from event metadata to aggregate over.
This field is required when using Sum, Max, or Last aggregation types.
string
erforderlich
Die Einheit zur Anzeige in Berichten und Abrechnungen.Examples: “calls”, “GB”, “hours”, “tokens”
3

Configure Event Filtering (Optional)

Set up criteria to control which events are included in the meter.
Event filtering allows you to create sophisticated rules that determine which events contribute to your usage calculations. This is useful for excluding test events, filtering by user tiers, or focusing on specific actions.
Enable Event FilteringToggle Enable Event Filtering to activate conditional event processing.Choose Filter LogicSelect how multiple conditions are evaluated:
All conditions must be true for an event to be counted. Use this when you need events to meet multiple strict criteria simultaneously.Example: Count API calls where user_tier = "premium" AND endpoint = "/api/v2/users"
Setting Up Filter Conditions
1

Add Condition

Click Add condition to create a new filter rule.
2

Configure Property Key

Specify the property name from your event metadata.
3

Select Comparator

Wählen Sie aus den verfügbaren Operatoren:
  • equals — Exakte Übereinstimmung
  • not_equals — Ausschlussfilter
  • greater_than — Numerischer Vergleich
  • greater_than_or_equals — Numerischer Vergleich (einschließlich)
  • less_than — Numerischer Vergleich
  • less_than_or_equals — Numerischer Vergleich (einschließlich)
  • contains — Teilzeichenfolge in String enthalten
  • does_not_contain — String-Ausschlussfilter
4

Set Comparison Value

Set the target value for comparison.
5

Add Groups

Use Add Group to create additional condition groups for complex logic.
Filtered properties must be included in your event metadata for the conditions to work properly. Events missing required properties will be excluded from counting.
4

Create Meter

Überprüfen Sie Ihre Messgerätekonfiguration und klicken Sie auf Create Meter.
Ihr Messgerät ist nun bereit, Nutzungsereignisse zu empfangen und zu aggregieren.

Messgerät mit einem Produkt verknüpfen

Nachdem Sie Ihr Messgerät erstellt haben, müssen Sie es mit einem Produkt verknüpfen, um eine verbrauchsbasierte Abrechnung zu aktivieren. Dadurch werden die Nutzungsdaten Ihres Messgeräts mit Preisregeln für die Kundenabrechnung verbunden. Durch die Verknüpfung von Messgeräten mit Produkten wird die Verbindung zwischen Nutzungserfassung und Abrechnung hergestellt:
  • Produkte definieren Preisregeln und Abrechnungsverhalten
  • Messgeräte liefern Nutzungsdaten für Abrechnungsberechnungen
  • Mehrere Messgeräte können für komplexe Abrechnungsszenarien mit einem einzelnen Produkt verknüpft werden

Prozess der Produktkonfiguration

Wandeln Sie Ihre Nutzungsdaten in abrechenbare Gebühren um, indem Sie Ihre Produkteinstellungen korrekt konfigurieren:
1

Choose Usage-Based Billing Product Type

Navigieren Sie zur Seite zum Erstellen oder Bearbeiten Ihres Produkts und wählen Sie Usage Based Billing als Abrechnungstyp aus.
2

Select Associated Meter

Klicken Sie auf Associated Meters, um den Auswahlbereich für Messgeräte zu öffnen.In diesem Bereich können Sie konfigurieren, welche Messgeräte die Nutzung für dieses Produkt erfassen.
3

Add Your Meter

Im Auswahlbereich für Messgeräte:
  1. Klicken Sie auf Add Meters, um verfügbare Messgeräte anzuzeigen
  2. Wählen Sie das von Ihnen erstellte Messgerät aus der Dropdown-Liste aus
  3. Das ausgewählte Messgerät wird in Ihrer Produktkonfiguration angezeigt
4

Configure Price Per Unit

Legen Sie den Preis für jede von Ihrem Messgerät erfasste Nutzungseinheit fest.
number
erforderlich
Definieren Sie, wie viel für jede von Ihrem Messgerät gemessene Einheit berechnet werden soll.Beispiel: Ein Preis von $0.50 pro Einheit bedeutet:
  • 1,000 verbrauchte Einheiten = 1,000 × $0.50 = $500.00 berechnet
  • 500 verbrauchte Einheiten = 500 × $0.50 = $250.00 berechnet
  • 100 verbrauchte Einheiten = 100 × $0.50 = $50.00 berechnet
5

Set Free Threshold (Optional)

Konfigurieren Sie ein kostenloses Nutzungskontingent, bevor die Abrechnung beginnt.
number
Anzahl der Einheiten, die Kunden kostenlos verbrauchen können, bevor die Berechnung kostenpflichtiger Nutzung beginnt.So funktioniert es:
  • Kostenlose Schwelle: 100 Einheiten
  • Preis pro Einheit: $0.50
  • Kundennutzung: 250 Einheiten
  • Berechnung: (250 - 100) × $0.50 = $75.00 berechnet
Kostenlose Schwellenwerte eignen sich ideal für Freemium-Modelle, Testzeiträume oder um Kunden ein in ihrem Tarif enthaltenes Basiskontingent bereitzustellen.
Der kostenlose Schwellenwert gilt für jeden Abrechnungszeitraum und stellt Kunden monatlich oder gemäß Ihrem Abrechnungszeitplan ein neues Kontingent bereit.
6

Save Configuration

Überprüfen Sie Ihre Messgeräte- und Preiskonfiguration und klicken Sie anschließend auf Save Changes, um die Einrichtung abzuschließen.
Ihr Produkt ist nun für die verbrauchsbasierte Abrechnung konfiguriert und berechnet Kunden automatisch auf Grundlage ihres gemessenen Verbrauchs.
Was als Nächstes passiert:
  • An Ihr Messgerät gesendete Nutzungsereignisse werden erfasst und aggregiert
  • Abrechnungsberechnungen wenden Ihre Preisregeln automatisch an
  • Kunden werden basierend auf ihrem tatsächlichen Verbrauch während jedes Abrechnungszeitraums belastet
Sie können bis zu 50 Messgeräte pro Produkt hinzufügen und so eine umfassende Nutzungserfassung über mehrere Dimensionen wie API-Aufrufe, Speicher, Rechenzeit und benutzerdefinierte Metriken ermöglichen.

Nutzungsereignisse senden

Nachdem Ihr Messgerät konfiguriert wurde, können Sie beginnen, Nutzungsereignisse aus Ihrer Anwendung zu senden, um die Kundennutzung zu erfassen.

Ereignisstruktur

Jedes Nutzungsereignis muss die folgenden erforderlichen Felder enthalten:
string
erforderlich
Eine eindeutige Kennung für dieses bestimmte Ereignis. Muss über alle Ereignisse hinweg eindeutig sein.
string
erforderlich
Die Dodo Payments-Kunden-ID, der diese Nutzung zugeordnet werden soll.
string
erforderlich
Der Ereignisname, der Ihrer Messgerätekonfiguration entspricht. Ereignisnamen lösen das entsprechende Messgerät aus.
string
ISO-8601-Zeitstempel, zu dem das Ereignis aufgetreten ist. Wird standardmäßig auf den aktuellen UTC-Zeitstempel gesetzt, wenn er nicht angegeben wird. Muss innerhalb der letzten Stunde und höchstens 5 Minuten in der Zukunft liegen — Zeitstempel außerhalb dieses Zeitfensters werden abgelehnt.
object
Zusätzliche Eigenschaften zum Filtern und Aggregieren. Fügen Sie alle Werte ein, auf die in der Einstellung „Over Property“ oder in Filterbedingungen Ihres Messgeräts verwiesen wird.

Beispiele für die Usage Events API

Senden Sie Nutzungsereignisse über die Events API an Ihre konfigurierten Messgeräte:

Wichtige Hinweise für eine zuverlässige Erfassung

Befolgen Sie diese Vorgehensweisen, um eine genaue und robuste Nutzungserfassung in der Produktion sicherzustellen.
Verwenden Sie deterministische, idempotente event_ids. Der event_id muss über alle Ereignisse hinweg eindeutig sein und dient als Idempotenzschlüssel. Ein wiederverwendeter event_id wird als Duplikat behandelt und nicht erneut gezählt, sodass Wiederholungsversuche niemals zu einer doppelten Abrechnung führen. Leiten Sie die ID aus der Aktion statt aus einem Zufallswert ab, z. B. `${customer_id}_${action}_${timestamp}`.
Verarbeiten Sie Ereignisse stapelweise, bis zu 1.000 pro Anfrage. Der /events/ingest-Endpunkt erzwingt ein hartes Maximum von 1.000 Ereignissen pro Anfrage. Größere Stapel werden abgelehnt. Teilen Sie daher hohe Volumina auf mehrere Aufrufe auf. Puffern Sie bei hohen Volumina Ereignisse und senden Sie sie stapelweise, anstatt für jedes Ereignis eine einzelne Anfrage zu senden.
Wiederholen Sie 5xx und 429, niemals andere 4xx. Wiederholen Sie Anfragen bei Serverfehlern (5xx) und Ratenbegrenzungen (429) mit exponentiellem Backoff. Wiederholen Sie keine 400/422-Validierungsfehler — die Nutzlast ist fehlerhaft und wird jedes Mal fehlschlagen. Beheben Sie den Fehler und senden Sie die Anfrage erneut. Stellen Sie Ereignisse, die auch nach Wiederholungen fehlschlagen, in eine Warteschlange, damit keine verloren gehen.
Legen Sie Zeitstempel bewusst fest. Lassen Sie timestamp bei Echtzeitereignissen weg; dann wird standardmäßig der aktuelle UTC-Zeitstempel verwendet. Setzen Sie ihn bei verzögerten oder stapelweise gesendeten Ereignissen explizit im ISO-8601-Format, damit die Nutzung dem korrekten Abrechnungszeitraum zugeordnet wird. Beachten Sie, dass das zulässige Zeitfenster eng ist: Ereignisse mit einem Zeitstempel von mehr als 1 Stunde in der Vergangenheit oder mehr als 5 Minuten in der Zukunft werden abgelehnt. Eine historische Nachverarbeitung wird nicht unterstützt — leeren Sie gepufferte Ereignisse innerhalb einer Stunde.
Senden Sie aggregierte Metadaten als Zahlen, nicht als Strings. Jede Eigenschaft, auf die die Einstellung „Over Property“ eines Messgeräts (Sum, Max, Last) verweist, muss vom Typ Zahl sein — { "tokens": 150 }, nicht { "tokens": "150" }. Stringwerte werden nicht aggregiert.

Analysen der verbrauchsbasierten Abrechnung

Überwachen und analysieren Sie Ihre Daten zur verbrauchsbasierten Abrechnung mit einem umfassenden Analyse-Dashboard. Verfolgen Sie Verbrauchsmuster von Kunden, die Leistung von Messgeräten und Abrechnungstrends, um Ihre Preisstrategie zu optimieren und Nutzungsverhalten zu verstehen.

Übersichtsanalysen

Der Tab „Overview“ bietet eine umfassende Ansicht Ihrer Leistung bei der verbrauchsbasierten Abrechnung:

Aktivitätsmetriken

Verfolgen Sie wichtige Nutzungsstatistiken über verschiedene Zeiträume hinweg:
metric
Zeigt die Nutzungsaktivität für den aktuellen Abrechnungszeitraum an und hilft Ihnen, monatliche Verbrauchsmuster zu verstehen.
metric
Zeigt kumulative Nutzungsstatistiken seit Beginn der Erfassung an und liefert langfristige Erkenntnisse zum Wachstum.
Verwenden Sie die Auswahl des Zeitraums, um die Nutzung verschiedener Monate zu vergleichen und saisonale Trends oder Wachstumsmuster zu erkennen.

Diagramm der Messgerätemengen

Meter quantities chart showing usage trends over time with purple gradient visualization
Das Diagramm der Messgerätemengen visualisiert Nutzungstrends im Zeitverlauf mit folgenden Funktionen:
  • Zeitreihenvisualisierung: Verfolgen Sie Nutzungsmuster über Tage, Wochen oder Monate
  • Unterstützung mehrerer Messgeräte: Zeigen Sie Daten verschiedener Messgeräte gleichzeitig an
  • Trendanalyse: Erkennen Sie Nutzungsspitzen, Muster und Wachstumskurven
Das Diagramm wird automatisch entsprechend Ihrem Nutzungsvolumen und dem ausgewählten Zeitraum skaliert und bietet eine klare Übersicht über sowohl kleine Schwankungen als auch wesentliche Nutzungsänderungen.

Ereignisanalysen

Events table showing event names, IDs, and pagination controls for detailed event analysis
Der Tab „Events“ bietet detaillierte Einblicke in einzelne Nutzungsereignisse:

Anzeige von Ereignisinformationen

Die Ereignistabelle bietet mit den folgenden Spalten eine klare Übersicht über einzelne Nutzungsereignisse:
  • Ereignisname: Die spezifische Aktion oder der Auslöser, durch die bzw. den das Nutzungsereignis erzeugt wurde
  • Ereignis-ID: Eine eindeutige Kennung für jede Ereignisinstanz
  • Kunden-ID: Der mit dem Ereignis verbundene Kunde
  • Zeitstempel: Der Zeitpunkt, zu dem das Ereignis aufgetreten ist
Diese Ansicht ermöglicht es Ihnen, einzelne Nutzungsereignisse über Ihren Kundenstamm hinweg zu verfolgen und zu überwachen, und sorgt für Transparenz bei Abrechnungsberechnungen und Nutzungsmustern.

Kundenanalysen

Der Tab „Customers“ bietet eine detaillierte Tabellenansicht der Kundennutzungsdaten mit den folgenden Informationen:

Verfügbare Datenspalten

string
Die E-Mail-Adresse des Kunden zur Identifikation.
string
Eine eindeutige Kennung für das Abonnement des Kunden.
number
Anzahl der im Tarif des Kunden enthaltenen kostenlosen Einheiten, bevor Gebühren anfallen.
currency
Die Kosten pro Einheit für Nutzung über dem kostenlosen Schwellenwert.
timestamp
Zeitstempel des letzten Nutzungsereignisses des Kunden.
currency
Gesamtbetrag, der dem Kunden für die verbrauchsbasierte Abrechnung berechnet wurde.
number
Gesamtzahl der Einheiten, die der Kunde verbraucht hat.
number
Anzahl der Einheiten, die den kostenlosen Schwellenwert überschreiten und berechnet werden.

Tabellenfunktionen

  • Spaltenfilterung: Verwenden Sie die Funktion „Edit Columns“, um bestimmte Datenspalten ein- oder auszublenden
  • Echtzeitaktualisierungen: Die Nutzungsdaten spiegeln die aktuellsten Verbrauchsmetriken wider

Aggregationsbeispiele

Hier finden Sie praktische Beispiele dafür, wie verschiedene Aggregationstypen funktionieren:

Aggregationstypen verstehen

Verschiedene Aggregationstypen eignen sich für unterschiedliche Abrechnungsszenarien. Wählen Sie den passenden Typ basierend darauf, wie Sie die Nutzung messen und abrechnen möchten.

Beispiele für die praktische Implementierung

Diese Beispiele zeigen reale Anwendungen jedes Aggregationstyps mit Beispielereignissen und erwarteten Ergebnissen:
Szenario: Gesamtzahl der API-Anfragen erfassenMessgerätekonfiguration:
  • Ereignisname: api.call
  • Aggregationstyp: Count
  • Maßeinheit: calls
Beispielereignisse:
Ergebnis: 3 Aufrufe werden dem Kunden berechnet
Szenario: Abrechnung basierend auf der Gesamtzahl übertragener BytesMessgerätekonfiguration:
  • Ereignisname: data.transfer
  • Aggregationstyp: Sum
  • Over Property: bytes
  • Maßeinheit: GB
Beispielereignisse:
Ergebnis: Dem Kunden werden insgesamt 1,5 GB Übertragung berechnet
Szenario: Abrechnung basierend auf der höchsten Anzahl gleichzeitig aktiver BenutzerMessgerätekonfiguration:
  • Ereignisname: concurrent.users
  • Aggregationstyp: Max
  • Over Property: count
  • Maßeinheit: users
Beispielereignisse:
Ergebnis: 23 gleichzeitig aktive Benutzer zum Spitzenzeitpunkt werden dem Kunden berechnet

Beispiele für die Ereignisfilterung

Nur API-Aufrufe an bestimmte Endpunkte zählen:Filterkonfiguration:
  • Eigenschaft: endpoint
  • Vergleichsoperator: equals
  • Wert: /v1/orders
Beispielereignis:
Ergebnis: Ereignisse, die den Filterkriterien entsprechen, werden gezählt. Ereignisse mit anderen Endpunkten werden ignoriert.

Fehlerbehebung

Beheben Sie häufige Probleme bei der Implementierung der verbrauchsabhängigen Abrechnung und stellen Sie eine genaue Erfassung und Abrechnung sicher.

Häufige Probleme

Die meisten Probleme bei der verbrauchsabhängigen Abrechnung lassen sich diesen Kategorien zuordnen:
  • Probleme bei der Übermittlung und Verarbeitung von Ereignissen
  • Probleme bei der Messgerätekonfiguration
  • Fehler bei Datentypen und Formatierung
  • Probleme mit Kunden-ID und Authentifizierung

Schritte zur Fehlerbehebung

Bei der Fehlerbehebung der verbrauchsabhängigen Abrechnung:
  1. Überprüfen Sie die Ereignisübermittlung im Tab „Events“ der Analysen
  2. Stellen Sie sicher, dass die Messgerätekonfiguration Ihrer Ereignisstruktur entspricht
  3. Validieren Sie Kunden-IDs und API-Authentifizierung
  4. Überprüfen Sie Filterbedingungen und Aggregationseinstellungen

Lösungen und Korrekturen

Häufige Ursachen:
  • Der Ereignisname stimmt nicht exakt mit der Messgerätekonfiguration überein
  • Filterbedingungen für Ereignisse schließen Ihre Ereignisse aus
  • Die Kunden-ID ist in Ihrem Dodo Payments-Konto nicht vorhanden
  • Der Ereigniszeitstempel liegt außerhalb des aktuellen Abrechnungszeitraums
Lösungen:
  • Überprüfen Sie Schreibweise und Groß-/Kleinschreibung des Ereignisnamens
  • Überprüfen und testen Sie Ihre Filterbedingungen
  • Bestätigen Sie, dass die Kunden-ID gültig und aktiv ist
  • Stellen Sie sicher, dass die Ereigniszeitstempel aktuell und korrekt formatiert sind
Häufige Ursachen:
  • Der Name der Over Property entspricht nicht den Metadatenschlüsseln des Ereignisses
  • Metadatenwerte haben den falschen Datentyp (String statt Zahl)
  • Erforderliche Metadateneigenschaften fehlen
Lösungen:
  • Stellen Sie sicher, dass die Metadatenschlüssel exakt Ihrer Einstellung für Over Property entsprechen
  • Konvertieren Sie String-Zahlen in Ihren Ereignissen in tatsächliche Zahlen
  • Fügen Sie alle erforderlichen Eigenschaften in jedes Ereignis ein
Häufige Ursachen:
  • Namen der Filtereigenschaften stimmen nicht mit den Ereignismetadaten überein
  • Falscher Vergleichsoperator für den Datentyp (String statt Zahl)
  • Groß-/Kleinschreibung bei Stringvergleichen
Lösungen:
  • Überprüfen Sie genau, ob die Eigenschaftsnamen übereinstimmen
  • Verwenden Sie geeignete Vergleichsoperatoren für Ihre Datentypen
  • Berücksichtigen Sie beim Filtern von Strings die Groß-/Kleinschreibung

Zugehörige API-Referenz

Create Meter

API-Referenz zum Erstellen und Konfigurieren von Nutzungs-Messgeräten zur Erfassung des Kundenverbrauchs.

Ingest Usage Events

API-Referenz zum Senden von Nutzungsereignissen an Ihre konfigurierten Messgeräte für Abrechnungsberechnungen.
Zuletzt geändert am 26. September 2026