JS API виджета
Управляйте виджетом Связио программно: установка, конфигурация, события и расширенные сценарии. 23 метода и коллбэки.
Быстрый старт
Задайте window.SvyazioConfig с вашим orgId, затем подключите скрипт виджета асинхронно — перед </head> или </body>:
<script>
window.SvyazioConfig = { orgId: "ВАШ_ORG_ID" };
</script>
<script async src="https://app.svyazio.ru/widget/svyazio.js"></script>Все вызовы Svyazio(...) до загрузки скрипта встают в очередь команд и выполнятся после инициализации.
Конфигурация
window.SvyazioConfig (алиас window.SvyazioSetup) нужно задать до загрузки скрипта; он переопределяет настройки из панели управления.
Внешний вид
| Параметр | По умолчанию | Описание |
|---|---|---|
buttonStyle | 'round' | Форма кнопки: 'round' или 'tab' |
buttonPosition | 'br' | Позиция: bl, bc, br, lt, lm, lb, rt, rm, rb |
buttonSize | 60 | Диаметр кнопки, px |
chatWidth | 400 | Ширина окна, px (мин 280) |
chatHeight | 600 | Высота окна, px (мин 300) |
zIndex | 999999 | z-index виджета |
accentColor | '#40B5A6' | Акцентный цвет |
Поведение
| Параметр | По умолчанию | Описание |
|---|---|---|
startHidden | false | Стартовать скрытым (показать через show()) |
disabledOnMobile | false | Отключить на мобильных |
mobileOnly | false | Показывать только на мобильных |
deferredLoading | false | Отложенная загрузка |
customWidgetButton | — | CSS-селектор своей кнопки открытия |
Данные посетителя
clientId — постоянный уникальный идентификатор пользователя; склеивает историю между устройствами и сессиями (не используйте случайный/временный). groupId — идентификатор отдела (Настройки → Отделы).
Коллбэки
onNewMessage(msg) — новое сообщение (msg: id, text, createdAt, type: agent|client|bot). onAnalyticEvent(eventName) — аналитические события (например, для GA4 и Яндекс.Метрики).
Данные интеграции
Задайте window.SvyazioIntegration до загрузки виджета — альтернатива вызову setIntegrationData:
window.SvyazioIntegration = {
name: "Иван Петров",
email: "ivan@example.ru",
phone: "+7 900 000-00-00",
plan: "enterprise",
userId: "u_10245"
};Открытие по ссылке
Добавьте хэш #svyazioChatExpanded к любой ссылке — чат откроется автоматически. На мобильном хэш добавляется в URL, поэтому «Назад» закрывает чат.
Методы
Полный список методов JS API. Вызов: Svyazio('имяМетода', аргумент).
| Метод | Описание |
|---|---|
openChat(focus?) | Открыть чат; true фокусирует поле ввода |
expandWidget(focus?) | Как openChat, но игнорируется на мобильном |
minimizeWidget() | Свернуть виджет |
closeChat() | Свернуть (алиас minimizeWidget) |
hide() | Полностью скрыть виджет |
show() | Показать после hide() или startHidden |
setIntegrationData(data) | Полностью перезаписать данные посетителя |
updateIntegrationData(data) | Частично обновить; null удаляет поле |
setButtonPosition(code) | Позиция кнопки (9 значений) |
resetButtonPosition() | Вернуть позицию из конфига |
setButtonSize(px) | Диаметр кнопки |
setChatWidth(px) | Ширина окна (мин 280) |
setChatHeight(px) | Высота окна (мин 300) |
setZIndex(value) | z-index виджета |
setColors(colors) | Цвета: buttonBg, buttonText, clientBubbleBg, agentBubbleBg |
resetColors() | Сбросить цвета к конфигу |
setLanguage(code) | Язык: ru, en, es, pt, de, fr, tr |
setLocale(codeOrOverrides) | Язык строкой или переопределение UI-строк объектом |
sendAutoMessage(text) | Авто-сообщение от оператора, открывает чат |
pageView() | Событие просмотра; обязательно в SPA при смене роута |
setGroupId(id) | Направить диалог в отдел; null сбрасывает |
restart() | Перечитать SvyazioConfig (при смене пользователя) |
kill() | Полностью удалить виджет (необратимо без перезагрузки) |
SPA и жизненный цикл
В одностраничных приложениях (React Router, Vue Router) вызывайте Svyazio('pageView') при смене роута. restart() перечитывает конфиг при смене пользователя; kill() полностью удаляет виджет (DOM и WebSocket) — необратимо без перезагрузки страницы.
Миграция с Chatra
Большинство методов Chatra JS API поддерживаются. Замены: ChatraSetup → SvyazioSetup, ChatraIntegration → SvyazioIntegration, Chatra('метод') → Svyazio('метод'). Основные методы (openChat, hide, show, setIntegrationData, sendAutoMessage и др.) реализованы; редкие методы Chatra могут отсутствовать.
Подключите виджет за пару минут
Бесплатный тариф навсегда. Виджет — одной строкой кода, без привязки карты.