Vai al contenuto principale
Le transazioni sono il denaro. Gli eventi sono tutto il resto che la tua piattaforma conosce: il login che ha preceduto il prelievo, la mano che ha spostato le fiches tra due conti, il bonus riscosso due volte, il chargeback arrivato una settimana dopo. Gli eventi usano un’unica struttura per tutte le categorie, sono progettati per essere idempotenti e vengono valutati dallo stesso motore di regole che assegna il punteggio alle tue transazioni.
L’acquisizione degli eventi è opt-in. Attivala in Transactions → Settings → Event monitoring. Finché non la attivi, nulla cambia: le regole sulle transazioni esistenti continuano ad attivarsi solo sulle transazioni, e non è possibile creare per errore una regola sugli eventi, perché una regola si applica alle transazioni a meno che tu non includa esplicitamente gli eventi.Finché l’acquisizione non è attiva, ogni canale di scrittura - POST /v3/events/, POST /v3/events/batch/, POST /v3/events/sdk-token/ e il canale del dispositivo /v1/events/ - risponde 403 con {"code": "event_monitoring_disabled"}, e nulla viene memorizzato, arricchito o valutato. Le letture non sono interessate.

Endpoint

Il canale /v3/ è il canale server e usa la stessa autenticazione x-api-key del resto dell’API delle transazioni. Il canale /v1/events/ è il canale del dispositivo - vedi Invio di eventi dall’SDK.

La struttura

Categorie

Dieci categorie di primo livello, ciascuna con validazione tipizzata e campi delle regole gestiti. auth è la categoria di prodotto generale; security è il sottoinsieme di rischio con il ciclo di vita ordinato utilizzato dalle regole contro la presa di controllo dell’account.

Chiavi obbligatorie del payload

Alcune azioni non possono essere correlate senza chiavi specifiche, quindi la validazione le rifiuta invece di memorizzare prove che nessuno può collegare.
Invia riferimenti e hash, mai segreti in chiaro. Gli strumenti di pagamento, le destinazioni di prelievo e le modifiche al controllo dell’account vengono memorizzati come riferimento con hash che invii. Non inviare mai un numero di carta, un indirizzo di prelievo completo, un hash della password o un segreto MFA.

Esempio: un regolamento P2P

Esempio: un chargeback

I cicli di vita delle dispute consentono solo aggiunte: una correzione è un nuovo evento dispute, mai una modifica del primo evento.

Idempotenza

event_id è univoco per applicazione e costituisce l’intero contratto di idempotenza.
  • Stesso event_id, stesso contenuto restituisce 200 con "idempotent_replay": true e l’evento memorizzato originariamente. Puoi effettuare nuovi tentativi quante volte vuoi.
  • Stesso event_id, contenuto diverso restituisce 409. Hai riutilizzato un id per errore.

Batch

POST /v3/events/batch/ accetta fino a 500 eventi. Un batch è parzialmente riuscito per progettazione: una visualizzazione di pagina malformata non deve mai compromettere il chargeback accanto a essa.
La risposta è 207 Multi-Status quando viene rifiutato qualcosa e 201 Created quando tutti gli eventi sono stati inseriti correttamente.

Stati

correlation_pending: true significa che deve ancora essere eseguita una regola tra soggetti diversi; si risolve entro pochi minuti e lo stato e il punteggio dell’evento vengono aggiornati direttamente. Vedi regole asincrone.

Conservazione

Gli eventi hanno volumi molto più alti delle transazioni, quindi ciascuno viene assegnato a una classe di conservazione al momento dell’arrivo. Due regole derivano dalla tabella:
  • Un evento che corrisponde a una regola è una prova, quindi viene promosso automaticamente a risk_relevant.
  • Gli eventi di pagamento e di disputa mantengono la conservazione delle transazioni. Non scadono mai secondo la pianificazione degli eventi e le sostituzioni per classe non possono ridurla.
Configura le sostituzioni per le tre classi a scadenza per applicazione in Transactions → Settings → Event monitoring (da 1 a 730 giorni ciascuna).

Arricchimento IP

Gli eventi includono lo stesso arricchimento IP delle transazioni: paese, ASN, flag VPN/proxy e flag dei data center. L’arricchimento viene risolto per indirizzo IP univoco, mai per evento. Una sessione che genera 200 visualizzazioni di pagina da un solo indirizzo risolve quell’indirizzo una sola volta. La telemetria a basso valore va oltre: legge l’arricchimento solo se un altro evento ha già risolto quell’indirizzo. Non avvia mai una ricerca autonoma. GET /v3/events/enrichment-metrics/ riporta il risultato, e la console mostra gli stessi numeri sopra l’elenco degli eventi:

Lettura degli eventi

Filtri: event_category, action_type, status, retention_class, subject_vendor_data, business_vendor_data, session_id, device_fingerprint, ip_address, game_id, round_id, affiliate_code, payment_reference_id, counterparty_vendor_data, matched_only, occurred_from, occurred_to, search. I filtri con più valori ripetono il parametro (?status=A&status=B).

Cronologia di un soggetto

Un vendor_data è univoco solo all’interno di un tipo di entità: lo stesso ID può indicare un utente e un’azienda, e Didit li tratta come due soggetti diversi. entity_type indica quale dei due stai richiedendo: individual (il valore predefinito) o company. Se lo ometti con un ID di azienda, viene restituita la cronologia dell’individuo, non entrambe. Si applicano gli stessi filtri dell’elenco. GET /v3/events/{event_uuid}/ aggiunge il payload, il contesto del dispositivo, l’arricchimento IP, i segnali di rischio memorizzati nella cache del soggetto e ogni corrispondenza di regola con le relative evidenze, incluso se ciascun campo corrispondente è stato derivato dal server, dall’SDK o fornito dal cliente. DELETE /v3/events/{event_uuid}/delete/ elimina un evento. Non viene più restituito da nessuna lettura, e l’eliminazione è irreversibile.

Avanti

Regole sugli eventi

Regole di velocità, rapporto, sequenza e correlazione sui dati degli eventi.

Invio di eventi tramite SDK

Acquisisci gli eventi direttamente dal dispositivo con una credenziale limitata.
Ultima modifica il 7 novembre 2026