Vai al contenuto principale
Gli eventi sono la base della fatturazione basata sull’uso. Invia eventi quando si verificano azioni fatturabili e i contatori li aggregano in addebiti.

API Reference - Events Ingestion

Documentazione API completa con esempi e codici di risposta.

Struttura dell’Evento

event_id
string
obbligatorio
Identificatore univoco. Usa UUID o combina ID cliente + timestamp + azione.
customer_id
string
obbligatorio
ID cliente Dodo Payments. Deve essere un cliente esistente valido.
event_name
string
obbligatorio
Tipo di evento che corrisponde esattamente al nome dell’evento del tuo meter (sensibile alle maiuscole). Esempi: api.call, image.generated
timestamp
string
Timestamp ISO 8601. Se omesso, predefinito all’ora del server. Includilo per una fatturazione precisa con eventi ritardati o in batch.
metadata
object
Proprietà aggiuntive per l’aggregazione e il filtraggio:
  • Valori numerici: bytes, tokens, duration_ms
  • Filtri: endpoint, method, quality
metadata: {
  endpoint: "/v1/orders",
  method: "POST",
  tokens: 1024
}

Invio di Eventi

await fetch('https://test.dodopayments.com/events/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.DODO_PAYMENTS_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" }
    }]
  })
});
Raggruppa fino a 100 eventi per richiesta per prestazioni migliori.

Modelli di Ingestione

Modelli di eventi pronti all’uso per casi d’uso comuni. Inizia con un modello collaudato invece di costruire da zero.

Migliori Pratiche

Usa ID deterministici per prevenire duplicati: ${customerId}_${action}_${timestamp}
Riprova con backoff esponenziale sugli errori 5xx. Non riprovare errori 4xx.
Omettilo per eventi in tempo reale. Includilo per eventi ritardati o in batch per garantire precisione.
Monitora i tassi di successo e accoda gli eventi falliti per il retry.

Risoluzione dei Problemi

  • Il nome dell’evento deve corrispondere esattamente al meter (sensibile alle maiuscole)
  • L’ID cliente deve esistere
  • Verifica che i filtri del meter non stiano escludendo gli eventi
  • Assicurati che i timestamp siano recenti
Verifica che la chiave API sia corretta e usa il formato: Bearer YOUR_API_KEY
Assicurati che tutti i campi obbligatori siano presenti: event_id, customer_id, event_name
  • Le chiavi dei metadata devono corrispondere esattamente a “Over Property” del meter
  • Usa numeri, non stringhe: tokens: 150 non tokens: "150"

Prossimi Passi