A ingestão de eventos é opt-in. Ative-a em Transactions → Settings → Event monitoring.
Até lá, nada muda: as suas regras de transação existentes continuam a ser acionadas apenas em transações, e não é possível criar uma regra de evento por engano, porque uma regra se aplica a transações, a menos que inclua explicitamente eventos.Enquanto estiver desativada, todas as vias de escrita -
POST /v3/events/, POST /v3/events/batch/, POST /v3/events/sdk-token/ e a via de dispositivo /v1/events/ - respondem com 403 e {"code": "event_monitoring_disabled"}, e nada é guardado, enriquecido ou avaliado. As leituras não são afetadas.Endpoints
A via
/v3/ é a via do servidor e usa a mesma autenticação x-api-key do restante da API de transações. A via /v1/events/ é a via do dispositivo - ver Envio de eventos pelo SDK.
O envelope
Categorias
Dez categorias de primeira classe, cada uma com validação tipada e campos de regra geridos.auth é a categoria geral do produto; security é o subconjunto orientado para o risco, com o ciclo de vida ordenado que as regras de tomada de controlo da conta analisam.
Chaves obrigatórias do payload
Algumas ações não podem ser correlacionadas sem chaves específicas, por isso a validação as rejeita em vez de guardar provas que ninguém consegue cruzar.Exemplo: uma liquidação P2P
Exemplo: um estorno
dispute, nunca uma edição do primeiro evento.
Idempotência
event_id é único por aplicação e constitui todo o contrato de idempotência.
- Mesmo
event_id, mesmo conteúdo devolve200com"idempotent_replay": truee o evento originalmente guardado. Pode repetir tantas vezes quanto quiser. - Mesmo
event_id, conteúdo diferente devolve409. Reutilizou um id por engano.
Lotes
POST /v3/events/batch/ aceita até 500 eventos. Um lote tem sucesso parcial por conceção: uma visualização de página mal formatada nunca deve fazer falhar o estorno que está ao lado.
207 Multi-Status quando algum evento foi rejeitado e 201 Created quando todos foram aceites.
Estados
correlation_pending: true significa que ainda tem de ser executada uma regra entre sujeitos; é resolvida em minutos e o estado e a pontuação do evento são atualizados no próprio registo. Veja regras assíncronas.
Retenção
Os eventos têm um volume muito superior ao das transações, por isso cada um é arquivado numa classe de retenção à chegada.
Duas regras decorrem da tabela:
- Um evento que corresponde a uma regra é prova, por isso é promovido automaticamente a
risk_relevant. - Os eventos de pagamento e de disputa mantêm a retenção de transações. Nunca expiram segundo o calendário de eventos, e as substituições por classe não os podem encurtar.
Enriquecimento de IP
Os eventos trazem o mesmo enriquecimento de IP que as transações (país, ASN, indicadores de VPN/proxy e de centro de dados), e o enriquecimento é resolvido por endereço IP único, nunca por evento. Uma sessão que gera 200 visualizações de página a partir de um endereço resolve esse endereço uma única vez. A telemetria de baixo valor vai mais longe: só lê o enriquecimento se algum outro evento já tiver resolvido esse endereço. Nunca desencadeia uma consulta própria.GET /v3/events/enrichment-metrics/ reporta o resultado, e a consola mostra os mesmos números acima da lista de eventos:
Consultar eventos
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. Os filtros com vários valores repetem o parâmetro (?status=A&status=B).
Cronologia de um sujeito
vendor_data só é único dentro de um tipo de entidade: o mesmo identificador pode designar um utilizador e uma empresa, e a Didit trata-os como dois sujeitos diferentes. entity_type indica qual dos dois é pedido: individual (o predefinido) ou company. Se o omitir num identificador de empresa, devolve a cronologia da pessoa singular, e não as duas. Aplicam-se os mesmos filtros à lista.
GET /v3/events/{event_uuid}/ acrescenta o payload, o contexto do dispositivo, o enriquecimento de IP, os sinais de risco em cache do sujeito e todas as correspondências de regras com a respetiva evidência, incluindo se cada campo correspondente foi derivado no servidor, derivado do SDK ou fornecido pelo cliente.
DELETE /v3/events/{event_uuid}/delete/ elimina um evento. Deixa de ser devolvido por todas as leituras, e a eliminação é irreversível.
Próximos passos
Regras sobre eventos
Regras de velocidade, rácio, sequência e correlação sobre dados de eventos.
Submissão de eventos pelo SDK
Capte eventos diretamente do dispositivo com uma credencial com âmbito limitado.