Saltar al contenido

Verificación de identidad

Un chatbot seguro para tus usuarios autenticados

Tu servidor firma el ID del usuario que ha iniciado sesión con un secreto que solo conocéis tú e intoCHAT. Así el agente sabe quién escribe, tus acciones pueden consultar los datos de ese usuario y puedes reservar el chat para quienes han iniciado sesión.

Ejemplo: una clienta autenticada pregunta por su propia cuenta

Visitante: ¿Cuántas plazas me quedan en mi plan?

Agente: ¡Hola, Ada! He revisado tu cuenta: tienes el plan Team y usas 7 de tus 10 plazas, así que te quedan 3 libres. ¿Quieres saber cómo invitar a alguien?

Visitante: No, gracias, era todo lo que necesitaba.

Un widget de chat por sí solo no sabe quién escribe

Dentro de tu app o tu portal de clientes, la gente pregunta por su propia cuenta: su plan, sus facturas, sus pedidos. Un widget de chat sencillo no sabe quién está escribiendo. Si la página solo pasa un ID de usuario o un correo, cualquiera puede cambiarlo en el navegador y preguntar por la cuenta de otra persona. Entonces el agente rechaza todo lo personal o se convierte en un riesgo. La verificación de identidad lo resuelve con una firma que crea tu servidor. Un ID de usuario sin firma válida no se da por bueno, así que nadie puede hacerse pasar por otro usuario.

Lo que te aporta la verificación de identidad

Un secreto por agente, una línea de código en el servidor y una llamada en la página.

  • Nadie puede hacerse pasar por otro usuario

    Tu servidor firma el ID de usuario con HMAC-SHA256 y el servidor de intoCHAT comprueba la firma en cada mensaje. Quien cambie el ID en el navegador simplemente chatea como visitante no verificado.

  • Acciones con los datos del propio usuario

    Las acciones de API del lado del servidor pueden usar {{user.id}}, {{user.email}}, {{user.name}} y {{user.metadata.<key>}}. intoCHAT los rellena en sus servidores, solo a partir de la identidad verificada. La IA nunca los ve ni los elige.

  • Chat solo para usuarios autenticados

    Activa Only verified visitors can chat y el widget pide a los visitantes que inicien sesión en lugar de mostrar el campo de mensaje. La API del chat también rechaza los mensajes sin una identidad válida.

  • Saber con quién has hablado

    Las conversaciones verificadas muestran Verified y el ID de usuario, con el nombre y el correo que pasó tu página. Cada visitante verificado se guarda como contacto del agente, asociado solo por su ID de usuario.

  • La IA sabe lo mínimo

    A la IA se le dice que el visitante está verificado y su nombre, para que pueda saludarle. Nunca recibe el correo, el ID de usuario ni los metadatos, así que no puede repetirlos ni dejarse convencer para revelarlos.

Cómo configurarla

  1. Genera un secreto

    Abre tu agente, ve a la pestaña Share y haz clic en Generate secret en la tarjeta Identity verification. Guarda el secreto en tu servidor, por ejemplo en una variable de entorno. Nunca debe ir en tu HTML ni en tu JavaScript.

  2. Firma el ID de usuario en tu servidor

    Para el usuario que ha iniciado sesión, calcula el userHash: el HMAC-SHA256 del ID de usuario con el secreto como clave, en hexadecimal en minúsculas. Es una línea en Node.js, PHP o Python. Incluye el ID y el hash en la página.

  3. Llama a IntoChat.identify en la página

    Después del script, llama a IntoChat.identify con userId y userHash, y si quieres nombre, correo y metadatos, en cada carga de página mientras el usuario tenga la sesión iniciada. El widget envía la identidad con cada mensaje.

  4. Llama a IntoChat.reset al cerrar sesión

    Cuando el usuario cierra sesión, IntoChat.reset olvida la identidad y empieza un chat nuevo, para que la siguiente persona en ese navegador no vea la conversación anterior. Identificar a otro usuario también empieza un chat nuevo.

La verificación de identidad en detalle

  • Una firma HMAC estándar

    El userHash es el HMAC-SHA256 exactamente del texto que pasas como userId, con el secreto como clave, en hexadecimal en minúsculas. La documentación lo muestra en Node.js, PHP y Python. No necesitas ninguna librería ni servicio adicional.

  • Marcadores que rellena el servidor

    Para un visitante no verificado, los marcadores {{user.*}} quedan vacíos y los campos vacíos se omiten de la petición. Aunque la IA escriba algo que parezca {{user.id}}, se envía como texto normal.

  • Las acciones del lado del cliente también conocen al usuario

    Un manejador de acciones del lado del cliente en tu página recibe al visitante como context.user. Como su petición se construye en el navegador del visitante, ahí los marcadores {{user.*}} quedan vacíos.

  • Verificado en exportaciones y webhooks

    La exportación CSV de conversaciones tiene una columna Verified user ID, y los webhooks de leads, formularios y reservas incluyen un objeto identity, así tus sistemas saben de qué usuario se trataba.

  • Prueba como visitante autenticado

    En el Playground, despliega Test as a signed-in visitor e introduce un ID de usuario, un nombre, un correo y metadatos. Tus mensajes cuentan como verificados sin firma. Solo pueden usarlo el propietario, los admins y los editors.

  • Un secreto que solo gestionan los admins

    Solo el propietario y los admins pueden generar, mostrar o rotar el secreto, que se guarda cifrado. Los editors ven si hay uno y sus cuatro últimos caracteres. Rotate desactiva el secreto anterior al instante.

  • Preguntas de facturación para usuarios verificados

    En Pro y Enterprise, la facturación de Stripe en autoservicio permite al agente mostrar a los visitantes verificados sus facturas y su suscripción desde tu cuenta de Stripe. Solo funciona con visitantes que tu web autentica.

  • En todos los planes

    La verificación de identidad y Only verified visitors can chat están en todos los planes, también en Free. Necesitas la burbuja de chat del script, porque la identidad viene de tu página.

Preguntas frecuentes

¿Qué es la verificación de identidad de un chatbot?

Permite que tu web le diga al chatbot quién es un visitante que ha iniciado sesión, de una forma que nadie puede falsificar. Tu servidor firma el ID del usuario con un secreto que solo conocéis tú e intoCHAT, tu página pasa el ID y la firma al widget, e intoCHAT comprueba la firma en cada mensaje.

¿Cómo creo el user hash?

Calcula el HMAC-SHA256 del ID de usuario con el secreto del agente como clave y escríbelo en hexadecimal en minúsculas. Firma exactamente el texto que pasas como userId. Hazlo en tu servidor, nunca en el navegador, y después pasa userId y userHash a IntoChat.identify.

¿Puedo reservar el chat para usuarios autenticados?

Sí. Activa Only verified visitors can chat en la tarjeta Identity verification. Los visitantes sin una firma válida ven un aviso breve que les pide iniciar sesión, en el idioma del widget, y la API del chat rechaza sus mensajes con el motivo identity_required. Tu Playground sigue funcionando.

¿Qué sabe la IA del usuario?

Solo que el visitante ha iniciado sesión y está verificado, y el nombre que pasó tu página, que puede usar para saludarle. Nunca recibe el correo, el ID de usuario ni los metadatos. Las acciones del lado del servidor usan esos valores, que inserta intoCHAT, así que la IA no puede leerlos en voz alta ni cambiarlos por el ID de otra persona.

¿También se firman el nombre, el correo y los metadatos?

No, solo se firma el ID de usuario. El nombre, el correo y los metadatos son lo que tu página pasa junto a una firma válida, así que un usuario autenticado podría cambiar su propia copia en el navegador. Consulta todo lo importante, como pedidos, facturas o permisos, por {{user.id}} en tu lado.

¿Funciona con el iframe integrado, el enlace del chat o la Help Page?

No. La identidad llega desde tu página a través del JavaScript SDK, así que necesita la burbuja de chat del script. El iframe integrado, el enlace para compartir y la Help Page no pueden identificar a nadie; con Only verified visitors can chat activado, solo muestran el aviso para iniciar sesión.

¿Qué pasa si la firma es incorrecta?

El visitante nunca ve un error. Simplemente chatea como visitante no verificado y los marcadores {{user.*}} quedan vacíos. Con Only verified visitors can chat activado, ve en su lugar el aviso para iniciar sesión. Después de rotar el secreto, todos cuentan como no verificados hasta que tu servidor firme con el nuevo.

¿Qué plan necesito?

La verificación de identidad, Only verified visitors can chat y los marcadores {{user.*}} están en todos los planes, también en Free. Los visitantes verificados pasan a ser contactos hasta el límite por agente de tu plan: 100 en Free, 5.000 en Starter, 25.000 en Pro. La facturación de Stripe en autoservicio para visitantes verificados está en Pro y Enterprise.

Haz que tu agente sepa con quién habla

Crea tu agente gratis, genera un secreto en la pestaña Share y prueba Test as a signed-in visitor en el Playground antes de añadir una línea a tu servidor.

Crea tu agente gratis

Plan gratuito, sin tarjeta de crédito.