Инструкция по подключению функционала онлайн консультанта на страницу клиента
Подключение функционала онлайн консультанта на страницу.
1. Библиотеки
Необходимо подключить библиотекe WebHelper
Пример:
<script src="//webchat. tekmi. ru/cgp_proxy/webhelper. js" type="text/javascript"></script> |
2. Инициализация.
Для инициализации необходимо вызвать функцию itl_webhelper_init(container, clickedEl, settings, params), где
- container - DOM элемент, в котором будет размещено окно онлайн консультанта,
если null - то окно онлайн консультанта будет добавлено в body документе.
Если для онлайн консультанта используется отдельное popup окно (см. дальше), то параметр не имеет значения. clickedEl - DOM элемент, при клике на который будет открыто окно онлайн консультанта settings - настройки онлайн консультанта (key value массив). На данный момент есть следующие настройки:
- centrename - email, полное имя колцентра, выдается каждому клиенту. lang - язык интерфейса ("ru" или "en") popup - если параметр равен true, то онлайн консультант будет открыт в отдельном popup окне autostart - если параметр равен true, то окно онлайн консультанта появится автоматически
(через n секунд, если указан параметр delay, см. ниже) delay - задержка в секундах, через какой промежуток времени необходимо запустить онлайн консультант автоматически
(только если указан параметр autostart, см. выше) feedback - если параметр равен true, то в интерфейсе присутствует кнопка "Оставить отзыв",
которая дает возможность посетителям оставить отзыв (отправляется на специальный email адрес) request - если параметр равен true, то в интерфейсе присутствует кнопка "Оставить заявку",
которая дает возможность посетителям оставить заявку(отправляется на специальный email адрес) passive - если параметр равен true, то интерфейс будет запущен в пассивном (ночном) режиме. hello - строка приветствия, которое будет показано на основном экране онлайн консультанта geoData - данный GEO IP, если они присутствуют, то система попытается выбрать группу консультантов,
в которую необходимо перенаправлять запросы посетителей (см. раздел 4 Распределение запросов по группам) start - если параметр равен "chat", то окно онлайн консультанта будет открыто сразу в режиме чата,
минуя основной экран
Есть два специальных параметра с именами page и title, которые будут переданы консультанту(ам) в момент, когда
посетитель переходит на другую страницу, с поддержкой онлайн консультанта (в данный момент это работает только в режиме
онлайн консультаций в режиме отдельного popup окна)
Функция itl_webhelper_init возвращает объект, поддерживающий следующие методы:
- setParams - установить параметры онлайн консультанта (параметры будут заменены целиком, старые параметры больше не применяются) updateParams - заменить параметры онлайн консультанта (только те параметры, которые переданы будут заменены или добавлены) setSettings - установить настройки онлайн консультанта (настройки будут заменены целиком, старые настройки больше не применяются). updateSettings - заменить настройки онлайн консультанта (только те настройки, которые переданы будут заменены или добавлены) start - запустить онлайн консультацию (программно открыть окно онлайн консультанта) startChat - запустить онлайн консультант в режиме чата endChat - завершить онлайн консультацию startCall - запустить онлайн консультант в режиме звонка startCallback - запустить онлайн консультант в режиме обратного звонка startRequest - запустить онлайн консультант в режиме запроса startFeedback - запустить онлайн консультант в режиме отзыва getMyElement - возвращает DOM элемент онлайн консультанта
3. JavaScript API
JavaScript пользователя может взаимодействовать с онлайн консультантом посредством предопределенных callback функций и объекта,
который возвратил метод itl_webhelper_init (см. выше)
Вся схема работы онлайн консультанта построена на событиях. Пользователь может получать и реагировать на эти события.
Для этого на странице надо объявить функцию itl_webhelper_listener(type, data), где
- type - тип события data - данные события
На данный момент пользователю доступны следующие события:
- wh_initialized - библиотека онлайн консультанта инициализирована и готова к работе group-selected - выбрана группа консультантов
data. group_id - идентификатор группы
data. real_name - имя группы
data. working_now - true, если сейчас у этой группы рабочее время
data. free_for_call - количество консультантов, доступных для звонка
data. free_for_chat - количество консультантов, доступных для чата
data. work_start - начало рабочего времени группы
data. work_end - окончание рабочего времени группы elclicked - посетитель кликнул на элемент, связанный с онлайн консультантом (второй параметр в itl_webhelper_init, см. выше) resize - изменился размер окна браузера minimize - посетитель кликнул на иконку минимизации окна онлайн консультанта (#itl_minimize_btn) close - посетитель кликнул на иконку закрытия окна онлайн консультанта (#itl_close_btn) bye - запрос завершения сессии release - сессия завершена start-chat - посетитель начал чат сессию cl-message - посетитель отправил сообщение
data. text - текст сообщения op-message - консультант прислал сообщение
data. text - текст сообщения
data. opName - имя оператора infomsg - пришло информационное сообщение
data. text - текст сообщения log - информация о лог-файле чата
data. domain - домен
data. fileName - имя файла operator_join - к чату присоединился консультант
data. name - имя консультанта
data. address - email имя консультанта
data. vcard - VCARD консультанта;
data. domain - домен;
data. callSupported - true, если консультант поддерживает звонки; operator_leave - консультант покинул чат callback-btn-clicked - посетитель кликнул на кнопку заказа обратного звонка (#itl_callback_btn) make-callback - запрос обратного звонка
data. number - номер посетителя report - устанавливается обратный звонок
data. data - текущий статус звонка (ingress-calling - дозвон до номера посетителя, ingress-ringing - телефон посетителя звонит,
egress-calling - дозвон до консультанта(ов), egress-ringing - телефон консультанта(ов) звонит,
connected - звонок установлен, completed - звонок завершен, error - звонок завершен с ошибкой) callback-connected - обратный звонок успешно установлен callback-disconnected - обратный звонок завершен make-call - посетитель звонит консультанту(ам) hangup - посетитель нажал кнопку "Завершить звонок" call-provisioned - звонок устанавливается call-connected - звонок установлен call-disconnected - звонок завершен
data. code - код завершения
data. msg - статус завершения popupopened - popup окно с онлайн консультантом открыто popupclosed - popup окно с онлайн консультантом закрыто
Кроме того, пользователь может определить на странице еще две функции
itl_webhelper_show(d) и itl_webhelper_hide(d)
Функции вызываются, когда онлайн консультант считает необходимым показать или спрятать окно (в случае popup окна эти функции бесполезны).
Параметр d - DOM элемент онлайн консультанта.
Если эти функции не объявлены, то основной скрипт просто включает или выключает отображение элемента.
4. Распределение запросов по группам
Онлайн консультант поддерживает распределение клиентских запросов по группам. Для того, чтобы это заработало надо:
a) передавать в settings, в параметре geoData - некие данные (например данные о местоположении компьютера посетителя)
b) написать на JavaScript резолвер данных в группу. Он представляет собой объект с именем ITooLabs. WebHelper. geoResolver
и с единственной функцией resolveGroup(data). Функция должна вернуть имя группы, в которую необходимо направить запрос
посетителя. Если в группе в данный момент нет свободных консультантов - запрос будет направлен в главную группу консультантов.


