Nos atendimentos do Webchat V2 é possível inserir informações em variáveis mesmo que os usuários não tenham preenchido. Você passará essas informações dentro do script ou link de compartilhamento do seu Webchat V2.


Esse recurso funciona com variáveis personalizáveis, adicionais e predefinidas.


API JavaScript


O script de integração com o site conta com uma API JavaScript na qual é possível definir alguns parâmetros antes da inicialização do chat e também executar alguns métodos após o chat ser carregado, além da escuta de eventos.


Script disponibilizado na plataforma para integração com o site:


<script type="text/javascript">
          (function(s, z, c, h, a, t) {
            s.webchat = s.webchat || function() {
              (s.webchat.q = s.webchat.q || []).push(arguments);
            };
            t = z.createElement(c),
              a = z.getElementsByTagName(c)[0]; t.async = 1;
            t.src = 'https://teste.sz.chat/webchat/v2/webchat.js'; 
            a.parentNode.insertBefore(t, a);
            s.webchat('cid', '[CHANNEL_ID]');
            s.webchat('host', h);
          })(window, document, 'script', 'https://teste.sz.chat');
        </script>



Parâmetros disponíveis antes do carregamento do chat


Via script


Os parâmetros devem ser definidos abaixo da chamada no script de integração:

      s.webchat('host', h);

 

Option
Type
Default
Description
debug
Boolean
false
Exibe informações de debug no console
locale
String
pt-BR
Linguagem de exibição
cid
String
null
ID do canal. Obrigatório por script ou por URL
button_label
String
null
Texto que vai aparecer no balão do lado do botão do chat e que tem prioridade em relação a configuração do texto no canal (Disponível apenas no modo janela)
fid
String
null
ID do fluxo que o chat será iniciado. Se vazio inicia no fluxo padrão
z-index
Integer
2147483640
Altera a ordem de exibição do elemento na página
szf_name
String
null
Definir nome do usuário do chat
szf_email
String
null
Definir email do usuário do chat
szf_{CAMPO}
String
null
É possível definir qualquer campo adicional usando o prefixo szf_ + nome do campo em minúsculo, ex.: szf_telefone (Só é permitido utilizar letras e underlines, um campo adicional deve ser criado no SZ.chat com as mesmas características removendo apenas o 'szf_')

       


Via URL


É possível capturar parâmetros da URL do site antes do ínicio do chat. Por exemplo, caso você queira que os dados do usuário seja preenchido automaticamente você passaria os parâmetros da URL do site da seguinte forma: 



Detalhes sobre a URL apresentada:



  • Antes de passar cada variável é inserido o: &


  • Passando as variáveis NAME e EMAIL: szf_name=Marcos&szf_email=marcos@mail.com


Os parâmetros via URL não sobrescrevem os valores definidos por script.


Option
Type
Default
Description
szo_debug
Boolean
false
Exibe informações de debug no console
szo_locale
String
pt-BR
Linguagem de exibição
cid
String
null
ID do canal. Obrigatório por script ou por URL
z-index
Integer
2147483640
Altera a ordem de exibição do elemento na página
szo_fid
String
null
ID do fluxo que o chat será iniciado. Se vazio inicia no fluxo padrão
szf_name
String
null
Definir nome do usuário do chat
szf_email
String
null
Definir email do usuário do chat
szf_{CAMPO}
String
null
É possível definir qualquer campo adicional usando o prefixo szf_ + nome do campo em minúsculo, ex.: szf_telefone (Só é permitido utilizar letras e underlines, um campo adicional deve ser criado no SZ.chat com as mesmas características removendo apenas o 'szf_')


Métodos disponíves após o carregamento do script


Após o carregamento do script alguns métodos ficarão disponíveis. Para chamar os métodos é só acessar o método na instância webchat('METODO').


Exemplo



Event
Returns
Triggered
onReady
SZchat instance
O chat foi carregado corretamente
beforeOpen
SZchat instance
Antes de abrir o chat
onOpen
SZchat instance
Ao abrir o chat
afterOpen
SZchat instance
Após abrir o chat
beforeClose
SZchat instance
Antes de fechar o chat
onClose
SZchat instance
Ao fechar o chat
afterClose
SZchat instance
Após fechar o chat


Dica de uso:


Com o código de exemplo abaixo inserido no nosso SCRIPT, no mesmo lugar aonde preenchemos as variáveis, podemos definir por página de forma automática, qual mensagem exibir no button_label de acordo com o arquivo em que está localizado.


switch(window.location.href.split('/').pop()) {
    case 'pagina1.html': 
        s.webchat('button_label', 'Bem vindo a página 1!');
        break
    case 'pagina2.html':
        s.webchat('button_label', 'Bem vindo a página 2!');
        break;



Exemplo de uso


Ao utilizar o recurso você pode inserir o seu Webchat V2 em um site com várias abas, e conforme a aba onde o cliente se encontra ele vai visualizar uma mensagem específica no botão do Webchat. 



E ao clicar para iniciar uma conversa você pode dar um direcionamento específico conforme a aba onde o cliente está localizado. 


Então precisamos fazer duas configurações:

  • Exibir a mensagem no botão conforme a página;
  • Direcionar o cliente para a equipe respectiva a página do site;


Para obter esse resultado é necessário adicionar um script específico em cada uma das abas da plataforma.


1 - Botão com mensagens diferentes


Obtenha o script do seu canal de Webchat V2 em canais > coluna "ações" > código de ativação.



Para exibir a mensagem no botão precisamos preencher button_label com a mensagem desejada em cada página. 


Aba comercial


Informação que deve ser inserida no script

 s.webchat('button_label','Fale com o nosso comercial')

Script completo

<script type="text/javascript">
          (function(s, z, c, h, a, t) {
            s.webchat = s.webchat || function() {
              (s.webchat.q = s.webchat.q || []).push(arguments);
            };
            t = z.createElement(c),
              a = z.getElementsByTagName(c)[0]; t.async = 1;
            t.src = 'https://teste.sz.chat/webchat/v2/webchat.js'; 
            a.parentNode.insertBefore(t, a);
            s.webchat('cid', '[CHANNEL_ID]');
            s.webchat('host', h);
            s.webchat('button_label','Fale com o nosso comercial')
          })(window, document, 'script', 'https://teste.sz.chat');
        </script>


Aba suporte


Informação que deve ser inserida no script

s.webchat('button_label','Fale com o nosso suporte')

Script completo

<script type="text/javascript">
          (function(s, z, c, h, a, t) {
            s.webchat = s.webchat || function() {
              (s.webchat.q = s.webchat.q || []).push(arguments);
            };
            t = z.createElement(c),
              a = z.getElementsByTagName(c)[0]; t.async = 1;
            t.src = 'https://teste.sz.chat/webchat/v2/webchat.js'; 
            a.parentNode.insertBefore(t, a);
            s.webchat('cid', '[CHANNEL_ID]');
            s.webchat('host', h);
            s.webchat('button_label','Fale com o nosso suporte')
          })(window, document, 'script', 'https://teste.sz.chat');
        </script>  


2 - Direcionamentos de atendimento conforme a aba do site


Faremos da seguinte forma, quando o cliente iniciar atendimento em uma determinada aba do site,  ele será encaminhado para a respectiva equipe apresentada na tabela:


Aba do site
Equipe da plataforma
Suporte
Suporte
Produtos
Comercial


Escolha a variável da sua preferência para ser utilizada nessa configuração, vou utilizar a variável {{EQUIPE}}.


Preciso passar essa variável preenchida no script para que a plataforma saiba para onde o cliente deve ser direcionado.


Preencha a variável com a informação da sua preferência, visto que o componente do fluxo "condição" que fará com que o cliente tenha o direcionamento desejado


Vou inserir 1 para comercial e 2 para suporte.


Aba comercial

 

Informação que deve ser inserida no script

 s.webchat('szf_EQUIPE','1')

Script completo 

<script type="text/javascript">
          (function(s, z, c, h, a, t) {
            s.webchat = s.webchat || function() {
              (s.webchat.q = s.webchat.q || []).push(arguments);
            };
            t = z.createElement(c),
              a = z.getElementsByTagName(c)[0]; t.async = 1;
            t.src = 'https://teste.sz.chat/webchat/v2/webchat.js'; 
            a.parentNode.insertBefore(t, a);
            s.webchat('cid', '[CHANNEL_ID]');
            s.webchat('host', h);
            s.webchat('button_label','Fale com o nosso comercial')
            s.webchat('szf_EQUIPE','1')
          })(window, document, 'script', 'https://teste.sz.chat');
        </script>


Aba de suporte


Informação que deve ser inserida no script


 s.webchat('szf_EQUIPE','2')


Script completo


<script type="text/javascript">
          (function(s, z, c, h, a, t) {
            s.webchat = s.webchat || function() {
              (s.webchat.q = s.webchat.q || []).push(arguments);
            };
            t = z.createElement(c),
              a = z.getElementsByTagName(c)[0]; t.async = 1;
            t.src = 'https://teste.sz.chat/webchat/v2/webchat.js'; 
            a.parentNode.insertBefore(t, a);
            s.webchat('cid', '[CHANNEL_ID]');
            s.webchat('host', h);
            s.webchat('button_label','Fale com o nosso suporte')
            s.webchat('szf_EQUIPE','2')
          })(window, document, 'script', 'https://teste.sz.chat');
        </script>


Utilizando o script o botão ficará com a mensagem personalizada e a variável {{EQUIPE}} será preenchida, mas para que o cliente tenha direcionamentos diferentes é necessário que haja um configuração no fluxo de atendimento.


Utilizando o componente condição em seu fluxo de atendimento é possível direcionar o cliente conforme a informação contida em uma variável.


Se a variável estiver preenchida com o valor 1, ele será encaminhado para o comercial e o valor 2 encaminhará o cliente para o suporte. 


Fluxo de exemplo:

 

Detalhamento do componente condição: 


O campo variável precisa  ser preenchido com a mesma variável inserida no script. 


Você deve escolher se a verificação será em número ou texto, sempre levando em consideração a configuração realizada no script. 


Adicionei a exceção, para dar um direcionamento específico ao clientes que não estiverem com a variável preenchida com 1 ou 2.


Inseri a condição igual a 1 e 2 pois são os únicos valores que vou aceitar. 



Agora é a sua vez de utilizar essa funcionalidade na sua plataforma.