Содержание статьи:
Введение
LiveTex предоставляет API для работы в виджетами.
Объект LiveTex и его методы реализованы непосредственно в коде виджета, который загружается стандартным кодом вставки LiveTex.
Асинхронная загрузка виджета не позволяет точно предсказать момент окончания его инициализации. Для того чтобы быть уверенным в наличии виджета на странице и в готовности всех методов, в коде вставки следует предопределить объект LiveTex, в котором определить обработчик события onLiveTexReady.
Типы данных
ConversationAttribute
Атрибут обращения.
Присваивается при вызове метода setConversationAttributes
Тип
{key: string, value: string, is_hidden: boolean, type: number}
Параметр | Тип | Описание |
key | string | название атрибута |
value | string | значение атрибута |
is_hidden | boolean | флаг невидимости для оператора |
type | LiveTex.ConversationAttributeType | тип атрибута |
VisitorAttribute
Атрибут посетителя чата.
Присваивается при указании посетителем контактных данных или при помощи метода setVisitorAttributes
Тип
{ name: LiveTex.VisitorDisplayedName, contacts: !Array.<LiveTex.Contact> }
Параметр | Тип | Описание |
name | LiveTex.VisitorDisplayedName | имя посетителя |
contacts | !Array.<LiveTex.Contact> | контактные данные посетителя |
Contact
Контактные данные посетителя чата.
Заполняется посетителем в форме обратной связи или при помощи метода setVisitorAttributes
Тип
{value: string, type: LiveTex.ContactType}
Параметр | Тип | Описание |
value | string | значение контакта |
type | LiveTex.ContactType |
тип контакта |
Employee
Оператор на которого назначен чат
Тип
{ id: string, name: string, avatar_url: string, status: LiveTex.EmployeeStatus, is_available: boolean}
Параметр | Тип | Описание |
id | string | идентификатор оператора |
name | string | имя оператора (Имя + Фамилия) |
avatar_url | boolean | ссылка на аватар оператора |
status | LiveTex.EmployeeStatus | статус оператора |
is_available | boolean | флаг доступности оператора для новых обращений |
EmployeeFilter
Оператор
Тип
{ status: !Array.<LiveTex.EmployeeStatus>, is_available: boolean, department_id: string}
Параметр | Тип | Описание |
departnment_id | string | идентификатор группы в которой находится оператор |
status | !Array.<LiveTex.EmployeeStatus> | статус оператора |
is_available | boolean | флаг доступности оператора для новых обращений |
Schedule
График работы операторов, принимающих звонки x-widget
Тип
{ from: number, to: number, days: !Array.<number> }
Параметр | Тип | Описание |
from | number | начало работы, время в секундах от начала дня |
to | number | конец работы, время в секундах от начала дня |
days | !Array.<number> | дни недели от 0 до 6, например [0,1,2,3,4] |
Перечисления
Event
Набор событий, на которые можно подписаться.
Каждый обработчик события должен принимать объект со свойствами 'event' - тип события и 'data' - данные события
Ключ | Значение | Описание |
LIVETEX_READY | livetex-ready | событие загрузки виджета на странице сайта |
CONVERSATION_STARTED | conversation-started | событие начала диалога |
CONVERSATION_CLOSED | conversation-closed | событие закрытия чата оператором |
EMPLOYEE_MESSAGE_SENT | employee-message-sent | событие отправки сообщение оператором |
OFFLINE_MESSAGE_SENT | offline-message-sent | событие отправки офлайн заявки посетителем |
CALLBACK_SENT | callback-sent | событие заказа звонка посетителем |
INVITATION_WINDOW_SHOWN | invitation-window-shown | событие показа окна вовлечения |
INVITATION_WINDOW_CLOSE | invitation-window-close | событие закрытия окна совлечения |
WELCOME_WINDOW_SHOWN | welcome-window-shown | событие открытия приветственного окна |
CALL_STARTED | call-started | событие заказа звонка x-widget |
CALL_ESTABLISHED | call-established | событие установки соединения звонка x-widget |
X_WINDOW_SHOWN | x-window-shown | событие показа x-widget |
EmployeeStatus
Возможные статусы оператора
Ключ | Значение | Описание |
departnment_id | string | идентификатор группы в которой находится оператор |
status | !Array.<LiveTex.EmployeeStatus> | статус оператора |
is_available | boolean | флаг доступности оператора для новых обращений |
ContactType
Тип контактных данных посетителя
Ключ | Значение | Описание |
'email' | адрес электронной почты | |
phone | 'phone' | номер телефона |
ConversationAttributeType
Типы атрибутов обращения
Ключ | Значение | Описание |
STRING | 0 |
строка |
NUMBER | 1 | число |
LIST | 2 | список |
PHONE | 3 | номер телефона |
4 | адрес электронной почты | |
MASK | 5 | маска (регулярное выражение) |
SourceType
Автор действия или события
Ключ | Значение | Описание |
VISITOR | 'visitor' | посетитель сайта |
EMPLOYEE | 'employee' | оператор |
SYSTEM | 'system' | система LiveTex (вовлечение) |
API | 'api' | API |
WidgetType
Типы виджета
Ключ | Значение | Описание |
WELCOME_WINDOW | 'welcome-window' |
приветственное окно |
CONVERSATION_WINDOW | 'conversation-window' | окно чата |
OFFLINE_WINDOW | 'offline-window' | форма обратной связи |
INVITATION_WINDOW | 'invitation-window' | окно вовлечения |
X_WINDOW | 'x-window' | окно x-widget |
X_BUTTON | 'x-button' | кнопка x-widget |
BUTTON |
'button' | кнопка начала чата |
LABEL | 'label' | ярлык виджета |
События
- LIVETEX_READY
- CALL_ESTABLISHED
- CALL_STARTED
- CONVERSATION_STARTED
- CONVERSATION_CLOSED
- EMPLOYEE_MESSAGE_SENT
- INVITATION_WINDOW_CLOSE
- INVITATION_WINDOW_SHOWN
- OFFLINE_MESSAGE_SENT
- CALLBACK_SENT
- WELCOME_WINDOW_SHOWN
- X_WINDOW_SHOWN
LIVETEX_READY
Событие завершения загрузки виджета на сайте.
Функция будет вызвана сразу после завершения инициализации LiveTex widgets API.
Подписываться на событие onLiveTexReady на странице нужно только один раз. Если на странице будет несколько отслеживаний события onLiveTexReady, то сработает только одно. Если по факту готовности LiveTex необходимо выполнить несколько дейтсвий, то следует все выполнять в одном стэке.
Пример:
<script>
var LiveTex = {
onLiveTexReady: function() {
// код, выполняемый после инициализации LiveTex Widgets API
console.log("Виджет загрузился на сайте!");
}
};
</script>
CALL_ESTABLISHED
Cобытие ответа на звонок
Уведомляет о том, что связь между оператором и посетителем успешно уставлена. Не несет информацию о дальнейшем развитии звонка и о его завершении
Данные
event: 'call-established'
Пример
function onCallEstablished() {
console.log('С клиентом созвонились');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CALL_ESTABLISHED, onCallEstablished);
CALL_STARTED
Cобытие нажатия на кнопку начала звонка
Обычно событие возникает по нажатию кнопки "Да, позвоните мне" в окне X-Widget или по нажатию на X-кнопку
Данные
event: 'call-started'
Пример
function onCallStarted() {
console.log('Клиент хочет, чтоб ему позвонили');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CALL_STARTED, onCallStarted);
CONVERSATION_STARTED
Событие начала обращения
Срабатывает при начале чата, отправке Формы обратной связи или Заказе звонка
Данные
event: 'conversation-started'
Пример
function onConversationStarted(event){
var data = event['data']; var source = event['data']['source'] || {};
var sourceType = source['type'];
if (sourceType === LiveTex.SourceType.VISITOR) {
alert('Обращение началось с сообщения посетителя');
} else if (sourceType === LiveTex.SourceType.EMPLOYEE) {
alert('Обращение началось с приглашения оператора');
} else if (sourceType === LiveTex.SourceType.SYSTEM) {
alert('Обращение началось с вовлечения');
} else if (sourceType === LiveTex.SourceType.API) {
alert('Обращение началось после вызова метода API'); }
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CONVERSATION_STARTED, onConversationStarted);
CONVERSATION_CLOSED
Событие закрытия обращения оператором
Данные
event: 'conversation-closed'
Пример
function onConversationClosed(event) {
var data = event['data'];
alert('Обращение ' + data.conversation_id + ' закрыто');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CONVERSATION_CLOSED, onConversationClosed);
EMPLOYEE_MESSAGE_SENT
Событие отсылки сообщения посетителю оператором.
Данные
event: 'employee-message-sent'
Параметр | Тип | Описание |
message_id | string | идентификатор сообщения |
sender_id | string | идентификатор отправителя |
text | string | текст сообщения |
Пример
function onEmployeeMessageSent(event) {
alert('Оператор прислал сообщение "' + event['data']['text'] + '".');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.EMPLOYEE_MESSAGE_SENT, onEmployeeMessageSent);
INVITATION_WINDOW_CLOSE
Уведомляет о том, что посетитель закрыл окно вовлечения (посетитель нажал кнопку закрытия)
Данные
event: 'invitation-window-close'
Пример
function onInvitationClose(event) {
console.log("Приглашение было отклонено");
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.INVITATION_WINDOW_CLOSE, onInvitationClose);
INVITATION_WINDOW_SHOWN
Описание
Уведомляет о показе окна вовлечения на сайте
Данные
event: 'invitation-window-shown'
Параметр | Тип | Описание |
message | string | сообщение вовлечения |
employee | !LiveTex.Employee | оператор назначенный в вовлечении |
Пример
function onInvitationWindowShown(event) {
var message = event['data']['message'] || '';
var employee = event['data']['employee'];
console.log(employee['name'] + ' отправил приглашение: ' + message);
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.INVITATION_WINDOW_SHOWN, onInvitationWindowShown);
OFFLINE_MESSAGE_SENT
Событие отсылки сообщения посетителем через форму обратной связи
Данные
event: 'offline-message-sent'
Параметр | Тип | Описание |
message_id | string | идентификатор сообщения |
sender_id | string | идентификатор отправителя |
text | string | текст сообщения |
Пример
function onOfflineMessageSent(event) {
alert('Оператор отправил офлайн сообщение "' + event['data']['text'] + '".');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.OFFLINE_MESSAGE_SENT, onOfflineMessageSent);
CALLBACK_SENT
Событие отсылки сообщения посетителем через callback-форму
Данные
event: 'callback-sent'
message_id | string | идентификатор сообщения |
sender_id | string | идентификатор отправителя |
text | string | текст сообщения |
Пример
function onCallbackSent(event) {
alert('Оператор отправил заявку "' + event['data']['text'] + '".');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CALLBACK_SENT, onCallbackSent);
WELCOME_WINDOW_SHOWN
Событие открытия welcome-window
Уведомляет о показе окна приветствия на сайте
Данные
event: 'welcome-window-shown'
Пример
function onWelсomeWindowShown() {
console.log('Окно приветствия показано');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.WELCOME_WINDOW_SHOWN, onWelсomeWindowShown);
X_WINDOW_SHOWN
Событие открытия окна X
Уведомляет о показе окна X-Widget на сайте
Данные
event: 'x-window-shown'
Пример
function onXWindowShown() {
console.log('X-Widget показано');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.X_WINDOW_SHOWN, onXWindowShown);
Методы
- reinit
- addEventListener
- removeEventListener
- getDepartments
- getEmployees
- hideLabel
- showLabel
- hideActiveWindow
- showActiveWindow
- hideInvitationWindow
- showInvitationWindow
- initiateCall
- isDepartmentAvailable
- isDepartmentOnline
- isInvitationShown
- showWelcomeWindow
- setConversationAttributes
- setVisitorAttributes
- setWelcomeDepartments
- showCallRequestDepartments
- showOfflineDepartments
- showOfflineWindow
- showConversationWindow
- showXWindow
reinit
Описание
Полностью реинициализирует сессию посетителя. Сбрасывает состояние в виджете.
ВНИМАНИЕ! Вызов этого метода при активном чате приведет к его немедленному закрытию. Вернуться к истории переписки посетитель уже не сможет.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function() | Функция обратного вызова | Обязательный |
cancel | !function() | Обработчик ошибки | Обязательный |
Пример
function onSuccess() {
console.log('LiveTex is reinitialized');
}
function onFail() {
console.log('LiveTex is not reinitialized');
}
LiveTex.reinit(onSuccess, onFail);
addEventListener
Описание
Регистрирует функцию-обработчик указанного события.
Возвращает дескриптор, который можно использовать для удаления обработчика в методе LiveTex.removeEventListener()
Возможна регистрация нескольких обработчиков на одно событие путем повторного вызова этого метода
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
eventType | string | Тип события | Обязательный |
handler | !function({event: string, data: !Object}) | Обработчик события | Обязательный |
Пример
function onConversationStarted(data) {
alert('Общение началось');
}
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CONVERSATION_STARTED, onConversationStarted);
removeEventListener
Удаляет обработчик события, установленный с помощью метода LiveTex.addEventListener().
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
eventType | string | Тип события | Обязательный |
descriptor | string | Дескриптор события | Обязательный |
Пример
function onConversationStarted(data) {
alert('Общение началось');
}
// Регистрация обработчика
var descriptor = LiveTex.addEventListener(
LiveTex.Event.CONVERSATION_STARTED, onConversationStarted);
// Удаление обработчика
LiveTex.removeEventListener(
LiveTex.Event.CONVERSATION_STARTED, descriptor);
getDepartments
Запрашивает список отделов, настроенных на точку контакта.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function(!Array.< {id: string, name: string} >) | Обработчик, который вызывается при успешном выполнении операции, принимает массив объектов с данными отделов | Обязательный |
Пример
LiveTex.getDepartments(function(data) {
for(var i=0; i < data.length; i++) {
alert('Название отдела: ' + data[i].name);
}
});
getEmployees
Возвращает список операторов. Может возвращать список, отфильтрованный по определенным критериям
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function(!Array.<!LiveTex.Employee>) | Обработчик, который вызывается при успешном выполнении операции | Обязательный |
cancel | !function(string) | Обработчик ошибки | Обязательный |
opt_filter | !LiveTex.EmployeeFilter= | Критерии фильтрации | Опциональный |
Пример
// выбрать всех онлайн операторов
LiveTex.getEmployees(
function(employeeList) { console.log(employeeList) },
console.warn.bind(console),
{ status: [LiveTex.EmployeeStatus.ONLINE, LiveTex.EmployeeStatus.BUSY] }
);
// выбрать всех доступных операторов в отделе
LiveTex.getEmployees(
function(employeeList) { console.log(employeeList) },
console.warn.bind(console),
{ is_available: true, departmentId: '16429' }
);
hideLabel
Скрывает ярлык чата.
Метод не имеет параметров и не возвращает значения.
Пример
LiveTex.hideLabel();
showLabel
Отображает ярлык чата.
Метод не имеет параметров и не возвращает значения.
Пример
LiveTex.showLabel();
hideActiveWindow
Скрывает открытое на текущий момент окно
(диалоговое окно, offline окно, окно приветствия, форма жалобы, форма заказа звонка)
Пример
LiveTex.hideActiveWindow();
showActiveWindow
Открывает активное на текущий момент окно из ярлыка
(диалоговое окно, offline окно, окно приветствия, форма жалобы, форма заказа звонка)
Пример
LiveTex.showActiveWindow();
hideInvitationWindow
Закрывает окно вовлечения.
Метод не имеет параметров и не возвращает значения.
Пример
LiveTex.hideInvitationWindow();
showInvitationWindow
Отображает окно вовлечения. Можно указать определённого оператора или отдел. При указании '*' вместо departmentId или employeeId выберется любой оператор/группа. Если в момент вызова метода на сайте нет доступного оператора, будет вызван обработчик ошибки.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function(?LiveTex.Employee) | Обработчик успешного результата. Принимает объект назначенного оператора. | Обязательный |
cancel | !function(string) | Обработчик ошибки | Обязательный |
employeeId | string | Оператор | Обязательный |
departmentId | string | Отдел | Обязательный |
message | string | Сообщение обращения | Обязательный |
Пример
LiveTex.showInvitationWindow(
function(employee) { console.log('Окно вовлечения открыто') },
function(error) { console.error(error); },
'*', '*',
'Нужна помощь?'
);
initiateCall
Инициализация звонка x-widget
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function() | Обработчик, который вызывается при успешном выполнении операции | Обязательный |
cancel | !function(string) | Обработчик ошибки | Обязательный |
phone | string | Телефон для звонка | Обязательный |
employeeId | string | Идентификатор оператора. Для выбора любого передать '*', нескольких операторов через запятую. | Обязательный |
departmentId | string | Идентификатор отдела. Для выбора любого передать '*' | Обязательный |
При указании отдела, значение параметра employeeId будет проигнорировано
Пример
// Инициируем звонок на номер '+7(912)1234567'
LiveTex.initiateCall(
function() { console.log('Звоним...'); },
function(error) { console.log('Ошибка ' + error); },
'+7(912)1234567',
'*',
'*'
);
// Звонок определённым операторам
LiveTex.initiateCall(
function() { console.log('Звоним...'); },
function(error) { console.log('Ошибка ' + error); },
'+7(912)1234567',
'21571,21572',
'*'
);
// Звонок определённому отделу
LiveTex.initiateCall(
function() { console.log('Звоним...'); },
function(error) { console.log('Ошибка ' + error); },
'+7(912)1234567',
'*',
'16500'
);
isDepartmentAvailable
Возвращает флаг доступности отдела.
Если в отделе нет операторов онлайн или все операторы имеют очередь обращений, достигшую установленного лимита, метод вернёт false.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
deptId | string | Идентификатор отдела. | Обязательный |
complete | !function(boolean) | Обработчик, который получает доступность операторов в отделе | Обязательный |
Пример
LiveTex.isDepartmentAvailable('123123', function(isAvailable) {
if (isAvailable) {
alert('Операторы отдела 123123 доступны для нового обращения');
}
});
isDepartmentOnline
Возвращает статус отдела. Если в отделе хотя бы один оператор online - вернёт true
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
deptId | string | Идентификатор отдела. | Обязательный |
complete | !function(boolean) | Обработчик, который получает статус отдела | Опциональный |
Пример
LiveTex.isDepartmentOnline('123123', function(isOnline) {
if (isOnline) {
alert('В данный момент в отделе есть online-операторы');
}
});
isInvitationShown
Проверяет состояние окна вовлечения отображено/скрыто
Возвращает true, если окно вовлечение отображено, false - если окно вовлечения скрыто
Пример
var isShown = LiveTex.isInvitationShown();
showWelcomeWindow
Открывает окно приветствия. Метод не имеет параметров и не возвращает значения.
Пример
LiveTex.showWelcomeWindow();
setConversationAttributes
Устанавливает атрибуты обращению.
Переданные атрибуты будут отображены в Информации по обращению в Приложении оператора и в Истории в Личном кабинете.
Если название установленного пречат поля совпадает с названием видимого посетителю пречат поля, то в Рабочем месте оператора будет отображаться то значение, которое посетитель ввел в соответствующее пречат поле.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
visible | !Object | Видимые для оператора атрибуты | Обязательный |
hidden | !Object | Не видимые для оператора атрибуты | Обязательный |
Пример
LiveTex.setConversationAttributes(
{'VIP клиент': 'Да', 'Артикул товара:': 'QW123456'},
{'client_id': '12345'});
setVisitorAttributes
Устанавливает атрибуты посетителя, заполняет валидные значения в формы.
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function() | Обработчик успешного результата | Обязательный |
cancel | !function(string) | Обработчик ошибки | Обязательный |
attributes | !LiveTex.VisitorAttributes | Атрибуты посетителя | Обязательный |
Пример
LiveTex.setVisitorAttributes(
function() { console.log('атрибуты сохранены'); },
function(error) { console.log('Ошибка: ' + error); },
{
name: { 'name': 'Покупатель', 'is_editable': false },
contacts: [{
'value': 'mail@example.ru',
'type': LiveTex.ContactType.EMAIL
}, {
'value': '+7(912)765-4321',
'type': LiveTex.ContactType.PHONE
}]
}
);
LiveTex.setVisitorAttributes(
function() { console.log('атрибуты сохранены'); },
function(error) { console.log('Ошибка: ' + error); },
{
name: { name: 'Покупатель', is_editable: true },
contacts: []
}
);
setWelcomeDepartments
Устанавливает набор отделов, которые будут показаны посетителю в выпадающем списке окна приветствия.
В выпадающем окне будут отображены только те отделы, в которых есть доступные операторы. Если среди установленных отделов нет отделов с доступными операторами, то, при открытии окна посетителем, будет отображена оффлайн форма
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
deptIds | !Array.< string > | Идентификаторы отделов | Обязательный |
complete | !function() | Обработчик | Обязательный |
Пример
LiveTex.setWelcomeDepartments(['123', '124'], function() {
alert('Группа назначена');
});
showCallRequestDepartments
Отображает селектор групп в форме заказа звонка
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
opt_groups | Array.<{id: string, name: string}> | группы | Опциональный |
Пример
// позволяет выбрать группу в форме заказа звонка
LiveTex.showCallRequestDepartments();
// предустанавливает группу в форме заказа звонка
LiveTex.showCallRequestDepartments([{ "id": "16429", "name": "Отдел продаж"}]);
// позволяет выбрать группу из предустановленных
LiveTex.showCallRequestDepartments([
{ "id": "16429", "name": "Отдел продаж"},
{ "id": "16430", "name": "Тех поддержка"}
]);
showOfflineDepartments
Отображает селектор групп в офлайн форме
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
opt_groups | Array.<{id: string, name: string}>= | группы | Опциональный |
Пример
// позволяет выбрать группу при отправке оффлайн формы
LiveTex.showOfflineDepartments();
// предустанавливает группу при отправке оффлайн формы
LiveTex.showOfflineDepartments([{ "id": "16429", "name": "Отдел продаж"}]);
// позволяет выбрать группу из предустановленных
LiveTex.showOfflineDepartments([
{ "id": "16429", "name": "Отдел продаж"},
{ "id": "16430", "name": "Тех поддержка"}
]);
showOfflineWindow
Открывает форму обратной связи.
Пример
LiveTex.showOfflineWindow();
showConversationWindow
Открывает диалоговое окно обращения.
При вызове метода можно рекомендовать определённого оператора или отдел. При указании '*' вместо departmentId или employeeId выберется любой оператор/группа. Если в момент вызова метода на сайте нет ни одного доступного оператора, откроется форма обратной связи. При этом в complete вернётся null.
Обратите внимание: при подключенном Боте, метод выполняться не будет. Для открытия окна с Ботом воспользуйтесь методом showActiveWindow
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function(?LiveTex.Employee) | Обработчик успешного результата. Принимает объект назначенного оператора. | |
cancel | !function(string) | Обработчик ошибки | |
employeeId | string | Рекомендуемый оператор. | Обязательный |
departmentId | string | Рекомендуемый отдел. | Обязательный |
message | string | Первое сообщение обращения | Обязательный |
Пример
LiveTex.showConversationWindow(
function(employee) {
console.log(employee ?
'Открыт диалог с оператором ' + employee.name :
'Открыто оффлайн окно');
},
function(error) { console.error(error); },
'*', '16429',
'Первое сообщение'
);
showXWindow
Открывает модальное окно X-Window
Параметры
Имя | Тип | Описание | Обязательность |
---|---|---|---|
complete | !function() |
Обработчик успешного результата | Обязательный |
cancel | !function(string) |
Обработчик ошибки | Обязательный |
schedule | !LiveTex.Schedule |
Часы работы, когда можно звонить | Обязательный |
opt_employeeIds | ?Array.<number> |
Идентификаторы операторов, которые получат звонок | Опциональный |
opt_message | ?string |
Сообщение в модальном окне | Опциональный |
opt_phone | ?string |
Введённый номер телефона | Опциональный |
Пример
// открывает X-Window, звонит только с пн-пт с 9 до 18 часов
LiveTex.showXWindow(
function(){console.log('X-Window открыто')},
function(error){console.error(error)},
{ days: [0,1,2,3,4], from: 9*3600, to: 18*3600}
);
// открывает X-Window с назначением на определённого оператора
// с указанным сообщением
LiveTex.showXWindow(
function(){console.log('X-Window открыто')},
function(error){console.error(error)},
{ days: [0,1,2,3,4], from: 9*3600, to: 18*3600},
[21572],
'Оставьте свой номер телефона и мы перезвоним Вам'
);
// открывает X-Window с предустановленным телефоном
LiveTex.showXWindow(
function(){console.log('X-Window открыто')},
function(error){console.error(error)},
{ days: [0,1,2,3,4], from: 9*3600, to: 18*3600},
null, null,
'+7(912)654-54-54'
);
Комментарии