API JavaScript de Live Chat
Use a API JavaScript do onWebChat para personalizar o seu widget de chat e automatizar fluxos. Pode passar dados do visitante, definir o idioma do widget, maximizar ou ocultar o widget e mais.
Por exemplo, pode enviar os detalhes do visitante para o chat, definir o idioma por página ou abrir o widget de forma programática quando um utilizador clica num botão.
Adicione o seu código API logo abaixo do script do widget de chat, como mostrado à direita.
<script type='text/javascript'>
/* Paste your onWebChat widget installation snippet from the dashboard here. */
</script>
<script type='text/javascript'>
/* Add your JavaScript API calls below, for example onWebChat.set() or onWebChat.get() */
</script>
Definir Informação do Visitante
Pode definir os dados do visitante antes ou durante uma sessão de chat. Por exemplo, definir o nome ajuda a sua equipa a identificar contactos na lista de visitantes.
Use estas chamadas API para definir nome, email, telefone e notas do visitante:
onWebChat.set("name","Sarah Chen");
onWebChat.set("email","sarah.chen@example.com");
onWebChat.set("phone","+1 555 010 0142");
onWebChat.set("notes","Returning visitor, requested an Enterprise trial");
Obter Informação do Visitante
Pode ler o nome, e-mail, telefone e notas do visitante sempre que esses valores tenham sido fornecidos através desta API JavaScript, recolhidos no formulário pré-chat ou atualizados pelos agentes no painel de controlo.
Chame estas funções após o widget estar completamente carregado. Exemplo:
onWebChat.set("onWebChatLoaded", function() { console.log("visitor name: " + onWebChat.get("name")); });
onWebChat.get("name");
onWebChat.get("email");
onWebChat.get("phone");
onWebChat.get("notes");
Definir Idioma do Widget
Defina o idioma do widget usando o código de idioma para qualquer idioma ativado no seu painel.
Por exemplo, "pt" para português, "en" para inglês e "es" para espanhol. Se o código não estiver ativado, o widget usa o seu idioma predefinido. Pode alterar o idioma em Definições > Idiomas.
Códigos de idioma disponíveis:
onWebChat.set("language","es");
Definir Aparência do Widget
Pode controlar as definições principais de exibição do widget:
Use o parâmetro max com 0 para minimizar ou 1 para maximizar o widget.
Para ocultar o widget, use a função set com o parâmetro show e valor 0. Use 1 para voltar a mostrar.
onWebChat.set("max",1);
onWebChat.set("show",0);
Definir Informação da Página
Pode sobrescrever a URL e o título da página atual enviados ao onWebChat:
Use o parâmetro pageUrl para definir um URL personalizado visível para os agentes na consola de chat. Útil para aplicações de página única (SPA) ou roteamento personalizado.
Use o parâmetro pageTitle para definir um título personalizado que os agentes verão em vez do título da página do navegador.
onWebChat.set("pageUrl","https://onwebchat.com/newPage");
onWebChat.set("pageTitle","New title");
Obter Estado do Widget
Devolve "online" ou "offline" consoante a disponibilidade atual do seu chat.
Chame esta função após o widget carregar. Exemplo:
onWebChat.set("onWebChatLoaded", function() { console.log("chat status: " + onWebChat.get("status")); });
onWebChat.get("status");
Obter estado da ligação
Devolve true se o widget de chat tem uma ligação socket ativa com o servidor, ou false caso contrário. Útil para verificar a conectividade antes de executar ações.
onWebChat.get("isConnected");
Obter estado aberto/fechado do widget
Devolve true se o widget de chat está atualmente maximizado (aberto), ou false se está minimizado (fechado).
onWebChat.get("isMaximized");
Obter ID do diálogo
Devolve o ID do diálogo ativo atual, ou 0 se não houver um diálogo de chat ativo. Útil para integrações que precisam de ligar uma sessão de chat a um CRM ou sistema de tickets.
onWebChat.get("dialogId");
Enviar mensagem
Pode enviar uma mensagem de chat em nome do visitante de forma programática. Útil para criar fluxos de ajuda contextuais, como enviar "Preciso de ajuda com a minha encomenda" quando o visitante clica num botão de ajuda.
A mensagem aparecerá no chat como se o visitante a tivesse escrito. O widget deve estar carregado e ligado antes do envio.
onWebChat.set("sendMessage","I need help with my order");
Definir departamento
Pode pré-selecionar um departamento para o visitante com base no contexto da página. Por exemplo, encaminhar automaticamente visitantes na página de preços para "Vendas" e na página de ajuda para "Suporte".
Pode passar o nome do departamento (string) ou o ID do departamento (number). O nome deve corresponder a um dos departamentos configurados no seu painel.
onWebChat.set("department","Sales");
Funções Callback
Pode executar funções callback quando ocorrem eventos específicos do chat:
onClick executa quando o visitante clica no widget de chat
onMaximize executa quando o widget é maximizado
onMinimize executa quando o widget é minimizado
onTrigger executa quando um trigger é ativado
onStartWriting executa quando o visitante começa a escrever
onNewMessage executa quando uma nova mensagem é enviada ou recebida. O callback recebe dois argumentos: o texto da mensagem e quem a enviou ("visitor", "agent" ou "bot")
onEndChat executa quando o chat é terminado. O callback recebe um argumento: quem o terminou ("visitor", "agent" ou "bot")
onChatStatusChange executa quando o estado do widget de chat muda para online ou offline. O callback recebe um argumento: o novo estado ("online" ou "offline")
onWebChatLoaded executa quando o widget de chat termina de carregar
onWebChat.set("onClick",function(){ alert('chat widget is clicked'); });
onWebChat.set("onMaximize",function(){ alert('chat maximized'); });
onWebChat.set("onMinimize",function(){ alert('chat minimized'); });
onWebChat.set("onTrigger",function(){ alert('trigger activated'); });
onWebChat.set("onStartWriting",function(){ alert('visitor is writing'); });
onWebChat.set("onNewMessage",function(msg, by){
console.log('new message by ' + by + ': ' + msg);
});
onWebChat.set("onEndChat",function(endedBy){
console.log('chat ended by ' + endedBy);
});
onWebChat.set("onChatStatusChange",function(status){
console.log('agents are now ' + status);
});
onWebChat.set("onWebChatLoaded",function(){ alert('chat widget is loaded'); });