Hoppa till huvudinnehåll
Evenemang är grunden för användningsbaserad fakturering. Skicka evenemang när fakturerbara åtgärder inträffar, och mätare aggregerar dem till avgifter.

API Reference - Events Ingestion

Fullständig API-dokumentation med exempel och svarskoder.

Eventstruktur

event_id
string
obligatorisk
Unik identifierare. Använd UUID:er eller kombinera kund-ID + tidsstämpel + åtgärd.
customer_id
string
obligatorisk
Dodo Payments kund-ID. Måste vara en giltig befintlig kund.
event_name
string
obligatorisk
Evenemangstyp som matchar din mätarens evenemangsnamn (skiftlägeskänslig). Exempel: api.call, image.generated
timestamp
string
ISO 8601 tidsstämpel. Standardvärde är serverns tid om den utelämnas. Inkludera för noggrann fakturering med fördröjda/batch-evenemang.
metadata
object
Ytterligare egenskaper för aggregering och filtrering:
  • Numeriska värden: bytes, tokens, duration_ms
  • Filter: endpoint, method, quality
metadata: {
  endpoint: "/v1/orders",
  method: "POST",
  tokens: 1024
}

Skicka evenemang

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" }
    }]
  })
});
Batcha upp till 100 evenemang per begäran för bättre prestanda.

Ingestionsmönster

Färdiga evenemangsmönster för vanliga användningsfall. Börja med ett beprövat mönster istället för att bygga från grunden.

Bästa praxis

Använd deterministiska ID:n för att förhindra dubbletter: ${customerId}_${action}_${timestamp}
Försök igen vid 5xx-fel med exponentiell backoff. Försök inte igen vid 4xx-fel.
Uteslut för realtids-evenemang. Inkludera för fördröjda/batch-evenemang för noggrannhet.
Spåra framgångsfrekvenser och köa misslyckade evenemang för omförsök.

Felsökning

  • Evenemangsnamnet måste exakt matcha mätaren (skiftlägeskänslig)
  • Kund-ID måste finnas
  • Kontrollera att mätarens filter inte utesluter evenemang
  • Verifiera att tidsstämplarna är aktuella
Verifiera att API-nyckeln är korrekt och använd format: Bearer YOUR_API_KEY
Säkerställ att alla obligatoriska fält är närvarande: event_id, customer_id, event_name
  • Metadata-nycklar måste matcha mätarens “Över egenskap” exakt
  • Använd siffror, inte strängar: tokens: 150 inte tokens: "150"

Nästa steg