Skip to main content
POST
Crear un evento de usuario para reglas y fraude

Resumen

Crea un nuevo evento de usuario para rastrear acciones y comportamientos dentro de tu aplicación. Los eventos se usan para detección de fraude, monitoreo de cumplimiento, análisis de comportamiento y registros de auditoría. El sistema registra automáticamente dispositivos y puede opcionalmente crear entidades cuando no existen. Cuando se crea un evento, el motor de reglas se ejecuta automáticamente y devuelve tanto el resultado de las reglas como un resumen detallado de ejecución.
📋 Los eventos registran automáticamente dispositivos cuando se proporcionan deviceId y deviceDetails, eliminando la necesidad de gestión separada de dispositivos.

Endpoint

Autenticación

Requiere una clave API válida en el encabezado de Authorization:

Parámetros de Consulta

boolean
default:"false"
Habilita la creación automática de entidad cuando no existe una entidad con el taxId proporcionado. Cuando es true, si el evento incluye un taxId y no existe ninguna entidad con ese ID tributario, se creará automáticamente una nueva entidad de persona o empresa.Ejemplo: ?withAutoEntity=true

Cuerpo de la Solicitud

string
required
Tipo de evento que se está rastreando. Debe ser uno de los tipos soportados (ver sección Tipos de Eventos), incluyendo autenticación, transferencias, validación biométrica, etc.Ejemplo: "LOGIN_SUCCESS"
string
Tu identificador interno de usuario. Se usa para agrupar eventos por usuario entre diferentes entidades.Ejemplo: "user_12345"
string
UUID de entidad de gu1. Proporciona esto si tienes el ID interno de gu1.
Identificación de Entidad: Debes proporcionar al menos UNO de: entityId, entityExternalId, o taxId. Estos campos soportan lógica OR, por lo que el sistema encontrará la entidad usando cualquiera de estos identificadores. Excepción SDK: las organizaciones con el SDK habilitado pueden enviar solo un sessionId para eventos anónimos pre-login.
string
Tu identificador externo de entidad. Este es tu ID único para la entidad en tu sistema.Ejemplo: "user_12345"
string
Número de identificación tributaria (CPF, CNPJ, CUIT, etc.). Cuando se combina con ?withAutoEntity=true, esto creará la entidad si no existe.Ejemplo: "20242455496"
string
Cuándo ocurrió el evento en formato datetime ISO 8601. Si no se proporciona, toma por defecto la hora actual del servidor.Ejemplo: "2026-01-30T14:30:00Z"
string
Fecha de negocio del evento. Las reglas históricas usan esta fecha como punto de partida para ventanas de tiempo (ej. “últimos 7 días”).Formato: Cadena datetime ISO 8601 con zona horaria (ej. "2026-01-30T14:30:00Z" o "2026-01-30T00:00:00.000Z").Si no la envías: El sistema usa el mismo valor que timestamp (o la hora actual del servidor si tampoco envías timestamp). El evento se trata como “ahora” para las reglas históricas; no hace falta enviarla cuando el evento es en tiempo real.
  • Si se omite → Se asigna eventDate = timestamp (o la hora actual). Las reglas históricas usan ese valor como punto de partida.
  • Formato → ISO 8601 con zona horaria: "YYYY-MM-DDTHH:mm:ss.sssZ" (ej. "2026-01-30T00:00:00.000Z").
  • Cuándo enviarla → Cuando el evento ocurrió en una fecha distinta a la del envío (ej. eventos cargados a posteriori o en lote).
string
Identificador único para el dispositivo. Este debe ser un identificador estable que persista entre sesiones.Ejemplo: "840e89e4d46efd67"
object
Información detallada del dispositivo. Cuando se proporciona, el dispositivo será automáticamente registrado o actualizado.Estructura:
string
Dirección IP desde la cual se originó el evento (IPv4 o IPv6).Ejemplo: "10.40.64.231"
string
Código de país ISO 3166-1 alfa-2 donde ocurrió el evento.Ejemplo: "AR"
boolean
default:"false"
Si la conexión es a través de una VPN
boolean
default:"false"
Si la conexión es a través de un proxy
boolean
Flag de dispositivo nuevo persistido en el evento (is_new_device en base de datos). Ver Cómo funciona isNewDevice más abajo.
string
Identificador de sesión del SDK (sess_..., máx. 64 caracteres). Para organizaciones con el SDK habilitado, un evento que trae solo sessionId (sin identificador de entidad) se acepta y persiste como evento anónimo pre-login; se vincula a la entidad más tarde, en el primer evento que traiga sessionId y un identificador de entidad juntos. Sin el SDK habilitado, sigue siendo obligatorio un identificador de entidad.Ejemplo: "sess_a1b2c3d4"
object
Señales estructuradas emitidas por el SDK (separadas del metadata libre). Todos los campos opcionales: sessionId, sessionDuration, integrityScore (0–100), integrityFlags (fetchHooked, prototypeModified, debuggerAttached, framingDetected) y behavioralSignals (keystrokeAvgMs, pasteDetected, completionTimeMs, touchVelocity).
number
default:"0"
Número de intentos de autenticación fallidos (para eventos de autenticación)Ejemplo: 3
string
Identificador de cuenta de destino para eventos de transferencia (CBU, CVU, etc.)Ejemplo: "0170042640000004234411"
string
CUIT de destino para eventos de transferenciaEjemplo: "27281455496"
string
Valor anterior para eventos de cambio de credenciales. Esto será automáticamente hasheado usando SHA-256 por seguridad.Ejemplo: "old_password_hash"
object
Datos adicionales específicos del evento como pares clave-valor. Usa esto para campos personalizados específicos de tu caso de uso.Ejemplo:
string
Cadena de user agent del navegador para eventos webEjemplo: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."

Cómo funciona isNewDevice

El valor persistido en cada evento alimenta reglas de fraude (por ejemplo historical.userEvent.newDevice y filtros isNewDevice: true sobre user_events).

Prioridad: si lo envías, se guarda tal cual

Usá el flag explícito cuando tu app ya sabe si la sesión es en un dispositivo nuevo (SDK, almacenamiento local, registro propio). Omitilo cuando querés que gu1 lo infiera desde el registro de dispositivos.

Si omites isNewDevice (inferencia en servidor)

gu1 solo calcula automáticamente cuando están ambos:
  • deviceId
  • deviceDetails
Flujo:
  1. Registra o actualiza el dispositivo para la entidad resuelta (tabla devices).
  2. Pone isNewDevice en true si:
    • No existe fila para (organización, entidad, deviceId), o
    • El dispositivo existe pero firstSeenAt está dentro de los últimos 5 minutos (ventana de primer avistamiento).
  3. En caso contrario false (dispositivo ya conocido por gu1 para esa entidad).
Enviá deviceId + deviceDetails en login y eventos sensibles aunque setees isNewDevice vos mismo, para mantener el registro de dispositivos al día para otras reglas y auditoría.

Nombre del campo en el body

POST /events/user usa camelCase en JSON: isNewDevice. El nombre is_new_device no se lee en este endpoint.

Ejemplos

Decide el cliente (cuando ya detectás dispositivo nuevo):
Inferencia en gu1 (omitir el flag; incluir dispositivo):

Tipos de Eventos

📋 Elige el tipo de evento más específico que coincida con tu caso de uso. Usa OTHER_EVENT solo cuando ningún tipo específico aplique.

Eventos de Autenticación

  • LOGIN_SUCCESS - Inicio de sesión exitoso
  • LOGIN_FAILED - Intento de inicio de sesión fallido
  • LOGOUT - Cierre de sesión de usuario
  • TOKEN_GENERATED - Token de autenticación generado

Eventos de Cambio de Credenciales

  • PASSWORD_CHANGE - Contraseña cambiada exitosamente
  • PASSWORD_CHANGE_FAILED - Intento de cambio de contraseña fallido
  • EMAIL_CHANGE - Dirección de email cambiada
  • PHONE_CHANGE - Número de teléfono cambiado
  • PIN_CHANGE - PIN cambiado

Eventos de Gestión de Cuenta

  • ACCOUNT_LINKED - Cuenta bancaria vinculada
  • CONTACT_CREATED - Contacto creado
  • CONTACT_DELETED - Contacto eliminado
  • ADDRESS_CHANGED - Dirección actualizada
  • DEVICE_ADDED - Nuevo dispositivo agregado
  • DEVICE_DELETED - Dispositivo eliminado

Eventos de Gestión de Email

  • EMAIL_CREATED - Email creado
  • EMAIL_ELIMINATED - Email eliminado

Eventos de Navegación

  • NAVIGATION - Navegación de página o pantalla

Eventos de Transferencia

  • TRANSFER_SUCCESS - Transferencia exitosa
  • TRANSFER_FAILED - Intento de transferencia fallido
  • TRANSFER_SCHEDULED - Transferencia programada para el futuro

Eventos de Saldo

  • BALANCE_CHECK - Saldo de cuenta consultado
  • BALANCE_CHECK_FAILED - Consulta de saldo fallida

Eventos de Acceso a Cuenta

  • ACCOUNTS_VIEW - Lista de cuentas visualizada
  • ACCOUNTS_VIEW_FAILED - Visualización de cuentas fallida

Eventos de Transacciones

  • TRANSACTIONS_VIEW - Historial de transacciones visualizado
  • TRANSACTIONS_VIEW_FAILED - Visualización de transacciones fallida

Eventos de Destinatarios

  • SEARCH_RECIPIENTS - Destinatarios buscados
  • SEARCH_RECIPIENTS_FAILED - Búsqueda de destinatarios fallida
  • SCHEDULE_RECIPIENT_FAILED - Programación de destinatario fallida

Eventos de Perfil

  • PROFILE_VIEW - Perfil de usuario visualizado
  • PROFILE_UPDATED - Perfil de usuario actualizado

Eventos de Mensajes

  • MESSAGES_VIEW - Mensajes visualizados
  • MESSAGES_VIEW_FAILED - Visualización de mensajes fallida

Eventos de Titulares de Cuenta

  • ACCOUNT_HOLDERS_VIEW - Titulares de cuenta visualizados
  • ACCOUNT_HOLDERS_VIEW_FAILED - Visualización de titulares de cuenta fallida

Eventos de Alias

  • ALIAS_VIEW - Alias visualizado
  • ALIAS_VIEW_FAILED - Visualización de alias fallida
  • ALIAS_CHANGE - Alias cambiado
  • ALIAS_CHANGE_FAILED - Cambio de alias fallido

Pago / Dispositivo

  • CARD_ADDED - Tarjeta de pago añadida
  • DEVICE_CONNECTED - Dispositivo conectado

Validación Biométrica

  • BIOMETRIC_VALIDATION_SUCCESS - Validación biométrica exitosa
  • BIOMETRIC_VALIDATION_ERROR - Validación biométrica fallida

Eventos del SDK

  • SESSION_STARTED - Beacon de sesión del SDK (pre-login)
  • SESSION_IDENTIFIED - Sesión vinculada a una entidad (enviado con sessionId y un identificador de entidad)
  • SCREEN_VIEW - Pantalla/navegación registrada por el SDK

Otros Eventos

  • OTHER_EVENT - Evento personalizado o genérico

Respuesta

boolean
Indica si la solicitud fue exitosa
object
El objeto de evento creado
string
UUID de evento interno de gu1
string
Tipo de evento creado
string
Identificador de usuario
string
UUID de entidad asociada
string
Identificador externo de entidad
string
Número de identificación tributaria
string
Timestamp del evento (ISO 8601)
string
Fecha de negocio usada por reglas históricas para ventanas de tiempo (ISO 8601). Igual a timestamp si no se envió.
string
Identificador del dispositivo
string
Dirección IP
string
Código de país
string
Timestamp de creación del registro de evento
object
Información de la entidad (cuando es creada automáticamente o existente)
string
UUID de entidad
boolean
Si la entidad fue creada automáticamente por este evento
object
Resultado de la ejecución del motor de reglas
string
Decisión final del motor de reglas (APPROVE, REVIEW, REJECT)
object
Resumen detallado de la ejecución del motor de reglas, incluyendo todas las reglas evaluadas y sus resultados. Este objeto proporciona visibilidad completa de qué reglas se ejecutaron, qué condiciones se cumplieron, y cómo se tomó la decisión final. Estructura completa y ejemplo: Resumen de Ejecución de Reglas.

Ejemplos

Evento de Inicio de Sesión

Evento de Transferencia

Crear Entidad Automáticamente

Ejemplo de Respuesta

Respuestas de Error

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not Found

500 Internal Server Error

Casos de Uso

Rastrear Patrones de Autenticación

Monitorear Actividad de Transferencias

Registro de Auditoría de Cumplimiento

Mejores Prácticas

Siempre Incluir Timestamps

Proporciona timestamps explícitos cuando los eventos están en cola o en buffer para mantener un ordenamiento cronológico preciso.

Rastrear Tanto Éxito como Fallo

Siempre rastrea eventos exitosos y fallidos para detección de fraude y análisis integral.

Usar Metadatos Estructurados

Mantén los metadatos consistentes entre tipos de eventos similares para habilitar mejor análisis y consultas.

Información del Dispositivo

Incluí deviceId y deviceDetails cuando estén disponibles para mantener el registro de dispositivos. Enviá isNewDevice explícito si tu integración ya clasifica dispositivos nuevos; si no, omitilo y dejá que gu1 infiera (ver Cómo funciona isNewDevice).

Manejar la Creación Automática con Cuidado

Usa withAutoEntity=true solo cuando estés seguro de que el ID tributario es válido y quieres que las entidades se creen automáticamente.

Próximos Pasos

Listar Eventos

Consulta eventos con filtros

Estadísticas de Eventos

Obtén estadísticas agregadas

API de Dispositivos

Aprende sobre la integración de dispositivos

Reglas de Fraude

Construye reglas usando datos de eventos