¿Qué es el modo de múltiples conversaciones?
El modo de múltiples conversaciones permite que un mismo usuario mantenga diferentes atenciones (tickets) separadas dentro del Widget de Web.
Además, cuando esta funcionalidad está activada, el usuario también accede al historial de conversaciones ya resueltas, pudiendo visualizar atenciones anteriores, reabrir contextos y consultar información pasada.
Esta funcionalidad fue pensada para áreas logadas, donde es posible identificar de forma segura a cada usuario.
Estas dos funcionalidades son especialmente útiles cuando el mismo cliente suele abrir más de una solicitud al mismo tiempo. Para empresas de SaaS, B2B o comercio electrónico con alta tasa de recompra, estas funciones funcionan muy bien.
📖 ¿Cómo funcionan las múltiples conversaciones y su historial?
Con la extensión de esta funcionalidad, el Widget de Web pasa a mostrar dos pestañas para el usuario:
-
Conversaciones activas
-
Historial de conversaciones
En la pestaña de conversaciones activas, el usuario puede ver y continuar todas las conversaciones activas que tiene o comenzar una nueva conversación.
En la pestaña de historial, el usuario puede visualizar conversaciones ya cerradas, facilitando el seguimiento de atenciones anteriores y evitando la pérdida de contexto.
El historial muestra inicialmente las 5 conversaciones más recientes. Si el usuario desea ver conversaciones más antiguas, solo debe hacer clic en “Ver más”, y el sistema carga nuevos registros en bloques de 5. También es posible realizar una búsqueda de conversaciones usando uno o más de los siguientes filtros:
-
Fecha inicial
-
Fecha final
-
ID del ticket
¿Cómo es la visualización para el cliente de las múltiples conversaciones?
¿Cómo funciona el historial? ¿Y cómo lo ve el cliente?
🧩 Requisitos previos
Para activar el modo de múltiples conversaciones en el Widget Web de CloudChat, es necesario:
-
Habilitar la validación de identidad de usuario (User Identity Validation).
Esto garantiza que cada usuario autenticado en tu sitio sea realmente quien dice ser. -
Integrar el script del Widget Web en tu sitio, usando el código proporcionado en tu bandeja de Entrada del Widget Web dentro del panel de CloudChat.
⚠️ Importante:
La función de múltiples conversaciones e historial fue pensada exclusivamente para áreas logadas de tu sitio, donde hay un identificador único por usuario.No debe ser utilizada en áreas públicas o anónimas, ya que depende de la validación de identidad para garantizar:
Separación correcta de las conversaciones
Acceso seguro al historial
Privacidad de los datos del usuario
⚙️ Cómo habilitar múltiples conversaciones e historial
-
Accede al panel de CloudChat.
-
Ve a Inboxes → Widget Web → Configuración.
-
Activa la opción “Múltiples conversaciones por usuario”.
-
Copia el script que aparece después de la activación y pégalo en el HTML de tu aplicación (normalmente antes del cierre de la etiqueta
<body>).

🧾 Ejemplo de script
Puedes obtener este ejemplo de script en Inboxes → Widget Web → Script del Widget.

🔐 Sobre el user_id y el identifier_hash
Estos dos parámetros son fundamentales para la autenticación del usuario:
-
user_id→ identificador único y permanente del usuario en tu sistema (por ejemplo, el UUID de la tabla de usuarios). -
identifier_hash→ firma criptográfica generada por tu backend, asegurando la integridad deluser_id.
CloudChat usa el
identifier_hashpara validar que eluser_idfue realmente autenticado por tu sistema y no fue alterado en el lado del cliente.
🧮 Cómo generar el identifier_hash en el backend
El hash debe generarse en tu backend, nunca en el frontend, ya que utiliza el token privado de User Identity Validation proporcionado por CloudChat.
Esto evita que el token sea expuesto en el código público del sitio.
import { createHmac } from 'node:crypto';
/**
* Genera un hash HMAC SHA256 para identificar al usuario
* @param {string|number} userIdentifier - ID único del usuario
* @param {string} hmacToken - Token privado proporcionado por CloudChat
* @returns {string} Hash HMAC en formato hexadecimal
*/
function generateUserIdentifier(userIdentifier, hmacToken) {
if (!userIdentifier) {
throw new Error('Se requiere userIdentifier');
}
const identifierHash = createHmac('sha256', hmacToken)
.update(userIdentifier.toString())
.digest('hex');
console.log('Hash de identificador generado:', identifierHash, 'para usuario:', userIdentifier);
return identifierHash;
}
El endpoint del backend puede ser algo como:
GET /cloudchat/identity-hash?user_id=12345
Retornando:
{ "identifier_hash": "d35b5c2e3b7b2f..." }
✅ Buenas prácticas
-
Usa un
user_idestable (nunca cambies el identificador de un usuario existente). -
No expongas el token HMAC en el frontend.
-
Genera el hash siempre en el backend y envíalo al cliente solo al inicializar el widget.
-
El
identifier_hashdebe ser regenerado cada vez que el widget se cargue para un usuario autenticado.