Pular para o conteúdo

Identificar o cliente logado no chat

Informe ao chat quem é o cliente que já fez login no seu site, e comprove a identidade com o segredo de verificação.

Quando o cliente já fez login no seu site, você pode informar ao chat quem ele é. O pré-chat não aparece e, quando o seu site informa o nome, o atendente vê esse nome em vez de Visitante e o chat usa a Saudação para cliente identificado. Só com o e-mail, o visitante continua como Visitante e recebe a saudação comum.

Este artigo vale para páginas onde você instalou o código do chat. É trabalho para quem desenvolve o seu site.

Identificado ou verificado

NívelComo o chat chega neleO que garante
IdentificadoO seu site informa nome, e-mail ou telefoneNada: qualquer pessoa pode informar qualquer e-mail pelo navegador
VerificadoO seu servidor comprova a identidade com o segredo de verificaçãoQue o cliente é mesmo quem diz ser. A conversa é ligada na hora ao contato com o mesmo e-mail ou telefone. Se não houver um, o contato é criado

Use o verificado sempre que o seu site tiver um servidor próprio. O identificado é para quando não há como calcular a verificação.

Os dados que você pode informar

DadoFormato aceito
nameDe 1 a 120 caracteres
emailUm e-mail válido
phoneDe 10 a 15 dígitos, com DDI e DDD
externalIdO código do cliente no seu sistema. De 1 a 120 caracteres
userHashA verificação calculada pelo seu servidor. 64 caracteres

Identificar

Chame a identificação depois que o chat carregar, com os dados do cliente logado:

customElements.whenDefined('bevean-messenger').then(() => {
  document.querySelector('bevean-messenger').identify({
    name: 'Maria Silva',
    email: 'maria@exemplo.com.br',
    phone: '5547999990000'
  })
})

Se a página é montada no servidor, dá para passar os mesmos dados direto na tag do chat, no atributo user. Esse atributo não aceita o userHash: para verificar, use a chamada acima.

<bevean-messenger channel-key="…" gateway-url="…" user='{"name":"Maria Silva","email":"maria@exemplo.com.br"}'></bevean-messenger>

Verificar

  1. Copie o segredo de verificação

    No editor do chat, seção Segurança, use Mostrar ou Copiar no Segredo de verificação. Guarde no seu servidor.

  2. Calcule o userHash no servidor

    É um HMAC-SHA256 com o segredo, em hexadecimal. O valor assinado é o externalId quando você o envia; sem ele, é o e-mail em letras minúsculas.

  3. Envie o userHash junto com os dados

    Na chamada identify, inclua o userHash e os mesmos externalId ou email usados no cálculo.

servidor.js
const crypto = require('crypto')

// Com externalId, assine o externalId. Sem ele, assine o e-mail em minúsculas.
const assinado = customer.id ? String(customer.id) : customer.email.toLowerCase()
const userHash = crypto.createHmac('sha256', SEGREDO_DE_VERIFICACAO).update(assinado).digest('hex')
Cuidado:

O segredo nunca vai para o código do site

Quem tiver o segredo consegue se passar por qualquer cliente. Ele fica só no seu servidor: o navegador recebe apenas o userHash já calculado.

Atenção:

Com externalId, o cálculo muda

Se você envia o externalId, a verificação é feita sobre ele, não sobre o e-mail. Um userHash calculado com o e-mail, enviado junto com um externalId, não verifica o cliente.

Trocar o segredo

Gerar novo segredo troca o segredo na hora: o atual para de funcionar. Atualize o seu servidor com o novo segredo logo em seguida. O chat continua instalado, porque a chave do chat não muda.

Atualizado em

Central de Ajuda — tutoriais e respostas sobre a plataforma.

Digite ao menos duas letras para buscar.