enВойти в Senler

Идентификация посетителя

Свяжите посетителя виджета с учётной записью на своём сайте и подтвердите его внешний ID подписью.

Основной раздел: Параметры инициализации.

Данные пользователя

В user передаются данные, с которыми Senler создаёт или обновляет лида виджета. Передавайте только сведения о текущем посетителе, разрешённые вашей политикой обработки данных.

ПолеЧто передавать и как оно используется
external_idСтабильный ID авторизованного пользователя в вашей системе. Если поле задано, user_hash обязателен.
user_hashHMAC-SHA256-подпись external_id, вычисленная на сервере сайта с секретом канала и переданная как 64 шестнадцатеричных символа.
emailEmail лида. Непустое значение сохраняется при создании и обновляет существующего лида.
phoneСкрипт-загрузчик и API принимают строку, но не сохраняют её в профиль лида.
first_name, last_nameИмя и фамилия лида. Непустые значения сохраняются при создании и обновлении.
avatar_urlПубличный HTTPS URL без логина и пароля. Явно переданное пустое, некорректное или локальное значение означает отсутствие аватара и удаляет ранее сохранённый аватар существующего лида.
dataОбычный JSON-совместимый объект дополнительных данных. При повторной инициализации непустой объект поверхностно объединяется с сохранёнными данными: отсутствующие ключи не удаляются.

Подпись внешнего ID

external_id всегда передавайте вместе с user_hash: без подписи инициализация отклоняется. Переключатель привязки к авторизации в кабинете добавляет эти поля в сгенерированный код и открывает секрет и серверные примеры, но не включает и не отключает саму проверку. Секрет нельзя помещать в HTML, конфигурацию загрузчика или другой браузерный код. Подробная настройка показана в разделе «Привязка к авторизованному пользователю».

Например, на сервере Node.js подпись формируется по точному значению external_id:

import { createHmac } from "node:crypto";

const userHash = createHmac("sha256", channelSecret)
  .update(externalId)
  .digest("hex");

В браузер передайте только значения externalId и готового userHash в полях external_id и user_hash; channelSecret должен остаться на сервере.

История и доступ к сервисам

При подписанной привязке история относится к одному аккаунту на разных устройствах. Без external_id Senler создаёт анонимную браузерную сессию, поэтому после смены браузера или устройства прежняя история недоступна.

Чтобы не собирать объект user вручную, откройте «Пример формирования кода» в настройках канала. В этой инструкции показано, как выбрать поля, добавить пары в user.data и скопировать пример. Конструктор показывает допустимый формат данных, но не меняет основной код канала.

Подпись user_hash подтверждает личность посетителя, а доступ агента к внешнему сервису настраивается отдельно. Для установленного MCP с авторизацией по лидам backend может заранее сохранить пользовательский токен методом POST /api/mcp-servers/external-user-credentials. Полная последовательность, параметры, обновление и отзыв описаны в авторизации пользователя сайта в MCP.