Для разработчиков

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
buttonSize60Диаметр кнопки, px
chatWidth400Ширина окна, px (мин 280)
chatHeight600Высота окна, px (мин 300)
zIndex999999z-index виджета
accentColor'#40B5A6'Акцентный цвет

Поведение

ПараметрПо умолчаниюОписание
startHiddenfalseСтартовать скрытым (показать через show())
disabledOnMobilefalseОтключить на мобильных
mobileOnlyfalseПоказывать только на мобильных
deferredLoadingfalseОтложенная загрузка
customWidgetButtonCSS-селектор своей кнопки открытия

Данные посетителя

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 поддерживаются. Замены: ChatraSetupSvyazioSetup, ChatraIntegrationSvyazioIntegration, Chatra('метод')Svyazio('метод'). Основные методы (openChat, hide, show, setIntegrationData, sendAutoMessage и др.) реализованы; редкие методы Chatra могут отсутствовать.

Подключите виджет за пару минут

Бесплатный тариф навсегда. Виджет — одной строкой кода, без привязки карты.