Публичная часть

Частью модуля "Чат" является публичный компонент, позволяющий интегрировать данный модуль с любым веб-сайтом. После установки публичного компонента, посетители сайта смогут общаться с пользователями системы TeamWox через чат. Все разговоры хранятся внутри системы. Диалоги, привязанные к клиентам, удобно отображаются на отдельной вкладке при их просмотре в модуле "Организации".

Система TeamWox защищена от спам-атак через публичную часть модуля "Чат". В случае большого количества запросов с одного IP-адреса выставляется запрет на время от 2 минут до нескольких часов в зависимости от частоты создания запросов.

Для того чтобы инициализировать публичный компонент модуля "Чат", необходимо поместить на сайте файл "support.html" следующего содержания:

<html style="height:100%;">
<head>
 <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
 <body style="margin:0px;">
   <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
 width="100%" height="100%" id="main" align="middle">
     <param name="allowScriptAccess" value="sameDomain" />
     <param name="allowFullScreen" value="false" />
     <param name="movie" value="support.swf" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#FFFFFF" />
     <param name="flashvars" value="url=https://team.yourdomain.com" />
     <embed src="support.swf" flashvars="url=https://team.yourdomain.com" width="100%"
 height="100%" quality="high" bgcolor="#FFFFFF" name="main" align="middle"
 allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash"
 pluginspage="http://www.macromedia.com/go/getflashplayer" />
   </object>
 </body>
</html>

Также в той же директории должен лежать файл "support.swf". Скачать файлы support.swf и support.html

  • Для настройки соединения в параметрах тэгов <param> и <embed> необходимо изменить адрес в параметре "url" на адрес Вашего сервера TeamWox.
  • Настоятельно рекомендуется работать с чатом по защищенному протоколу "https" для безопасной передачи данных между сайтом и системой TeamWox. Однако для работы через данный протокол необходим подписанный одной из доверенных сертификационных компаний сертификат SSL, установка которого осуществляется через модуль "Управление" либо при инсталляции системы TeamWox. При использовании самоподписанного сертификата, поставляемого вместе с системой TeamWox, соединение может быть установлено только по протоколу http, в таком случае перед адресом домена в HTML-файле следует писать "http", а не "https".

Также внутри атрибутов "Value" у тэга <param> и атрибута "Flashvars" у тэга <embed> можно указать различные параметры окна чата:

В подразделах данной главы вы можете найти подробные примеры реализации публичной части модуля "Чат" на языках PHP и .NET.

Общие настройки

Информация о клиенте

Для получения информации о клиенте предусмотрены следующие параметры:

  • name=[ИМЯ КЛИЕНТА]
  • email=[EMAIL КЛИЕНТА]
  • phone=[ТЕЛЕФОН КЛИЕНТА]
  • company=[КОМПАНИЯ КЛИЕНТА]
  • account=[НОМЕР АККАУНТА КЛИЕНТА]

Эта группа параметров задает предопределенные значения полей для клиентов. Имена, адреса электронной почты, телефоны и названия компаний могут быть автоматически подставлены из информации о пользователях, зарегистрированных на Вашем сайте. При этом данные поля будут недоступны для редактирования клиентам.

В системе TeamWox работает автоматическая привязка диалогов к организациям по адресу электронной почты.

digital_signature=[MD5 конкатенации отображаемых полей и ключевого слова]

Для того чтобы стало возможным подставление значений данных пользователей (имя, телефон, название компании и т.д.) из информации хранящейся на Вашем сайте, необходимо в файл "support.html" добавить параметр цифровой подписи (digital_signature). В значении параметра "digital_signature" необходимо указать хеш MD5 от конкатенации значений используемых полей (name, company, phone и т.д.) и ключевого слова. Данное ключевое слово также будет указываться в настройках модуля "Чат". В дальнейшем будет происходить проверка цифровой подписи системой TeamWox и, в случае успеха, поля для пользователей будут автоматически заполнены и закрыты для редактирования.

На данный момент эта технология находится в разработке. Для включения подстановки данных достаточно присвоить параметру "digital_signature" любое значение.

group=[ИМЯ ГРУППЫ ОНЛАЙН КОНСУЛЬТАЦИИ]

Данные параметр предназначен для выбора группы обслуживания, которая будет выбрана по умолчанию в окне входа в чат. Если название группы обслуживания состоит из двух слов, то вместо пробела между словами необходимо указать "%20", например: "technical%20support".

topic=[ПОЛНОЕ ИЛИ ЧАСТИЧНОЕ НАЗВАНИЕ ТЕМЫ]

В каждой группе могут быть созданы предопределенные темы для обсуждения. Данный параметр предназначен для выбора темы по умолчанию в окне входа в чат. В качестве значения данного поля может быть указана лишь часть названия темы. Система автоматически осуществит поиск указанного слова или фразы среди созданных тем и подставит подходящую.

cache=[РАЗРЕШЕНИЕ КЭШИРОВАНИЯ ДАННЫХ]

По умолчанию, данные, введенные пользователем при входе в "Чат", кэшируются. Для того чтобы отключить кэширования, необходимо указать "cache" со значением "false".

language=[ЯЗЫК]

По умолчанию выбирается язык, указанный в системе. Для принудительной смены языка в данном параметре необходимо указать одно из следующих значений:

  • ru — для русского языка;
  • en — для английского языка;
  • cn — для китайского языка;
  • tr — для турецкого языка;
  • ar — для арабского языка;
  • es — для испанского языка;
  • it — для итальянского языка;
  • fr — для французского языка;
  • de — для немецкого языка;
  • tat — для татарского языка;
  • az — для азербайджанского языка.

close=[НАЗВАНИЕ ФУНКЦИИ JAVASCRIPT, ЗАКРЫВАЮЩЕЙ ОКНО]

Данный параметр автоматически закрывает окно чата при нажатии кнопки "Завершить".

filter=[КЛЮЧЕВОЕ СЛОВО]

Данный параметр позволяет отфильтровывать только необходимые группы обслуживания по ключевым словам, указанным в них. Таким образом, вызывая окно чата с различных сайтов, можно сделать доступными только определенные группы обслуживания. В качестве примера можно рассмотреть страницу англоязычного сайта, на которой нет необходимости в русскоязычной группе. При указании "english" в данном параметре и в настройках группы обслуживания, клиентам будет доступна только она. В параметре "filter" HTML-файла, используемого на сайте, можно указать только одно значение, в то время как в настройках группы могут быть указаны сразу несколько. Таким образом, в одной группе можно получать сообщения с различных сайтов.

Рассмотрим пример, когда есть два сайта, посвященные различным продуктам, но группа, занимающаяся их поддержкой, - одна. В данном случае в HTML-файле первого сайта укажем ключевое слово "product1":

<param name="flashvars" value="filter=product1&url=https://team.yourdomain.com" />

Такие же параметры указываются и для тега "embed". В HTML-файле второго сайта указываем ключевое слово "product2":

<param name="flashvars" value="filter=product2&url=https://team.yourdomain.com" />

То же значение указывается в теге "embed". В настройках группы обслуживания в поле "Ключевые слова" указываем оба параметра через запятую: product1, product2:

Общая группа

Теперь запросы с обоих сайтов будут поступать в одну группу обслуживания.

Теперь рассмотрим другой пример, когда необходимо ограничить доступность различных групп обслуживания для различных сайтов. Есть три версии сайта на различных языках: английском, русском и китайском. Для англоязычной и русскоязычной версии существует отдельная группа "Support (en/ru)", а для китайской версии - "Support (cn)". На английской версии в HTML-файле указываем ключевое слово "en":

<param name="flashvars" value="filter=en&url=https://team.yourdomain.com" />

Для китайской и русской версий соответственно указываем "cn" и "ru":

<param name="flashvars" value="filter=cn&url=https://team.yourdomain.com" />
<param name="flashvars" value="filter=ru&url=https://team.yourdomain.com" />

После этого в настройках группы "Support (en/ru)" указываем ключевые слова "en" и "ru" через запятую, а для группы "Support (cn)" - только "cn".

Группа для англо- и русскоязычного сайта

Группа для китайского сайта

В данном случае на сайтах клиентам будут доступны только соответствующие группы обслуживания.

Каждый из параметров должен быть разделен знаком &.

Ниже приведен пример правильного указания параметров:

<param name="flashvars" value="name=Name&style_head=chatlogo.gif&url=https://team.yourdomain.com" />

Естественно, в параметрах необходимо указывать те значения, сбор которых предусмотрен на Вашем сайте (данные, заполняемые Вашими клиентами при регистрации на сайте).

Автоматический вход в чат

Возможно ситуации, когда требуется авторизовать пользователя в чате (осуществить его вход) без показа окна входа для указания информации о себе. Например, если пользователь обращается в чат из личного кабинета на сайте (будучи авторизованным пользователем), и при этом вся необходимая информация о нем (имя, электронная почта, телефон и т.д.) известна.

Основным техническим отличием такого входа в чат является отсутствие запроса настроек с сервера TeamWox: не запрашиваются группы обслуживания, темы в них, а также настройки модуля (поля, отображаемые в окне входа).

Для автовхода в чат необходимо, чтобы все данные о пользователе были заполнены (имя, телефон, электронная почта и т.д.). Также необходимым условием является наличие параметра group_id, описанного ниже.

Для осуществления автоматического входа в чат предусмотрены следующие специальные параметры:

group_id=[ИДЕНТИФИКАТОР ГРУППЫ ОБСЛУЖИВАНИЯ]

Значением данного параметра необходимо указать идентификатор группы обслуживания. Он отображается в заголовке окна редактирования настроек группы (указывается в скобках после символа #). Можно указать только один идентификатор.

topic=[ПОЛНОЕ НАЗВАНИЕ ТЕМЫ]

При автоматической авторизации поведение данного параметра отличается от авторизации через окно входа. В данном случае само значение параметра будет присвоено теме диалога чата. Например, в случае вызова чата из личного кабинета пользователя, вы можете указать topic=Вопрос%20из%20профиля%20пользователя.

config=[БИТОВАЯ МАСКА В ВИДЕ ЦЕЛОГО ЧИСЛА]

Данный параметр необходим для включения/выключения дополнительных полей формы входа:

  • E-mail — 8
  • Счет — 4
  • Компания — 2
  • Телефон — 1

По умолчанию, данные поля отключены и их заполненность не будет проверяться при выполнении входа в чат. Для того чтобы добавить данные поля, в значении параметра "config" необходимо указать сумму их значений. Например, для отображения полей "Компания" и "Счет", в значении параметра нужно указать 6 (4 + 2).

autologin=[РАЗРЕШЕНИЕ АВТОМАТИЧЕСКОЙ АВТОРИЗАЦИИ]

Для включения возможности автоматической авторизации, необходимо указать параметр "autologin" со значением "true". Если данный параметр не указан или его значение равно "false", автоматическая авторизация невозможна.

Настройки внешнего вида

Параметры полей ввода:

  • style_input_out_border_color=[ЦВЕТ ГРАНИЦ ПОЛЕЙ В ОБЫЧНОМ СОСТОЯНИИ]
  • style_input_over_border_color=[ЦВЕТ ГРАНИЦ ПОЛЕЙ ПРИ НАВЕДЕНИИ МЫШИ]
  • style_input_press_border_color=[ЦВЕТ ГРАНИЦ ПОЛЕЙ ПРИ НАЖАТИИ МЫШЬЮ]
  • style_input_error_background_color=[ЦВЕТ ФОНА ПОЛЕЙ ПРИ ВВОДЕ НЕКОРРЕКТНОГО ЗНАЧЕНИЯ]

Параметры кнопок:

  • style_button_out_first_color=[ЦВЕТ ВЕРХНЕЙ ЧАСТИ КНОПКИ В ОБЫЧНОМ СОСТОЯНИИ]
  • style_button_out_second_color=[ЦВЕТ НИЖНЕЙ ЧАСТИ КНОПКИ В ОБЫЧНОМ СОСТОЯНИИ]
  • style_button_out_border_color=[ЦВЕТ ГРАНИЦЫ КНОПКИ В ОБЫЧНОМ СОСТОЯНИИ]
  • style_button_over_first_color=[ЦВЕТ ВЕРХНЕЙ ЧАСТИ КНОПКИ ПРИ НАВЕДЕНИИ МЫШИ]
  • style_button_over_second_color=[ЦВЕТ НИЖНЕЙ ЧАСТИ КНОПКИ ПРИ НАВЕДЕНИИ МЫШИ]
  • style_button_over_border_color=[ЦВЕТ ГРАНИЦЫ КНОПКИ ПРИ НАВЕДЕНИИ МЫШИ]
  • style_button_press_first_color=[ЦВЕТ ВЕРХНЕЙ ЧАСТИ КНОПКИ ПРИ НАЖАТИИ]
  • style_button_press_second_color=[ЦВЕТ НИЖНЕЙ ЧАСТИ КНОПКИ ПРИ НАЖАТИИ]
  • style_button_press_border_color=[ЦВЕТ ГРАНИЦЫ КНОПКИ ПРИ НАЖАТИИ]

Параметры логотипа на странице входа:

  • style_head=[ПУТЬ К ФАЙЛУ ИЗОБРАЖЕНИЯ ЛОГОТИПА]
  • style_head_x=[ОТСТУП ЛОГОТИПА ОТ ЛЕВОЙ ГРАНИЦЫ ОКНА В ПИКСЕЛЯХ]
  • style_head_y=[ОТСТУП ЛОГОТИПА ОТ ВЕРХНЕЙ ГРАНИЦЫ ОКНА В ПИКСЕЛЯХ]

Допускаются следующие форматы файлов логотипов: *.jpg, *.gif, *.png, *.swf. Если данные требования не будут соблюдены, будет отображаться стандартный логотип TeamWox.

Параметры логотипа на странице диалога:

  • style_logo=[ПУТЬ К ФАЙЛУ ИЗОБРАЖЕНИЯ ЛОГОТИПА]
  • style_logo_x=[ОТСТУП ЛОГОТИПА ОТ ЛЕВОЙ ГРАНИЦЫ ОКНА В ПИКСЕЛЯХ]
  • style_logo_y=[ОТСТУП ЛОГОТИПА ОТ ВЕРХНЕЙ ГРАНИЦЫ ОКНА В ПИКСЕЛЯХ]

Допускаются следующие форматы файлов логотипов: *.jpg, *.gif, *.png, *.swf. Если данные требования не будут соблюдены, будет отображаться стандартный логотип TeamWox.

Параметры окна оценки и выхода

  • style_form_background_color=[ФОНОВЫЙ ЦВЕТ ОКНА]
  • style_form_head_color=[ЦВЕТ ШАПКИ ОКНА]
  • style_form_head_text_color=[ЦВЕТ ЗАГОЛОВКА ОКНА]
  • style_form_title=[ТЕКСТ ЗАГОЛОВКА ОКНА]

Другие параметры:

  • style_scroll_icon_color=[ЦВЕТ ТРЕУГОЛЬНИКА НА КНОПКЕ ОТКРЫТИЯ НИСПАДАЮЩЕГО СПИСКА]
  • style_line_select_color=[ЦВЕТ ВЫДЕЛЕННОЙ СТРОКИ В НИСПАДАЮЩЕМ СПИСКЕ]
  • style_frame=[ПОКАЗАТЬ/СКРЫТЬ ВНУТРЕННЮЮ РАМКУ ОКНА]
    Возможны значения "true" или "false" для показа или скрытия рамки соответственно.

Все цвета должны быть указаны в шестнадцатиричном формате, например "#000000".

Вызов окна чата

Для начала работы необходимо вызвать данную HTML-страницу в отдельном окне, используя следующую конструкцию:

<a href="javascript:void(0)" onclick="window.open('support.html','support','toolbar=no,resizable=yes,
status=no,menubar=no,location=no,width=600,height=500');">Online Assistance</a>

Окно входа

Перед началом диалога клиент должен заполнить следующую форму:

Форма

  • Имя — имя клиента.
  • Электронная почта — адрес электронной почты клиента.
  • Телефон — номер телефона клиента.
  • Компания — название компании клиента.
  • Счет — номер счета клиента.
  • Группа — выбор названия группы обслуживания, предварительно созданной в модуле "Чат". Для выбора группы необходимо нажать левой кнопкой мыши на данном поле и в появившемся списке указать нужную.
  • Тема — выбор темы диалога из списка, открывающегося по нажатии левой кнопкой мыши на данном поле. Темы диалогов также должны быть заранее созданы в группе.

Для начала диалога необходимо нажать кнопку "Начать", расположенную под формой.

Окно диалога

Клиентское окно диалога выглядит следующим образом:

Окно диалога

В верхней части окна отображаются сам диалог, а нижняя часть предназначена для написания сообщений. Для отправки сообщения необходимо нажать кнопку "Отправить" или сочетание клавиш "Ctrl+Enter".

В данном окне также присутствуют следующие элементы управления:

  • С помощью кнопки "Завершить" можно закончить диалог, при этом окно диалога будет закрыто. Также при нажатии данной кнопки клиентом в окне диалога сотрудника появится запись о том, что клиент закрыл диалог.
  • С помощью кнопки Звук можно включить/отключить звук оповещения о приходе новых сообщений.
  • Кнопка "Копировать в буфер обмена" предназначена для копирования текста диалога в буфер обмена для последующего использования.

Оценка диалога

В верхней части диалога клиент может выставить оценку помощи, оказанной сотрудниками компании через чат. При нажатии на звездочках открывается следующее окно:

Оцнека диалога

Чтобы оценить диалог, необходимо нажать левой кнопкой мыши на первой звездочке и, не отпуская кнопку, провести курсором мыши до одной из последующих. Оценка выставляется по шкале от 1 до 5, чем больше выбрано звездочек, тем лучше оценен диалог. Оценки отображаются в списке диалогов в отдельной колонке. В модуле также доступны отчеты по оценкам диалогов.