Некоторые популярные варианты использования JavaScript API:
Событие будет отправлено как только виджет отобразится на странице. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onLoad = function(){
//place your code here
};
Событие будет отправлено при изменении статуса страницы — «Online», «Away» или «Offline». Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onStatusChange = function(status){
//place your code here
};
Событие будет отправлено как только tawk_api готов к использованию еще до момента отображения виджета. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onBeforeLoad = function(){
//place your code here
};
Событие будет отправлено при максимальном увеличении виджета. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onChatMaximized = function(){
//place your code here
};
Событие будет отправлено при минимизации виджета. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onChatMinimized = function(){
//place your code here
};
Событие будет отправлено при скрытии виджета. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onChatHidden = function(){
//place your code here
};
Событие будет отправлено при запуске виджета.
Tawk_API = Tawk_API || {};
Tawk_API.onChatStarted = function(){
//place your code here
};
Событие будет отправлено при завершении/закрытии чата. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onChatEnded = function(){
//place your code here
};
Вызывается при отправке предчатовой формы. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onPrechatSubmit = function(data){
//place your code here
};
Событие будет отправлено в момент отправки сообщения через Offline—форму. Данные, предоставленные посетителем, передаются (to the call back). Данные формы будут содержать {name : », email : », message : », questions : []}. Данная функция не поддерживается, если установлено всплывающее окно.
Tawk_API = Tawk_API || {};
Tawk_API.onOfflineSubmit = function(data){
//place your code here
};
Объект, используемый для установки имени и эл.почты посетителя. Не помещайте этот объект в функцию, так как значения должны быть доступны до загрузки скрипта виджета.
Настройка или изменения значений после загрузки виджета не будут отправлены в панель управления/инструментов.
Если имя и эл.почта не будут доступны во время загрузки (в случае одностраничного приложения или ajax логина), рекомендуем использовать функцию setAttributes .
Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
name : 'Name',
email : 'email@email.com'
};
Максимизация виджета.
Tawk_API.maximize();
//Example
Tawk_API.onLoad = function(){
Tawk_API.maximize();
};
Минимизация виджета.
Tawk_API.minimize();
//Example
Tawk_API.onLoad = function(){
Tawk_API.minimize();
};
Максимальное уменьшение или увеличение виджета, исходя из текущего состояния.
Tawk_API.toggle();
//Example
Tawk_API.onLoad = function(){
Tawk_API.toggle();
};
Открывает виджет как всплывающее окно.
Tawk_API.popup();
//Example
Tawk_API.onLoad = function(){
Tawk_API.popup();
};
Возвращает текущий вид виджета, является ли он встроенным или вставленным.
Tawk_API.getWindowType();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.getWindowType() === 'inline'){
// do something if it's inline
}else{
// do something if it's embed
}
};
Показывает виджет.
Tawk_API.showWidget();
//Example
Tawk_API.onLoad = function(){
Tawk_API.showWidget();
};
Скрывает виджет.
Tawk_API.hideWidget();
//Example
Tawk_API.onLoad = function(){
Tawk_API.hideWidget();
};
Скрывает или показывает виджет, исходя из установленных параметров видимости.
Tawk_API.toggleVisibility();
//Example
Tawk_API.onLoad = function(){
Tawk_API.toggleVisibility();
};
Возвращает текущий статус страницы (online, away, offline).
Tawk_API.getStatus();
//Example
Tawk_API.onLoad = function(){
var pageStatus = Tawk_API.getStatus();
if(pageStatus === 'online'){
// do something for online
}else if(pageStatus === 'away'){
//do something for away
}else{
// do something for offline
}
};
Возвращает логическое значение (true или false), если виджет максимизирован.
Tawk_API.isChatMaximized();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.isChatMaximized()){
//do something if it's maximized
}
};
Возвращает логическое значение (true или false), если виджет минимизирован.
Tawk_API.isChatMinimized();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.isChatMinimized()){
// do something if it's minimized
}
};
Возвращает логическое значение (true или false), если виджет скрыт.
Tawk_API.isChatHidden();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.isChatHidden()){
// do something if chat widget is hidden
}
};
Возвращает логическое значение (true или false), если есть текущий чат.
Tawk_API.isChatOngoing();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.isChatOngoing()){
//do something if there's ongoing chat
}
};
Возвращает логическое значение (true или false), если посетитель уже участвует в чате или запросил чат.
Tawk_API.isVisitorEngaged();
//Example
Tawk_API.onLoad = function(){
if(Tawk_API.isVisitorEngaged()){
// do something if visitor is engaged in chat
}
};
Завершает текущий чат.
Tawk_API.endChat();
//Example
Tawk_API.onLoad = function(){
Tawk_API.endChat();
};
Установите специфические метаданные, относящиеся к этому чату/посетителю.
Эта функция принимает два значения: атрибут и обратный вызов.
Значение атрибута относится к типу данных объекта, который представляет собой пару ключ-значение.
Ключ относится к строковому типу данных и может содержать только буквенно-цифровые символы и “-” (знак тире).
Вы также можете использовать эту функцию для установки имени и эл.почты посетителя, но сначала вам необходимо включить безопасный режим, а также предоставить рассчитанное значение хэша-функции.
Подробнее о безопасном режиме.
Безопасный режим необходим для обеспечения целостности данных, а также, чтобы убедиться, что значение, отправленное из виджета на панель управления, достоверно и не является фальсификацией.
Функция будет вызываться для уведомления о неудачном сохранении.
Сообщение об ошибке будет выглядеть так:
Tawk_API.setAttributes(attributes, callback);
//Example
Tawk_API.onLoad = function(){
Tawk_API.setAttributes({
'id' : 'A1234',
'store' : 'Midvalley'
}, function(error){});
};
//Example for setting name and email
Tawk_API.onLoad = function(){
Tawk_API.setAttributes({
'name' : 'Name',
'email' : 'email@email.com',
'hash' : 'hash value'
}, function(error){});
}
Задайте настраиваемое событие для чата.
Эта функция принимает три значения: название/имя события, факультативные метаданные и функция обратного вызова.
Имя события относится к строковому типу данных и может содержать только буквенно-цифровые символы и “-” (тире).
Функция будет вызываться для уведомления о неудачном сохранении.
INVALID_EVENT_NAME, INVALID_ATTRIBUTES, ATTRIBUTE_LIMIT_EXCEEDED, CONTAINS_INVALID_KEY, CONTAINS_INVALID_VALUE, SESSION_EXPIRED, SERVER_ERROR
Tawk_API.addEvent(eventName, metadata, callback);
//Example
Tawk_API.onLoad = function(){
Tawk_API.addEvent('requested-quotation', function(error){});
Tawk_API.addEvent('product-add-to-cart', {
'sku' : 'A0012',
'name' : 'Jeans',
'price' :'50'
}, function(error){});
};
Добавление тегов в чат.
Эта функция принимает два значения — теги и обратный вызов.
Это тип данных — массивы (Array).
Теги должны быть представлены в виде строковых данных.
Общее количество тегов — 10.
Функция будет вызываться для уведомления о неудачном сохранении.
INVALID_TAGS, TAG_LIMIT_EXCEEDED, VERSION_CONFLICT, SESSION_EXPIRED, SERVER_ERROR
Tawk_API.addTags(tags, callback);
//Example
Tawk_API.onLoad = function(){
Tawk_API.addTags(['hello', 'world'], function(error){});
};
Удалить теги из чата.
Эта функция принимает два значения — теги и обратный вызов.
Это тип данных — массивы (Array).
Теги должны быть представлены в виде строковых данных.
Функция будет вызываться для уведомления о неудачном сохранении.
INVALID_TAGS, TAG_LIMIT_EXCEEDED, SESSION_EXPIRED, SERVER_ERROR
Tawk_API.removeTags(tags, callback);
//Example
Tawk_API.onLoad = function(){
Tawk_API.removeTags(['hello', 'world'], function(error){});
};
Защищенный режим необходим для того, чтобы гарантировать, что данные, отправленные с вашей стороны, являются действительно вашими.
Чтобы включить защищенный режим, вставьте следующий код на свою страницу.
Хэш представляет собой серверную версию HMAC, использующую SHA256, эл.почту пользователя и ключ-API вашего сайта.
Свой ключ-API вы можете найти в Админ-панели>Настройки проекта.
Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
name : 'Name',
email : 'email@email.com',
hash : '<calculate-hash>'
};
// Here is an example showing how you could do it using PHP
Tawk_API = Tawk_API || {};
Tawk_API.visitor = {
name : '<?php echo $user->name; ?>',
email : '<?php echo $user->email; ?>',
hash : '<?php echo hash_hmac("sha256", $user->email, "<API-KEY>"); ?>'
};