Como identificar o visitante logado no chat do meu site?
Se o seu site tem área logada, você pode dizer ao chat quem é o visitante. Gere o segredo do canal na aba Compartilhamento do editor do chat, assine nome e e-mail no seu servidor e chame cxLiveChat.identify. O chat deixa de pedir esses dados e o contato é unificado pelo e-mail.
Antes de começar:
- O chat já está incorporado no seu site. Veja o Código de incorporação na mesma aba.
- Você precisa de um servidor seu para assinar. A assinatura nunca deve ser gerada no navegador, porque o segredo ficaria exposto.
Passos
-
Abra o editor do chat e vá na aba Compartilhamento.
-
No card Identificar visitantes do seu site, clique em Gerar segredo e guarde o valor numa variável de ambiente do seu servidor (por exemplo
CLICKMAX_CHAT_SECRET). -
No servidor, calcule a assinatura de quem está logado: HMAC-SHA256, em hexadecimal, do texto
ID do canal, quebra de linha,e-mail, quebra de linha,nome, usando o segredo. -
Na página, defina a identidade ANTES da tag do script do chat (o script carrega de forma assíncrona, então
cxLiveChatainda não existe depois dela):
Se o visitante entrar depois que a página e o chat já carregaram (por exemplo, login numa SPA), chame cxLiveChat.identify({ name, email, signature }).
O que você deve ver
Ao abrir o chat, o visitante entra direto na conversa, sem o formulário de nome e e-mail. Na conversa, o contato aparece com o nome e o e-mail informados; se já existir um contato com esse e-mail, a conversa entra nele.
Se algo não funcionar
- O chat ainda pede nome e e-mail. A assinatura não conferiu e o chat segue como visitante anônimo, sem mostrar erro. Confira se o texto assinado usa o ID do canal, o e-mail e o nome exatamente como foram passados ao
identify(sem espaços extras ou maiúsculas diferentes) e se o segredo é o do canal certo. - Nome ou e-mail com quebra de linha. Não são aceitos: a assinatura é recusada.
- Gerar novo segredo. O segredo anterior deixa de valer na hora. Os visitantes assinados com ele voltam a ser anônimos até o seu servidor usar o novo.