Справочник init
Начните с подключения и приоритета настроек. Здесь собраны параметры первоначальной настройки. После запуска доступны отдельные runtime-параметры.
Справочник параметров init
Скрипт-загрузчик принимает только перечисленные параметры верхнего уровня:
| Ключ | Тип | Обязательность / значение по умолчанию | Назначение |
|---|---|---|---|
channel_id | string | Обязательный | ID канала типа «Виджет» из готового кода. |
user | object | Необязательный | Данные посетителя. Если передан external_id, рядом обязательна серверная подпись user_hash. |
theme | object | Необязательный | Переопределения оформления, popup-размеров, текстов и плавающей кнопки. Неуказанные поля берутся из настроек канала. |
features | object | Необязательный | Переопределения функций чата. Неуказанные поля берутся из настроек канала. |
welcome | object | Необязательный | Вид приветствия: mode: "centered_text" или mode: "automation_message" с automation_id и node_id разрешённого сообщения канала. Без параметра используются настройки канала. |
lang | "ru" | "en" | "auto" | "auto" | Язык интерфейса. |
display_mode | "popup" | "embedded" | "popup" | Способ размещения чата. |
surfaceVisible | boolean | true | Видимость контейнера на сайте для учёта прочтения. Для скрываемой панели меняйте через updateRuntime; параметр не меняет её оформление. |
button_only | boolean | false | Только неинтерактивная плавающая кнопка без iframe. Не совместим с embedded. |
container | CSS-селектор или DOM Element | Обязательный для embedded | Контейнер embedded-виджета. Передайте его и при старте в popup, если позже переключите режим через Public API. |
shell | object | Пустой объект | collapse_button и mobile_edge_swipe; оба выключены, пока не передано true. |
onCollapse | function | Необязательный | Функция, вызываемая при запросе на сворачивание embedded-виджета. |
onReady | function | Необязательный | Вызывается один раз после успешной инициализации чата; получает channel_id, display_mode, button_only. В button_only сообщает о готовности кнопки. |
onError | function | Необязательный | Получает первую ошибку запуска: Error с code, message, retryable. Подробности. |
contextProvider | function | Необязательный | Синхронный поставщик постоянного контекста страницы. |
resolveRuntime | function | Необязательный | Синхронно выбирает приветствие и оформление по данным посетителя и условиям сайта. Не выполняет команды диалога. |
pageElementActions | object | Необязательный | Адаптер execute / clear для управления элементами встроенного приложения. Контракт и пример. |
customActions | object | Пустой набор | Кнопки и действия сайта, доступные в чате. |
customActionsLanguage | "ru" | "en" | Не задан | Язык описаний customActions. |
debug | boolean | false | Дополнительные сообщения скрипта-загрузчика в консоли. |
Другие top-level ключи считаются ошибкой. Повторный SenlerWidget.init(...) удаляет текущий экземпляр и создаёт новый, поэтому для временных изменений используйте методы Public API.
Функции чата
Ключ features | Что включает | Значение по умолчанию |
|---|---|---|
file_upload | Прикрепление файлов. | true |
voice_messages | Запись голосовых сообщений. | false |
emoji | Выбор эмодзи. | true |
split_view | На ширине от 640 пикселей показывает список диалогов и текущий чат рядом. | true |
element_selection | Выбор элемента основной страницы для вопроса. | false |
Для element_selection одной настройки недостаточно: чтобы агент получал устойчивые названия и мог находить элементы снова, добавьте разметку data-ai-*.