La ingesta de eventos es opcional. Actívala en Transactions → Settings → Event monitoring.
Hasta que lo hagas, nada cambia: tus reglas de transacciones existentes siguen disparándose solo sobre transacciones, y no es posible crear una regla de eventos por accidente, porque una regla se aplica a las transacciones salvo que incluyas eventos de forma explícita.Mientras no esté activada, todos los canales de escritura (
POST /v3/events/, POST /v3/events/batch/, POST /v3/events/sdk-token/ y el canal de dispositivo /v1/events/) responden 403 con {"code": "event_monitoring_disabled"}, y no se almacena, enriquece ni evalúa nada. Las lecturas no se ven afectadas.Endpoints
La ruta
/v3/ es la ruta del servidor y usa la misma autenticación x-api-key que el resto de la API de transacciones. La ruta /v1/events/ es la ruta del dispositivo: consulta Envío de eventos desde el SDK.
El sobre
Categorías
Diez categorías de primer nivel, cada una con validación tipada y campos de regla gestionados.auth es la categoría amplia de producto; security es el subconjunto orientado al riesgo, con el ciclo de vida ordenado que utilizan las reglas de toma de control de cuentas.
Claves obligatorias del payload
Algunas acciones no se pueden correlacionar sin claves concretas, así que la validación las rechaza en lugar de almacenar evidencias que nadie puede vincular.Ejemplo: una liquidación P2P
Ejemplo: un contracargo
dispute, nunca una edición del primero.
Idempotencia
event_id es único por aplicación y constituye todo el contrato de idempotencia.
- Mismo
event_id, mismo contenido devuelve200con"idempotent_replay": truey el evento almacenado originalmente. Reintenta tantas veces como quieras. - Mismo
event_id, contenido distinto devuelve409. Has reutilizado un ID por error.
Lotes
POST /v3/events/batch/ acepta hasta 500 eventos. Un lote puede tener éxito parcial por diseño: una vista de página mal formada nunca debe afectar al contracargo adyacente.
207 Multi-Status cuando se rechazó algo y 201 Created cuando todo se procesó correctamente.
Estados
correlation_pending: true significa que todavía tiene que ejecutarse una regla que abarca varios sujetos; se resuelve en cuestión de minutos y el estado y la puntuación del evento se actualizan directamente en el evento. Consulta las reglas asíncronas.
Retención
Los eventos tienen un volumen muy superior al de las transacciones, así que cada uno se asigna a una clase de retención al llegar.
De la tabla se derivan dos reglas:
- Un evento que coincide con una regla es una evidencia, por lo que se promueve automáticamente a
risk_relevant. - Los eventos de pago y de disputa conservan la retención de transacciones. Nunca expiran según el calendario de eventos, y las anulaciones por clase no pueden acortarla.
Enriquecimiento de IP
Los eventos llevan el mismo enriquecimiento de IP que las transacciones (país, ASN e indicadores de VPN/proxy y de centro de datos), y se consulta el enriquecimiento por dirección IP única, nunca por evento. Una sesión que genera 200 vistas de página desde una misma dirección consulta el enriquecimiento de esa dirección una sola vez. La telemetría de bajo valor va más allá: solo lee el enriquecimiento si otro evento ya consultó el enriquecimiento de esa dirección. Nunca dispara una consulta por su cuenta.GET /v3/events/enrichment-metrics/ informa del resultado, y la consola muestra las mismas cifras encima de la lista de eventos:
Lectura de 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. Los filtros con varios valores repiten el parámetro (?status=A&status=B).
Cronología de un sujeto
vendor_data solo es único dentro de un tipo de entidad: el mismo ID puede designar a un usuario y a una empresa, y Didit los trata como dos sujetos distintos. entity_type indica cuál de los dos solicitas: individual (el valor predeterminado) o company. Si lo omites con el ID de una empresa, obtienes la cronología de la persona física, no ambas cronologías. Se aplican los mismos filtros de la lista.
GET /v3/events/{event_uuid}/ añade el payload, el contexto del dispositivo, el enriquecimiento de IP, las señales de riesgo del sujeto almacenadas en caché y cada coincidencia de regla con su evidencia, incluido si cada campo coincidente fue derivado por el servidor o el SDK, o proporcionado por el cliente.
DELETE /v3/events/{event_uuid}/delete/ elimina un evento. Ninguna lectura vuelve a devolverlo, y la eliminación es irreversible.
Siguientes pasos
Reglas sobre eventos
Reglas de velocidad, proporción, secuencia y correlación sobre los datos de eventos.
Envío de eventos desde el SDK
Captura eventos directamente desde el dispositivo con una credencial de alcance limitado.