Разделы документации

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

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

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

Что куда попадает

КлючГде увидит оператор
nameИмя посетителя в списке диалогов и в карточке.
email, phoneКонтакты в карточке посетителя.
любые другие ключиБлок «Данные» в карточке посетителя: название ключа и значение. Например, plan, userId, city.
utm_*, gclid, yclid, fbclidБлок «Источник трафика». Виджет собирает метки из адреса страницы сам — передавать их не нужно. Сохраняются метки первого захода.

До загрузки: SvyazioIntegration

Если данные известны в момент отрисовки страницы (сайт с серверным рендерингом), положите их в window.SvyazioIntegration до кода установки.

HTML
<script>
  window.SvyazioIntegration = {
    name: "Анна Смирнова",
    email: "anna@example.ru",
    phone: "+7 900 123-45-67"
  };
</script>
<!-- ниже — код установки из кабинета -->

Когда страница собирается на сервере, подставляйте значения через JSON-кодирование:

Шаблон на PHP
<script>
  // json_encode экранирует кавычки и теги — без него имя вида </script>
  // сломает страницу или станет XSS
  window.SvyazioIntegration = <?= json_encode([
    'name'  => $user->name,
    'email' => $user->email,
    'phone' => $user->phone,
  ], JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP) ?>;
</script>

После загрузки: setIntegrationData и updateIntegrationData

setIntegrationData передаёт весь набор данных, updateIntegrationData — только изменившиеся ключи.

JavaScript
// Пользователь вошёл в аккаунт
function onLogin(user) {
  Svyazio('setIntegrationData', {
    name: user.fullName,
    email: user.email,
    phone: user.phone,
    userId: String(user.id),
    plan: user.plan,              // «Бизнес»
    registered: user.createdAt    // «2025-03-14»
  });
}
JavaScript
// Корзина изменилась — оператор увидит актуальную сумму
cart.on('change', function () {
  Svyazio('updateIntegrationData', {
    cart: cart.count + ' шт. на ' + cart.total + ' ₽'
  });
});

Правила

  • Значения — строки и числа. Вложенный объект оператор увидит как «[object Object]», длинные строки обрезаются в карточке до 40 символов (полное значение — во всплывающей подсказке).
  • Данные накапливаются. Новые ключи добавляются к уже сохранённым, а не заменяют их. Чтобы поменять значение, передайте тот же ключ с новым значением. null убирает ключ только из того, что страница отправляет дальше, — в карточке значение останется.
  • Не больше 4 КБ. Все дополнительные ключи посетителя вместе — до 4096 символов в виде JSON. Если обновление не помещается, сервер не сохраняет его целиком, вместе с именем и контактами.
  • Служебные ключи недоступны. Идентификаторы мессенджеров (telegramUserId, vkUserId, maxUserId и подобные) записывают только сами каналы, сервер их отбрасывает. Ключ notes тоже не записывается — заметки о посетителе ведут операторы.
  • Не передавайте секреты. Данные приходят из браузера посетителя: он может их прочитать и подменить. Никаких паролей, токенов и номеров карт — и никаких решений о доступе на основании этих данных.

Выход из аккаунта на общем компьютере — отдельная задача: нужно, чтобы следующий человек не увидел чужую переписку. Готовый код — в рецепте «Выход из аккаунта».

Обновлено 22 сентября 2026