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

Для идентификация посетителей в системе и связывания его обращений Webim предусматривает возможность наличия у посетителя трёх разных идентификаторов:

Идентификатор Вид Описание Обязательный
visitor_id GUID-идентификатор Внутренний уникальный идентификатор посетителя в Webim, по которому происходит идентификация посетителя в системе. Присваивается посетителю, когда он оставляет обращение впервые. Да
provided_visitor_id Зависит от конкретной системы, откуда передаётся идентификатор. Идентификатор посетителя, присваиваемый в системе клиента, сообщаемый клиентом сервису Webim. Например, это может быть идентификатор пользователя в CRM-системе или на сайте клиента. Используется для маршрутизации чатов и обмена данными между Webim и системой клиента, с которой он интегрирован. Нет
channel_user_id Зависит от конкретного канала. Идентификатор посетителя в канале общения. Нет

visitor_id

Данный псевдоуникальный идентификатор присваивается каждому посетителю и отображается в РМО в ходе диалога в поле ID посетителя:

Если пользователь обращается повторно и в его предыдущее обращение его идентификатор был сохранён в cookies браузера, он идентифицируется системой как ранее обращавшийся посетитель с тем же visitor_id историей диалогов. Соответственно, если посетитель оставляет обращения через разные браузеры, то для Webim он является двумя разными пользователями с различными visitor_id.

Искать закрытые диалоги посетителя по visitor_id можно, воспользовавшись строкой поиска на странице Истории диалогов:

Внутренний идентификатор также передаётся боту при назначении чата на него (см. раздел Назначение чата на робота), в также может передаваться по любому пользовательскому API.

provided_visitor_id

Данный идентификатор передаётся вместе с данными посетителя внутри объекта visitor.fields, когда обращение поступает из сторонней системы или сайта клиента, где посетитель авторизован (см. Идентификация авторизованных клиентов). Вид provided_visitor_id может быть произвольным и зависит от системы клиента. Клиент должен обеспечить уникальность provided_visitor_id. В противном случае, если для разных посетителей будут переданы одинаковые идентификаторы, для Webim такие пользователи будут считаться одним человеком, как следствие, с общей историей диалогов.

Искать закрытые диалоги посетителя по provided_visitor_id можно, указав данный идентификатор в поле ID посетителя на странице Истории диалогов:

Взаимосвязь provided_visitor_id и visitor_id

Когда provided_visitor_id впервые передаётся в Webim, то внутренний идентификатор Webim (visitor_id) вычисляется на основе переданного клиентом идентификатора посетителя. Таким образом Webim идентифицирует каждого посетителя с ненулевым provided_visitor_id, присваивая ему в связку свой visitor_id, благодаря чему авторизованный на сайте клиента посетитель считается тем же пользователем в Webim. В таком случае, каждый раз, когда посетитель будет авторизовываться в системе клиента и оставлять новые обращения, Webim будет идентифицировать его по старому visitor_id и подгружать старые чаты из истории.

При этом, если посетитель зашёл на сайт неавторизованным, а после этого авторизовался повторно в системе клиента с тем же provided_visitor_id, то его visitor_id до авторизации сменится на тот visitor_id, который ранее был привязан к provided_visitor_id. Т. е. для Webim до и после авторизации он будет считаться двумя разными посетителями.

channel_user_id

Данный идентификатор присутствует в случаях, если пользователь обращается через канал общения, и отображается в РМО в ходе диалога в блоке Информация о посетителе:

Как и в случае с provided_visitor_id, каждому пользователю с новым channel_user_id присваивается visitor_id. В случае, если посетитель обращается за поддержкой через разные каналы общения (соответственно, имеет разные channel_user_id для каждого обращения), системой он воспринимается как три разных пользователя с разной историей диалогов и разными visitor_id.

Вид канального идентификатора определяется правилами каждого отдельного канала. В таблице приведено описание идентификаторов для самых распространённых каналов, с которыми интегрируется Webim (в Webim считаются строкой).

Канал Формат идентификатора Пример
Telegram Восьмизначный числовой идентификатор. "67854257"
Viber Строка, состоящая из латинских букв верхнего и нижнего регистров, цифр и символов. "5dfjdg5lfg8dGjg0DF95+h=="
WhatsApp Телефонный номер посетителя, указанный полностью, без символов. "79245685475"
ВКонтакте Восьмизначный числовой идентификатор пользователя, содержащийся в ссылке на его профиль в ВКонтакте. "16845896"
Facebook 15-значный цифровой идентификатор, содержащийся в ссылке на профиль пользователя. "103458712527651"
Одноклассники Идентификатор в формате "chat:<строка из цифр и латинских букв верхнего и нижнего регистров>" "chat:C64kh5fffj974"