O que Ă© o modo de mĂșltiplas conversas?
A nova feature de mĂșltiplas conversas permite que um mesmo usuĂĄrio mantenha diferentes threads de atendimento dentro do Web Widget, em vez de ter apenas uma conversa contĂnua. Essa funcionalidade Ă© ideal para ambientes logados, onde Ă© possĂvel identificar de forma segura cada usuĂĄrio.
Como fica a visualização para o cliente?
𧩠Pré-requisitos
Para ativar o modo de mĂșltiplas conversas no CloudChat Web Widget, Ă© necessĂĄrio:
-
Habilitar a validação de identidade de usuårio (User Identity Validation).
Isso garante que cada usuĂĄrio autenticado no seu site seja de fato quem diz ser. -
Integrar o script do Web Widget no seu site, utilizando o cĂłdigo fornecido na sua inbox de Web Widget dentro do painel CloudChat.
â ïž Importante:
A feature de mĂșltiplas conversas foi pensada exclusivamente para ĂĄreas logadas do seu site, onde hĂĄ um identificador Ășnico por usuĂĄrio.
Ela nĂŁo deve ser utilizada em seçÔes pĂșblicas ou anĂŽnimas.
âïž Como habilitar mĂșltiplas conversas
-
Acesse o painel do CloudChat.
-
VĂĄ atĂ© Inboxes â Web Widget â Configuração.
-
Ative a flag âMĂșltiplas conversas por usuĂĄrioâ.
-
Copie o script exibido após a ativação e cole no HTML da sua aplicação (normalmente antes do fechamento da tag
<body>).

đ§Ÿ Exemplo de script
VocĂȘ pode obter esse exemplo de script em Inboxes â Web Widget â Widget Scripts.

đ Sobre o user_id e o identifier_hash
Esses dois parùmetros são fundamentais para a autenticação do usuårio:
-
user_idâ identificador Ășnico e permanente do usuĂĄrio no seu sistema (por exemplo, o UUID da tabela de usuĂĄrios). -
identifier_hashâ assinatura criptogrĂĄfica gerada pelo seu backend, garantindo a integridade douser_id.
O CloudChat usa o
identifier_hashpara validar que ouser_idfoi realmente autenticado pelo seu sistema e nĂŁo foi adulterado no lado do cliente.
đ§ź Como gerar o identifier_hash no backend
O hash deve ser gerado no seu backend, nunca no frontend, pois utiliza o token privado de User Identity Validation fornecido pelo CloudChat.
Isso evita que o token seja exposto no cĂłdigo pĂșblico do site.
import { createHmac } from 'node:crypto';
/**
* Generates an HMAC SHA256 hash to identify the user
* @param {string|number} userIdentifier - Unique ID of the user
* @param {string} hmacToken - Private token provided by CloudChat
* @returns {string} HMAC hash in hexadecimal format
*/
function generateUserIdentifier(userIdentifier, hmacToken) {
if (!userIdentifier) {
throw new Error('userIdentifier is required');
}
const identifierHash = createHmac('sha256', hmacToken)
.update(userIdentifier.toString())
.digest('hex');
console.log('Generated Identifier Hash:', identifierHash, 'for user:', userIdentifier);
return identifierHash;
}
O endpoint backend pode ser algo como:
GET /cloudchat/identity-hash?user_id=12345
Retornando:
{ "identifier_hash": "d35b5c2e3b7b2f..." }
â Boas prĂĄticas
-
Use um
user_idestĂĄvel (nunca mude o identificador de um usuĂĄrio existente). -
NĂŁo exponha o token HMAC no frontend.
-
Gere o hash sempre no backend e o envie para o cliente apenas no momento de inicializar o widget.
-
O
identifier_hashdeve ser regenerado toda vez que o widget for carregado para um usuĂĄrio autenticado.