JavaScript API

Bem-vindo à documentação da API JavaScript tawk.to

A API fornece um conjunto flexível de métodos que podem ser usados em seus projetos da web. Para invocar um dos métodos abaixo, certifique-se de chamar um método após o código de incorporação em sua página.

Use a API JavaScript para manipular a ferramenta de chat exibida em seu site.
Casos de uso populares:
Estamos sempre empolgados para ver como você usa a API, então fique à vontade para compartilhar suas criações conosco!

onLoad

Função de callback invocado logo após a ferramenta ser renderizada. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onLoad = function(){
    //place your code here
};

onStatusChange

Função de callback invocado quando o status da página é alterado. A função receberá o status alterado, que será online, ausente ou offline. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onStatusChange = function(status){
    //place your code here
};

onBeforeLoad

Função de callback invocado quando Tawk_API estiver pronta para ser usada e antes que a ferramenta seja renderizada. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onBeforeLoad = function(){
    //place your code here
};

onChatMaximized

Função de callback invocado quando a ferramenta é maximizada. Este callback não é suportado na janela de chat que aparece
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMaximized = function(){
    //place your code here
};

onChatMinimized

Função de retorno de chamada invocada quando a ferramenta é minimizada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMinimized = function(){
    //place your code here
};

onChatHidden

Função de callback invocado quando a ferramenta está oculta. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatHidden = function(){
    //place your code here
};

onChatStarted

Função de callback invocado quando a ferramenta é iniciada.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatStarted = function(){
    //place your code here
};

onChatEnded

Função de callback invocado quando a ferramenta é encerrada. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatEnded = function(){
    //place your code here
};

onPrechatSubmit

Função de callback invocado quando o formulário de pré-chat é enviado. Os dados do formulário enviado são passados para a função. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onPrechatSubmit = function(data){
    //place your code here
};

onOfflineSubmit

Função de callback invocado quando o formulário offline é enviado. Os dados do formulário enviado são passados para o callback. Os dados do formulário conterão {nome : ”, e-mail : ”, mensagem : ”, perguntas : []}. Este callback não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onOfflineSubmit = function(data){
    //place your code here
};

onChatMessageVisitor

Função de callback invocada quando a mensagem é enviada pelo visitante. A mensagem é passada para o retorno de chamada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageVisitor = function(message){
    //place your code here
};

onChatMessageAgent

Função de callback invocada quando a mensagem é enviada pelo agente. A mensagem é passada para o retorno de chamada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageAgent = function(message){
    //place your code here
};

onChatMessageSystem

Função de callback invocada quando a mensagem é enviada pelo sistema. A mensagem é passada para o retorno de chamada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatMessageSystem = function(message){
    //place your code here
};

onAgentJoinChat

Função de callback invocada quando um agente entra no chat. Os dados são passados ​​para o retorno de chamada. Irá conter {name : “, posição : “, imagem : “, id : “}. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onAgentJoinChat = function(data){
    //place your code here
};

onAgentLeaveChat

Função de callback invocada quando um agente sai do chat. Os dados são passados ​​para o retorno de chamada. Irá conter {nome: “, id: “}. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onAgentLeaveChat = function(data){
    //place your code here
};

onChatSatisfaction

Função de callback invocada quando um agente sai do chat. A satisfação é passada para o retorno de chamada. -1 = não gosto | 0 = neutro | 1 = gosto. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onChatSatisfaction = function(statisfaction){
    //place your code here
};

onVisitorNameChanged

Função de chat invocada quando o visitante altera manualmente seu nome. O visitorName é passado para o retorno de chamada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onVisitorNameChanged = function(visitorName){
    //place your code here
};

onFileUpload

Função de callback invocada quando um arquivo é carregado. O link para o arquivo carregado é passado para o retorno de chamada. Este retorno de chamada não é suportado na janela de chat que aparece.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onFileUpload = function(link){
    //place your code here
};

onTagsUpdated

Função de callback invocada quando uma etiqueta é atualizada.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.onTagsUpdated = function(data){
    //place your code here
};

visitor{};

Objeto usado para definir o nome e o email do visitante. Não coloque este objeto em uma função, pois os valores precisam estar disponíveis antes que o roteiro da ferramenta seja baixado

Definir ou alterar os valores após o download do roteiro da ferramenta não enviará os valores para o painel.

Se o nome e o email não estiverem disponíveis no tempo de carregamento (por exemplo, aplicativo de página única, login ajax), use a função setAttributes.
window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.visitor = {
    name  : 'Name',
    email : 'email@email.com'
};

maximize();

Maximiza a ferramenta de chat
window.Tawk_API.maximize();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.maximize();
};

minimize();

Minimiza a ferramenta de chat
window.Tawk_API.minimize();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.minimize();
};

toggle();

Minimiza ou maximiza a ferramenta de chat com base no estado atual.
window.Tawk_API.toggle();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.toggle();
};

popup();

Abre a ferramenta de chat como um pop out.
window.Tawk_API.popup();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.popup();
};

getWindowType();

Retorna o tipo de ferramenta atual, seja em linha ou incorporado
window.Tawk_API.getWindowType();

//Example

window.Tawk_API.onLoad = function(){
    if(window.Tawk_API.getWindowType() === 'inline'){
        // do something if it's inline
    }else{
        // do something if it's embed
    }
};

showWidget();

Mostra a ferramenta de chat.
window.Tawk_API.showWidget();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.showWidget();
};

hideWidget();

Hides the chat widget.

window.Tawk_API.hideWidget();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.hideWidget();
};

toggleVisibility();

Oculta ou mostra a ferramenta de chat com base no estado atual de visibilidade.
window.Tawk_API.toggleVisibility();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.toggleVisibility();
};

getStatus();

Retorna o status da página atual (online, ausente ou offline)
window.Tawk_API.getStatus();

//Example

window.Tawk_API.onLoad = function(){
    var pageStatus = window.Tawk_API.getStatus();

    if(pageStatus === 'online'){
        // do something for online
    }else if(pageStatus === 'away'){
        //do something for away
    }else{
        // do something for offline
    }
};

isChatMaximized();

Retorna um valor booleano (verdadeiro ou falso) se a ferramenta de chat estiver maximizada.
window.Tawk_API.isChatMaximized();


//Example

window.Tawk_API.onLoad = function(){
    if(window.Tawk_API.isChatMaximized()){
        //do something if it's maximized
    }
};

isChatMinimized();

Retorna um valor booleano (verdadeiro ou falso) se a ferramenta de chat estiver minimizada.
window.Tawk_API.isChatMinimized();

//Example

window.Tawk_API.onLoad = function(){
    if(window.Tawk_API.isChatMinimized()){
        // do something if it's minimized
    }
};

isChatHidden();

Retorna um valor booleano (verdadeiro ou falso) se a ferramenta de chat estiver oculta
window.Tawk_API.isChatHidden();

//Example

Tawk_API.onLoad = function(){
    if(window.Tawk_API.isChatHidden()){
        // do something if chat widget is hidden
    }
};

isChatOngoing();

Retorna um valor booleano (verdadeiro ou falso) se houver um chat em andamento.
window.Tawk_API.isChatOngoing();

//Example

Tawk_API.onLoad = function(){
    if(window.Tawk_API.isChatOngoing()){
        //do something if there's ongoing chat
    }
};

isVisitorEngaged();

Retorna um valor booleano (verdadeiro ou falso) se o visitante está conversando no momento ou solicitou um chat
window.Tawk_API.isVisitorEngaged();

//Example

window.Tawk_API.onLoad = function(){
    if(window.Tawk_API.isVisitorEngaged()){
        // do something if visitor is engaged in chat
    }
};

endChat();

Encerra o chat atual em andamento.
window.Tawk_API.endChat();

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.endChat();
};

setAttributes();

Defina metadados personalizados em relação a este chat/visitante.

Esta função recebe dois valores; atributo e callback;

O valor do atributo é do tipo de dados do objeto, que é um par chave-valor.

A chave é do tipo de dados string e pode conter apenas caracteres alfanuméricos e ‘-‘ (traço)

Você também pode usar esta função para definir o nome e o e-mail do visitante, no entanto, você precisará ativar o modo seguro primeiro e fornecer o valor de hash calculado nesta função também.

Consulte a seção de modo seguro abaixo sobre como fazer isso.

A razão pela qual ele precisa estar no modo seguro é garantir a integridade dos dados. Para garantir que o valor enviado da ferramenta para o painel seja verdadeiro e não tenha sido adulterado.

O callback que é uma função será invocado para notificar se o salvamento falhou.

Mensagem de erros retornados:

  1. INVALID_ATTRIBUTES: nenhum atributo foi enviado
  2. SESSION_EXPIRED: a sessão atual do visitante expirou
  3. SERVER_ERROR: Erro interno do servidor
  4. ACCESS_ERROR: Erro ao acessar a página
  5. ATTRIBUTE_LIMIT_EXCEEDED: o total de atributos personalizados (excluindo nome, email e hash) é 50
  6. CONTAINS_INVALID_KEY: a chave personalizada não é alfanumérica ou traço (as chaves serão minúsculas)
  7. CONTAINS_INVALID_VALUE: o valor personalizado está vazio ou o comprimento total é superior a 255 caracteres)
window.Tawk_API.setAttributes(attributes, callback);

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.setAttributes({
        'id'    : 'A1234',
        'store' : 'Midvalley'
    }, function(error){});
};


//Example for setting name and email

window.Tawk_API.onLoad = function(){
    window.Tawk_API.setAttributes({
        'name'  : 'Name',
        'email' : 'email@email.com',
        'hash'  : 'hash value'
    }, function(error){});
}

addEvent();

Defina um evento personalizado para conversar.

Esta função aceita 3 valores; nome do evento, metadados opcionais e função de retorno de chamada.

O nome do evento é do tipo de dados de fragmentos  e pode conter apenas caracteres alfanuméricos e ‘-‘ (traço)

O callback que é uma função será invocado para notificar se o salvamento falhou.


INVALID_EVENT_NAME, INVALID_ATTRIBUTES, ATTRIBUTE_LIMIT_EXCEEDED, CONTAINS_INVALID_KEY, CONTAINS_INVALID_VALUE, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.addEvent(eventName, metadata, callback);

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.addEvent('requested-quotation', function(error){});

    window.Tawk_API.addEvent('product-add-to-cart', {
        'sku'    : 'A0012',
        'name'  : 'Jeans',
        'price' :'50'
    }, function(error){});
};

addTags();

Adicione etiquetas ao chat

Esta função recebe dois valores; etiquetas e callback

Este é do tipo de dados de matriz.

O conteúdo das etiquetas deve ser do tipo de dados de fragmentos.

O número total de etiquetas é 10.

O callback que é uma função será invocado para notificar se o salvamento falhou.

INVALID_TAGS, TAG_LIMIT_EXCEEDED, VERSION_CONFLICT, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.addTags(tags, callback);

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.addTags(['hello', 'world'], function(error){});
};

removeTags();

Remover etiquetas do chat

Esta função recebe dois valores; etiquetas e callback

Este é do tipo de dados de matriz.

O conteúdo das etiquetas deve ser do tipo de dados de fragmentos.

O callback que é uma função será invocado para notificar se o salvamento falhou.

INVALID_TAGS, TAG_LIMIT_EXCEEDED, SESSION_EXPIRED, SERVER_ERROR

window.Tawk_API.removeTags(tags, callback);

//Example

window.Tawk_API.onLoad = function(){
    window.Tawk_API.removeTags(['hello', 'world'], function(error){});
};

Secure Mode

O método seguro é garantir que os dados que você está enviando sejam realmente seus.

Para ativar o modo seguro, incorpore o seguinte código em sua página.

O hash é HMAC gerado pelo lado do servidor, usando SHA256, usando o email do usuário e a chave de API do seu site.

Você pode obter sua chave de API em Admin->Configurações de propriedade

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.visitor = {
    name  : 'Name',
    email : 'email@email.com',
    hash  : '<calculate-hash>'
};

// Here is an example showing how you could do it using PHP

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.visitor = {
    name  : '<?php echo $user->name; ?>',
    email : '<?php echo $user->email; ?>',
    hash  : '<?php echo hash_hmac("sha256", $user->email, "<API-KEY>"); ?>'
};

customStyle

Objeto usado para atualizar o estilo da ferramenta. Atualmente suporta apenas o estilo zIndex. Não coloque este objeto em uma função, pois os valores precisam estar disponíveis antes do download do fragmento da ferramenta. Definindo ou alterando os valores após o download do fragmento da ferramenta não irá atualizar o estilo da ferramenta.

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.customStyle = {
    zIndex : Integer|String
};

//Example

window.Tawk_API = window.Tawk_API || {};
window.Tawk_API.customStyle = {
    zIndex : 1000
};

window.Tawk_API.customStyle = {
    zIndex : '1000'
};

window.Tawk_API.customStyle = {
    zIndex : '1000 !important'
};