Skip to main content
Versión: 1.11.3-public-beta.2
El Agente Prueba de Vida es un sistema multiagente diseñado para garantizar que la persona que se encuentra detrás de la pantalla es una persona viva y se encuentra presente durante el proceso sin necesidad de salir del chat. Se puede hacer uso de este agente cuando se requiera validar la vivacidad de la persona que está realizando X proceso.
Este no es un agente considerado como proceso completo biométrico facial.
Este Agente es agnóstico del país, puede ser usado por cualquier persona en cualquier parte del mundo.

Experiencia de usuario

Se solicita al usuario que envíe un video-selfie en el cual debe mencionar una secuencia numérica única (OTP). A este video se le hacen una serie de validaciones de tal manera que se pueda asegurar que el video ha sido capturado en tiempo real y no haya sido generado o manipulado con herramientas fraudulentas.

Diagrama de Flujo

1

Instrucciones al usuario

Se brindan instrucciones al usuario sobre el proceso a seguir: grabar un video selfie mencionando un código que se le va a indicar, con ciertas condiciones para que la calidad del video sea óptima. Se puede mostrar instrucciones adicionales sobre cómo grabar el video.
2

Generación de OTP

Si el usuario le da iniciar al proceso, se genera un OTP random con la cantidad de dígitos indicados en las configuraciones del agente. Se le indica al usuario que se grabe en un video diciendo esos dígitos.
3

Envío y transcripción del video

El usuario envía el video y se pasa el audio del video a texto para comparar si el código mencionado es correcto.
4

Validación de OTP

Si el código mencionado es correcto, se procede al siguiente paso. Si no es correcto, el proceso falla.
5

Validación de vivacidad pasiva

Se valida la vivacidad pasiva de la imagen obtenida a partir del video compartido. Este proceso permite identificar y neutralizar deepfakes o cualquier intento de suplantación, garantizando la verificación precisa de la presencia del rostro.
6

Validación de Lipsync (opcional)

Si está habilitado el Lipsync, se valida que el audio del video concuerde con el video, comparando la frecuencia del audio contra la frecuencia del video para confirmar que ambos pertenecen a la misma fuente.
7

Human in the Loop (opcional)

Si el proceso falla y se tiene habilitado “Human in the Loop” (HIL), se manda el caso a HIL para que sea revisado y un operador lo apruebe.
8

Resultado final

Devuelve la aprobación o no aprobación obtenida en el proceso.

Configuración

Idioma
string
default:"Es"
Variable: language. Permite definir el idioma de la experiencia.Valores disponibles: Es (Español), En (Inglés)
Cant. máxima intentos en prueba de vida
number
default:"3"
Variable: retries. Cantidad máxima de intentos de la prueba de vida.Valores disponibles: 1-5
Email notificación reintentos excedidos
string
Variable: customerServiceEmail. Correo al que se notificará cuando se supere la cantidad máxima de intentos.
Habilitar Video de Introducción Prueba de Vida
boolean
default:"false"
Variable: enableIntroVideo. Determina si se debe mostrar el video de introducción al usuario antes de comenzar el proceso.
URL para mostrar media de Introducción Prueba de Vida
string
Variable: introMediaUrl. Es la URL proporcionada al usuario para cargar un video o imagen de introducción que será utilizada en el proceso.
Longitud código OTP en Chat
number
default:"4"
Variable: otpLength. Cantidad de dígitos en el código OTP.Valores disponibles: 3-6
Duración máxima código OTP
number
default:"1"
Variable: otpDuration. Duración máxima de tiempo código OTP, en minutos.Valores disponibles: 1-10
Habilitar Human in the loop
boolean
default:"false"
Variable: enableHumanInLoop. Esta variable indica si el proceso de revisión con un asesor humano debe activarse.
Habilitar LipSync
boolean
default:"false"
Variable: enableLipSync. Habilitar LipSync para la comparación de labios con el audio.
Cant. máxima intentos del Agente
string
default:"Indefinida"
Variable: retriesAgent. Cantidad máxima de intentos del Agente para bloquear al usuario.Valores disponibles: Indefinida, 1, 2, 3
Tiempo de Bloqueo del usuario
string
default:"1 dia"
Variable: blockingInHours. Tiempo de bloqueo cuando excede el número de intentos del Agente.Valores disponibles: 1 dia, 1 semana, 1 mes
Habilitar mensajes personalizados
boolean
default:"false"
Variable: enableCustomMessages. Habilitar mensajes personalizados.
Variable: speechToTextMessages. Mensajes personalizados para errores de transcripción de audio.Formato JSON:
{
  "no_text": {
    "description": "Cuando tomaste el video-selfie no logramos capturar el sonido de tu voz. Quizás te encuentres en un lugar muy ruidoso, o enviaste un video sin sonido.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga sonido."
  },
  "error_http": {
    "description": "Lo sentimos, hubo un error en la transcripción del audio.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga sonido."
  },
  "error_code": {
    "description": "Lo sentimos, hubo un error en la transcripción del audio.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga sonido."
  }
}
Variable: OTPValidationMessages. Mensajes personalizados para errores de validación OTP.Formato JSON:
{
  "client_error": {
    "description": "⚠️ La secuencia numérica que mencionaste es *[transcription]*, y no es la correcta.",
    "advice": "Intenta nuevamente, asegurando que la secuencia numérica sea correcta."
  },
  "OTP_ERROR": {
    "description": "⚠️ Lo sentimos, excediste el tiempo límite para que podamos validar tu video-selfie.",
    "advice": "Intenta nuevamente, asegurando que la secuencia numérica sea correcta."
  },
  "CODE_ERROR": {
    "description": "Lo sentimos, ocurrió un error inesperado en el servicio.",
    "advice": "Intenta nuevamente, asegurando que la secuencia numérica sea correcta."
  },
  "HTTP_ERROR": {
    "description": "Lo sentimos, ocurrió un error inesperado en el servicio.",
    "advice": "Intenta nuevamente, asegurando que la secuencia numérica sea correcta."
  }
}
Variable: passiveLivenessMessages. Mensajes personalizados para errores de vivacidad pasiva.Formato JSON:
{
  "resp_face": {
    "description": "¡Lo sentimos! Analizamos tu video y *no pudimos detectar ningún rostro*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga un rostro visible."
  },
  "mas_de_un_rostro": {
    "description": "¡Lo sentimos! Analizamos tu video y *detectamos más de un rostro*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga un solo rostro visible."
  },
  "rostro_lejos": {
    "description": "¡Lo sentimos! Analizamos tu video y encontramos que *tu cara estaba un poco lejos de la cámara*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga la cara a la cámara."
  },
  "rostro_cerca": {
    "description": "¡Lo sentimos! Analizamos tu video y al parecer *acercaste mucho tu cara a la cámara y no se logró capturar una imagen completa*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga la cara a la cámara."
  },
  "Rostro_cortado_cubierto": {
    "description": "¡Lo sentimos! Analizamos tu video y *parece que estaba cubierto tu rostro o no te encontrabas bien centrado a la cámara*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga la cara a la cámara."
  },
  "ojos_cerrados": {
    "description": "¡Lo sentimos! Analizamos tu video y no pudimos detectar bien tus ojos, al parecer *te encontrabas con lentes puestos o estabas con tus ojos un poco cerrados*.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga los ojos abiertos."
  },
  "low_quality": {
    "description": "¡Lo sentimos! El video que recibimos tiene baja calidad y no pudimos procesarlo correctamente.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga una calidad adecuada."
  },
  "code_error": {
    "description": "Lo sentimos, ocurrió un error inesperado en el servicio.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga una calidad adecuada."
  },
  "error_http": {
    "description": "Lo sentimos, ocurrió un error inesperado en el servicio.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga una calidad adecuada."
  },
  "error_general": {
    "description": "Lo sentimos, ocurrió un error inesperado en el servicio.",
    "advice": "Intenta nuevamente, asegurando que el video-selfie tenga una calidad adecuada."
  }
}
Habilitar instrucciones
boolean
default:"true"
Variable: enableInstructions. Por defecto vienen habilitadas las instrucciones en una imagen.

Integración

1

Seleccionar el skill

Te ubicas en el Skill dentro de la company donde requieres instalar este Agente. Busca en la barra de la izquierda “Skills” → “Abrir Marketplace” y allí escribes el nombre del Agente y lo descargas.
2

Configuración inicial

Lo primero que debes configurar es la Versión que se encuentra en “configuración avanzada”.Ninguno de los inputs es campo obligatorio porque se tienen asignados valores por defecto. Si requieres cambiarlo puedes ingresarlo en el campo correspondiente.También podrás editar los textos en caso de que el cliente requiera “customizar” el tono de la conversación mediante los campos de mensajes personalizados.
3

Configurar Outputs

Este Agente cuenta con 4 outputs de error y 1 de success. Cada uno de ellos puedes dirigirlo a:
  • Una cajita de texto con mensaje personalizado
  • Al PMA (Panel Multiagente) si el cliente cuenta con este módulo
4

Realizar pruebas

Con la configuración que acabas de realizar, puedes proceder a realizar las pruebas utilizando como precursor un skill u otro agente.

Preguntas frecuentes

No, el proceso de Prueba de vida es tan solo una “etapa” del proceso biométrico, por lo tanto no se considera como biometría facial.
Ninguno, el insumo es únicamente el video-selfie que el usuario se graba con su celular.
Sí, puedes habilitar el video de instrucciones en el input Habilitar Video de Introducción Prueba de Vida (true). Por defecto vienen habilitadas las instrucciones en una imagen.
Sí, puedes añadir tu propio enlace de instrucciones en el input URL para mostrar media de Introducción Prueba de Vida, de esta forma la imagen o video que viene por defecto se deshabilita.
El proceso se cierra cuando transcurrió 1 hora sin actividad en el chat. Si el usuario retorna al chat, debe empezar el flujo desde el inicio.