Чат-бот
Добавьте кнопку чат-бота Keural на сайт организации с помощью кода установки.
Организация может разместить чат-бота Keural на своём сайте. Когда посетитель нажимает кнопку в углу экрана, открывается окно чат-бота. Установка выполняется вставкой на сайт кода установки, созданного на экране администрирования.
Создание чат-бота
- Владелец или администратор организации нажимает + Добавить чат-бот в разделе Управление организацией → Чат-боты.
- Введите название чат-бота и домен по умолчанию (например,
https://example.com) и зарегистрируйте его. - Откройте чат-бота и настройте три вкладки.
| Вкладка | Настройки |
|---|---|
| Токен и установка | Проверка токена и копирование кода установки (HTML · Next.js) |
| Пользовательский интерфейс чат-бота | Изображение кнопки (PNG·JPG·GIF·WebP) и её отображение, название чат-бота, отображение заголовка, его развёртывание и цвет, цвет кнопки, положение кнопки (слева или справа), смещение по горизонтали и вертикали. Проверка в предварительном просмотре |
| Дополнительно | Адреса страниц, на которых может открываться чат-бот (разрешённые домены, не более 5) |
- Вставьте код установки на свой сайт.
Код установки
На вкладке Токен и установка скопируйте код для HTML или Next.js. Код состоит из двух частей.
- Загрузчик: создаёт функцию
Keural, а после загрузки страницы асинхронно подгружает скрипт чат-бота (/plugin/keural-widget@1.0.1.js). Команды, вызванные до загрузки скрипта, помещаются в очередь и выполняются по порядку. - Команда запуска:
Keural('boot', { token: '…' }). Токен начинается сwgt_.
Версия скрипта закреплена в адресе. Когда выходит новая версия, скопируйте код установки заново и замените им старый. Если код установки вставлен на одной странице дважды, второй экземпляр игнорируется, а в консоли появляется ошибка.
<script id="keural-one-script">
/* Код, скопированный на вкладке «Токен и установка» */
</script>В Next.js код добавляется через next/script в виде <Script id="keural-one-script" strategy="afterInteractive">. Чтобы чат-бот отображался на всех страницах, поместите его в корневой layout.
Параметры запуска
Значения, переданные в boot, имеют приоритет над настройками на экране администрирования. Используйте их, чтобы менять внешний вид на отдельных страницах.
Keural('boot', {
token: 'wgt_…',
theme: 'system',
header: { enabled: true, extended: true, draggable: true, title: 'Поддержка клиентов', color: '#495BD8' },
button: { visible: true, iconUrl: 'https://example.com/icon.png', color: '#495BD8', position: 'right', offsetX: 30, offsetY: 30 },
});| Параметр | Значение | Название на экране администрирования |
|---|---|---|
token | Обязательно. Токен из кода установки | — |
theme | light · dark · system | — |
header.enabled | Показывать заголовок | Отображение заголовка |
header.extended | Показывать в заголовке кнопку увеличения | Развёртывание заголовка |
header.draggable | Перемещать окно, перетаскивая заголовок (по умолчанию true) | — |
header.title | Заголовок | Название чат-бота |
header.color | Цвет заголовка | Цвет заголовка |
button.visible | Показывать кнопку | Отображение кнопки |
button.iconUrl | Адрес изображения кнопки | Изображение кнопки |
button.color | Цвет кнопки | Цвет кнопки |
button.position | left · right | Положение кнопки |
button.offsetX · button.offsetY | Расстояние от края экрана (px) | Смещение X · Смещение Y |
Значения по умолчанию для нового чат-бота: отображение и развёртывание заголовка включены, цвет заголовка и кнопки #495BD8, положение справа, смещение 30px, тема system.
Управление страницей
| Вызов | Действие |
|---|---|
Keural('open') · Keural.open() | Открывает окно чат-бота. |
Keural('close') · Keural.close() | Закрывает окно. |
Keural('toggle') · Keural.toggle() | Если окно открыто, закрывает его; если закрыто, открывает. |
Keural('reload') · Keural.reload() | Перезагружает окно чат-бота. |
Keural('badge', n) · Keural.badge(n) | Показывает на кнопке числовой значок. |
Keural.isLoaded() | true, если скрипт полностью загружен |
Keural.onOpen(cb) · Keural.onClose(cb) | Вызывает cb, когда окно открывается или закрывается. |
Такие методы, как Keural.open(), работают только после загрузки скрипта. Если их нужно вызвать сразу после открытия страницы, используйте функциональную форму, например Keural('open'): вызовы выполнятся по порядку.
<button onclick="Keural('open')">Связаться с нами</button>Также можно скрыть стандартную кнопку (button.visible: false) и открывать чат-бота собственной кнопкой на странице.
Размер экрана
Окно чат-бота имеет размер 390×800px. Если ширина экрана не превышает 480px, окно открывается на весь экран. Окно увеличивается кнопкой развёртывания в заголовке.
Домены отображения
- Чат-бот открывается на страницах, у которых хост совпадает с доменом по умолчанию. Хосты сравниваются вместе с портом, регистр букв не учитывается. Адрес с
www.и поддомены считаются другими хостами. Чтобы проверить работу на сервере разработки, создайте отдельного чат-бота, у которого доменом по умолчанию будет этот адрес. - Домен по умолчанию нельзя изменить после создания. Чтобы его изменить, создайте чат-бота заново.
- Если разрешённые домены в разделе Дополнительно оставить пустыми, чат-бот открывается на всех страницах домена по умолчанию. Если разрешённые домены указаны, чат-бот открывается только на страницах, адреса которых начинаются с них. Если указан путь, например
https://example.com/help, область сужается до страниц под этим путём. Разрешённые домены начинаются сhttp://илиhttps://, их можно указать до 5. - Токен из кода установки виден на странице. Подключайте к чат-боту только то содержимое, которое можно сделать публичным.
Политика безопасности (CSP)
Если на сайте применяется Content-Security-Policy, разрешите следующее. Адреса указаны для keural.ai.
| Директива | Что разрешить |
|---|---|
script-src | https://keural.ai и встроенный скрипт кода установки ('unsafe-inline' или хэш либо nonce) |
connect-src | https://api.keural.ai |
frame-src | https://keural.ai |
style-src | 'unsafe-inline' или nonce (чат-бот добавляет стили на страницу) |
img-src | Адрес изображения кнопки, https://keural.ai, https://api.keural.ai |