enВойти в Senler

Подключение виджета сайта

Кратко

Путь: пункт «Каналы» в боковом меню -> "Добавить канал" -> Виджет.

Форма создания

  • укажите название виджета;
  • добавьте разрешенные домены сайта через кнопку добавления;
  • при необходимости удалите лишний домен;
  • создайте канал-виджет.
Подключение виджета сайта. Шаг 1: 1. Виджет
1 / 5
1. Виджет

Домены

  • можно указывать домен вида example.com;
  • можно использовать маску вида *.example.com;
  • домен нужен, чтобы ограничить сайты, где разрешена работа виджета;
  • домен добавляется через кнопку "Добавить домен": в открывшемся окне введите домен и нажмите "Добавить";
  • кнопку "Отмена" в окне добавления домена используйте, если передумали добавлять домен;
  • лишний домен можно удалить из списка.

Название, иконка и домены

В настройках канала-виджета можно изменить название канала, иконку виджета и список разрешенных доменов.

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

Разрешенные домены определяют, на каких сайтах может работать код виджета. Если сайт открыт на домене, которого нет в списке, виджет может не запуститься или не принять соединение.

Где это в интерфейсе. Шаг 1: 1. область настроек виджета
1 / 7
1. область настроек виджета

После создания

  • кабинет показывает код виджета;
  • код нужно вставить на сайт перед закрывающим тегом </body>;
  • затем можно открыть настройки виджета и настроить внешний вид.

Настройки виджета

  • название канала;
  • иконка;
  • разрешенные домены;
  • цветовая схема: светлая, темная или авто;
  • язык: русский, английский или авто;
  • режим отображения: всплывающее окно или встроенный виджет;
  • позиция всплывающего окна: сверху слева, сверху справа, снизу слева или снизу справа;
  • ширина окна от 200 до 800;
  • высота окна от 300 до 1000;
  • радиус скругления от 0 до 50;
  • тень;
  • тексты на русском и английском;
  • настройки кнопки;
  • настройки функций чата;
  • код для встраивания.

Окно и оформление

Тема, язык и режим отображения. Шаг 1: 1. режим отображения: всплывающее окно
1 / 4
1. режим отображения: всплывающее окно
Окно и оформление. Шаг 1: 1. ползунок ширины
1 / 3
1. ползунок ширины

Режим отображения определяет, как виджет появляется на сайте:

  • "Всплывающее окно" - виджет открывается по плавающей кнопке и показывает окно поверх страницы;
  • "Встроенный" - виджет встраивается в контейнер страницы без плавающей кнопки.

Для всплывающего окна можно выбрать позицию окна, ширину и высоту. Ширина ограничена диапазоном 200-800 px, высота - 300-1000 px. Точное значение можно ввести в числовом поле, а ползунок ширины и ползунок высоты удобны для визуальной настройки. Скругление углов задается отдельно и работает для всплывающего и встроенного режима; его также можно менять ползунком. Переключатель "Тень" включает или выключает тень вокруг окна.

Цветовая схема задает светлый, темный или автоматический режим. В автоматическом режиме виджет ориентируется на настройки браузера пользователя. Язык виджета можно выбрать явно или оставить "Авто".

Скругление в предпросмотре меняется сразу, но сохраняется только после нажатия кнопки сохранения. При динамическом коде сохранённый border_radius загружается с сервера. При статичном коде после сохранения нужно заменить код на сайте. Для временного изменения уже работающего экземпляра разработчик может вызвать SenlerWidget.updateRuntime({ border_radius: 18 }); это значение не записывается в настройки канала.

Тексты виджета

  • заголовок чата;
  • стандартный заголовок диалога;
  • подсказка в поле ввода;
  • приветственное сообщение.

Тексты настраиваются отдельно для русского и английского языков. Вкладка языка в блоке "Тексты виджета" меняет только редактируемую версию текста, а не общий язык виджета.

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

Тексты виджета. Шаг 1: 1. вкладка русских текстов виджета
1 / 5
1. вкладка русских текстов виджета

Кнопка виджета

  • позиция;
  • цвет фона для светлой/темной темы;
  • цвет иконки для светлой/темной темы.

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

Цвета кнопки задаются отдельно для светлой и темной темы: фон кнопки и цвет иконки. Цвет можно выбрать в палитре или ввести точное HEX-значение в соседнее поле.

Положение и цвета кнопки. Шаг 1: 1. позиция кнопки виджета: скрыта
1 / 5
1. позиция кнопки виджета: скрыта

Закрытие и сворачивание

Во всплывающем режиме крестик закрытия уже есть в шапке виджета, отдельно добавлять его не нужно. SenlerWidget.close() скрывает окно, а SenlerWidget.open() показывает его снова.

Во встроенном режиме обычный крестик скрыт. Разработчик может включить крестик сворачивания внутри шапки через shell.collapse_button: true. Нажатие вызывает onCollapse(detail) и событие senler-widget:collapse-request, но не скрывает виджет автоматически. Сайт выбирает один обработчик и вызывает SenlerWidget.close() либо закрывает свою внешнюю панель. SenlerWidget.open() снова показывает скрытый wrapper. Готовый пример приведён в инструкции по Public API.

SenlerWidget.destroy() нужен не для сворачивания: он полностью удаляет экземпляр, после чего требуется повторная инициализация.

Функции чата

  • загрузка файлов;
  • голосовые сообщения;
  • emoji;
  • раздельный вид списка диалогов и чата;
  • история чатов в шапке виджета;
  • поиск по истории чатов;
  • выбор элемента страницы.

Переключатели в блоке "Функции чата" управляют тем, что видит пользователь сайта:

  • "Загрузка файлов" разрешает отправлять файлы через виджет;
  • "Голосовые сообщения" включает запись и отправку голосовых;
  • "Эмодзи" показывает панель выбора emoji;
  • "Разделять окно на список диалогов и диалог" показывает список диалогов рядом с выбранным чатом на достаточно широком экране;
  • "Выбор элемента страницы" показывает кнопку выбора элемента и передает выбранное место сайта вместе с вопросом пользователя.
Функции чата. Шаг 1: 1. переключатель загрузки файлов
1 / 5
1. переключатель загрузки файлов

Предпросмотр и сохранение

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

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

История чатов в виджете

Все кнопки и состояния, которые видит посетитель, собраны отдельно в статье «Интерфейс виджета для посетителя сайта».

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

Код для встраивания

  • может быть статическим или динамическим;
  • если меняются настройки, нужно обновить код на сайте, если используется статический код;
  • при динамическом коде изменения подтягиваются автоматически.

Режим изменения оформления выбирает, как сайт получает настройки:

  • "Статичный" - настройки встроены прямо в код. После изменения оформления скопируйте новый код и обновите его на сайте;
  • "Динамический" - сайт загружает настройки с сервера. Изменения применяются без замены кода, если сам код уже установлен правильно.

Готовый код для встраивания доступен только для просмотра. Измените параметры выше, дождитесь обновления кода и используйте кнопку копирования. Кнопка с шестеренкой открывает пример, где можно собрать код с данными пользователя.

Код для встраивания. Шаг 1: 1. статичный режим кода виджета
1 / 6
1. статичный режим кода виджета

Пример формирования кода

В примере формирования кода можно добавить данные пользователя: email, телефон, имя, фамилию, URL аватара и дополнительные параметры user.data.

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

Результат сразу появляется в поле предпросмотра примера. Проверьте выбранные данные и скопируйте код отдельной кнопкой.

Подключение виджета сайта. Шаг 1: 1. Пример формирования кода
1 / 8
1. Пример формирования кода

Открытие виджета и контекст сайта

Этот раздел нужен разработчику сайта, если сайт должен сам открывать виджет, передавать сообщение, передавать данные текущей страницы или показывать в чате действия сайта. Если вы только меняете внешний вид виджета в кабинете, этот раздел можно пропустить: достаточно сохранить настройки и обновить код на сайте при статическом режиме.

После установки кода разработчик может использовать дополнительные возможности виджета:

  • инициализировать виджет на сайте один раз после установки кода;
  • открывать, закрывать или переключать popup- и embedded-wrapper по событию на сайте;
  • показывать крестик сворачивания во встроенном виджете и обрабатывать запрос на сворачивание на стороне сайта;
  • выбирать существующий диалог без отправки нового сообщения;
  • открывать виджет сразу с текстом сообщения или контекстом следующего вопроса;
  • передавать постоянный контекст текущей страницы, карточки, заказа или проекта;
  • обновлять контекст, сообщение или доступные действия без переустановки виджета;
  • временно менять theme_mode, border_radius, display_mode и параметры shell через updateRuntime;
  • объявлять действия сайта через customActions, чтобы агент мог показать в чате кнопку, а сайт выполнил действие на своей стороне;
  • подключать сценарий AI-правки текста в поле сайта: сайт показывает свой интерфейс, а виджет создает диалог и возвращает вариант правки;
  • задавать язык описаний действий сайта через customActionsLanguage, если они написаны только на русском или только на английском;
  • удалять виджет со страницы, если сайт сам управляет жизненным циклом виджета;
  • привязать чат к авторизованному пользователю сайта через external_id и user_hash.

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

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

Что важно помнить

  • скрывать можно плавающую кнопку, а не само окно виджета;
  • если нужно убрать кнопку с сайта, выберите позицию кнопки "Скрыта";
  • во встроенном режиме плавающая кнопка не используется;
  • close() скрывает текущий wrapper без потери экземпляра, а destroy() полностью удаляет виджет;
  • кнопка shell.collapse_button только запрашивает сворачивание, поэтому сайт должен обработать onCollapse или senler-widget:collapse-request.

Привязка к авторизованному пользователю

  • нужна для привязки пользователя сайта к авторизованному аккаунту;
  • включает секретный ключ;
  • секрет можно показать, скопировать или регенерировать;
  • регенерация секрета опасна: старый ключ сразу перестанет работать;
  • если включена привязка к авторизации, в коде нужны external_id и user_hash;
  • в примере кода можно указать email, телефон, имя, фамилию, аватар и дополнительные data-поля.

Переключатель «Привязка лида к авторизации на сайте» нужен, если пользователь должен видеть историю переписки после входа с другого устройства или браузера. Для включения понадобится разработчик сайта: сайт должен передавать внешний ID пользователя и подпись user_hash.

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

Привязка к авторизованному пользователю. Шаг 1: 1. Переключатель «Привязка лида к авторизации на сайте»
1 / 6
1. Переключатель «Привязка лида к авторизации на сайте»

Если привязка включена, кабинет показывает примеры серверного кода для генерации подписи. Выберите язык примера и скопируйте нужный фрагмент.

Привязка к авторизованному пользователю. Шаг 1: 1. Переключатель «Привязка лида к авторизации на сайте»
1 / 3
1. Переключатель «Привязка лида к авторизации на сайте»

Выбор элемента

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

Если виджет не отображается на сайте

  • проверьте, вставлен ли код на сайт;
  • проверьте разрешенный домен;
  • проверьте, не заблокирован ли скрипт политикой сайта;
  • проверьте режим отображения виджета;
  • проверьте консоль браузера;
  • проверьте назначение агента и статус канала.

Где это в интерфейсе

Основные элементы раздела:

  • список каналов
  • пункт «Каналы» в боковом меню
  • кнопка добавления канала
  • кнопка выбора платформы Виджет
  • страница настроек канала
  • область настроек виджета
  • кнопка редактирования названия виджета
  • поле названия виджета
  • кнопка сохранения названия виджета
  • кнопка отмены редактирования названия
  • иконка виджета
  • кнопка добавления разрешенного домена
  • поле разрешенного домена
  • кнопка подтверждения добавления домена
  • кнопка отмены добавления домена
  • кнопка удаления разрешенного домена
  • позиция кнопки виджета: снизу слева
  • позиция кнопки виджета: снизу справа
  • позиция кнопки виджета: скрыта
  • позиция кнопки виджета: сверху слева
  • позиция кнопки виджета: сверху справа
  • фон кнопки виджета в светлой теме
  • палитра фона кнопки в светлой теме
  • цвет иконки кнопки в светлой теме
  • палитра иконки кнопки в светлой теме
  • фон кнопки виджета в темной теме
  • палитра фона кнопки в темной теме
  • цвет иконки кнопки в темной теме
  • палитра иконки кнопки в темной теме
  • вкладка предпросмотра окна виджета
  • вкладка предпросмотра кнопки на сайте
  • мобильная вкладка окна виджета
  • мобильная вкладка кнопки на сайте
  • мобильная вкладка настроек виджета
  • режим отображения: всплывающее окно
  • режим отображения: встроенный
  • язык виджета: авто
  • язык виджета: английский
  • язык виджета: русский
  • тема виджета: авто
  • тема виджета: темная
  • тема виджета: светлая
  • позиция окна виджета: снизу слева
  • позиция окна виджета: снизу справа
  • позиция окна виджета: сверху слева
  • позиция окна виджета: сверху справа
  • ширина окна виджета
  • ползунок ширины окна
  • высота окна виджета
  • ползунок высоты окна
  • скругление углов виджета
  • ползунок скругления углов
  • переключатель тени окна виджета
  • вкладка русских текстов виджета
  • вкладка английских текстов виджета
  • название чата на русском
  • название чата на английском
  • название диалога по умолчанию на русском
  • название диалога по умолчанию на английском
  • текст в поле ввода на русском
  • текст в поле ввода на английском
  • приветственное сообщение на русском
  • приветственное сообщение на английском
  • переключатель загрузки файлов
  • переключатель голосовых сообщений
  • переключатель emoji
  • переключатель раздельного вида списка диалогов и чата
  • переключатель выбора элемента страницы
  • кнопка сохранения настроек виджета
  • статичный режим кода виджета
  • динамический режим кода виджета
  • переключатель привязки лида к авторизации
  • готовый код для встраивания
  • кнопка открытия примера формирования кода
  • кнопка копирования кода виджета
  • кнопка показа или скрытия секретного ключа
  • кнопка копирования секретного ключа
  • кнопка перегенерации секретного ключа
  • кнопка отмены перегенерации секретного ключа
  • кнопка подтверждения перегенерации секретного ключа
  • вкладка серверного примера подписи
  • кнопка копирования серверного примера подписи
  • поле email в примере формирования кода
  • поле телефона в примере формирования кода
  • поле имени в примере формирования кода
  • поле фамилии в примере формирования кода
  • поле URL аватара в примере формирования кода
  • дополнительные параметры user.data в примере формирования кода
  • ключ дополнительного параметра user.data
  • значение дополнительного параметра user.data
  • кнопка добавления дополнительного параметра user.data
  • кнопка удаления дополнительного параметра user.data
  • поле предпросмотра примера кода
  • кнопка копирования примера формирования кода