Данные посетителя
Если посетитель вошёл в аккаунт на вашем сайте, передайте его данные — оператор сразу увидит, с кем говорит, и не будет переспрашивать имя и почту.
Что куда попадает
| Ключ | Где увидит оператор |
|---|---|
name | Имя посетителя в списке диалогов и в карточке. |
email, phone | Контакты в карточке посетителя. |
| любые другие ключи | Блок «Данные» в карточке посетителя: название ключа и значение. Например, plan, userId, city. |
utm_*, gclid, yclid, fbclid | Блок «Источник трафика». Виджет собирает метки из адреса страницы сам — передавать их не нужно. Сохраняются метки первого захода. |
До загрузки: SvyazioIntegration
Если данные известны в момент отрисовки страницы (сайт с серверным рендерингом), положите их в window.SvyazioIntegration до кода установки.
<script>
window.SvyazioIntegration = {
name: "Анна Смирнова",
email: "anna@example.ru",
phone: "+7 900 123-45-67"
};
</script>
<!-- ниже — код установки из кабинета -->Когда страница собирается на сервере, подставляйте значения через JSON-кодирование:
<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 — только изменившиеся ключи.
// Пользователь вошёл в аккаунт
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»
});
}// Корзина изменилась — оператор увидит актуальную сумму
cart.on('change', function () {
Svyazio('updateIntegrationData', {
cart: cart.count + ' шт. на ' + cart.total + ' ₽'
});
});Правила
- Значения — строки и числа. Вложенный объект оператор увидит как «[object Object]», длинные строки обрезаются в карточке до 40 символов (полное значение — во всплывающей подсказке).
- Данные накапливаются. Новые ключи добавляются к уже сохранённым, а не заменяют их. Чтобы поменять значение, передайте тот же ключ с новым значением.
nullубирает ключ только из того, что страница отправляет дальше, — в карточке значение останется. - Не больше 4 КБ. Все дополнительные ключи посетителя вместе — до 4096 символов в виде JSON. Если обновление не помещается, сервер не сохраняет его целиком, вместе с именем и контактами.
- Служебные ключи недоступны. Идентификаторы мессенджеров (
telegramUserId,vkUserId,maxUserIdи подобные) записывают только сами каналы, сервер их отбрасывает. Ключnotesтоже не записывается — заметки о посетителе ведут операторы. - Не передавайте секреты. Данные приходят из браузера посетителя: он может их прочитать и подменить. Никаких паролей, токенов и номеров карт — и никаких решений о доступе на основании этих данных.
Выход из аккаунта на общем компьютере — отдельная задача: нужно, чтобы следующий человек не увидел чужую переписку. Готовый код — в рецепте «Выход из аккаунта».