Виджет чата для сайта

Виджет выполнен в виде JavaScript файла, который подключается на ваш сайт. Виджет самостоятельно подключается к серверу Chatix и устанавливает связь между посетителем и консультантом. Опции управления виджетом доступны администраторам в панели управления чатом.
Установка виджета
Каждый виджет подключается своим уникальным кодом. Код установки виджета находится в поле «Код для вставки на сайт» в разделе «Настройки» панели управления. Код ниже — пример, не вставляйте его на свой сайт, ваш код для вставки находится в разделе «Настройки».
<script 
  id="chatix_init" 
  src="https://chatix.io/widget/chatix_widget_main.js" 
  data-websiteid="d4913f83-e3a8-484d-be1b-c64ffe248500">
</script>
Помимо атрибута data-websiteid, скрипт установки виджета поддерживает атрибут data-visitorid, в котором можно передать идентификатор посетителя.
Используя API виджета, Вы можете получить идентификатор посетителя и сохранить его в своей базе данных. При авторизации пользователя с нового устройства Ваш сайт может устанавливать идентификатор посетителя, в результате чего посетителю будет загружена его история переписки.
Объект виджета
Скрипт виджета создает глобальный объект chatixWidget, который используется для управления. Используя этот объект, его свойства, методы и callback'и, Вы можете значительно расширить функционал работы чата, реализовать особую логику, передать консультанту информацию о пользователе, содержимом его корзины и многое другое.
Callback подключения виджета
Данный callback вызывается после успешного подключения чата к серверу и установки соединения.
chatixWidget.onConnect = function() {
  console.log('Chatix connected successfully');
}
Установка параметров посетителя
Зачастую Ваш сайт знает о посетителе дополнительную информацию, такую как имя, email, идентификатор корзины, статус заказа и прочее. Для установки параметров используется метод chatixWidget.setVisitor, который принимает объект посетителя. Этот объект может иметь 3 поля: name, email, fields. name - имя клиента, email - адрес эл.почты, fields - массив особых характеристик посетителя (идентификатор корзины, статус в CRM и тп.). Каждый объект в fields должен иметь текстовые поля name и value, в которых будет записано название характеристики и ее значение.
chatixWidget.setVisitor({
  "name": "Джон Сноу",
  "email": "jonsnow@stark.house",
  "fields": [{
      "name": "Дом",
      "value": "Старков"
    }, {
      "name": "Статус",
      "value": "Постоянный клиент"
  }]
});
Обратите внимание, что объект виджета (chatixWidget) будет заполнен только после установки соединения. До этого обращение к свойствам и вызов методов вроде chatixWidget.setVisitor(visitor) может вызвать ошибку. Используйте callback chatixWidget.onConnect(), чтобы быть уверенными, что Ваш код выполняется после подключения.
Callback получения сообщения
Для реагирования на получение сообщения от любого консультанта Вы можете зарегистрировать обработчик для соответствующего callback'а
chatixWidget.onNewMessageReceived = function(message) {
  console.log("message received!", message);
};
Callback отправки сообщения
Для реагирования на отправку сообщения посетителем Вы можете зарегистрировать обработчик для соответствующего callback'а
chatixWidget.onNewMessageSent = function(message) {
  console.log("message sent!", message);
};
Callback подключения консультанта
Для реагирования на подключение консультанта Вы можете зарегистрировать обработчик для соответствующего callback'а
chatixWidget.onManagerConnected = function(manager) {
  console.log("manager connected!", manager);
};
Callback отключения консультанта
Для реагирования на отключение консультанта от диалога Вы можете зарегистрировать обработчик для соответствующего callback'а
chatixWidget.onManagerDisconnected = function(manager) {
  console.log("manager disconnected!", manager);
};
Обратите внимание на то, что к одному диалогу одновременно может быть подключено несколько консультантов.
Нужно что-то большее
Виджет предназначен для быстрого решения простой задачи. В случае, если Вам необходим особый контроль над виджетом или нативная интеграция в интерфейс Вашего web-приложения, то Вам стоит обратить внимание на наш SDK.

© All Right Reserved. Sovinfsystemi LLC.
hello@chatix.io