Создать LiveChat для сайта / Автоматическая авторизация в LiveChat

Автоматическая авторизация в LiveChat

Настройте автоматическую авторизацию пользователя в LiveChat. Тогда после авторизации на сайте или портале ему не придётся заполнять ещё одну форму авторизации в чате для старта переписки с оператором.

Также настройка позволяет сохранять историю переписки, если пользователь зашёл на сайт с другого устройства или браузера.

Для этого:

  1. Установите запрет вручную заполнять данные для авторизации в чате. Для этого перейдите в настройки LiveChat и снимите все флажки в опции Поля для авторизации пользователей.
  2. Перейдите в настройки сайта или страницы портала, откройте текст кода для размещения LiveChat и добавьте в него атрибут elma365LiveChatProfile, в который должны передаваться следующие параметры с типом данных Строка:
    • id — идентификатор пользователя, заполняется в формате GUID;
    • hash — hash-ключ для авторизации пользователя, заполняется в формате GUID;
    • name — имя пользователя;
    • email — электронная почта пользователя;
    • phone — номер телефона пользователя.

Пример заполнения атрибута:

elma365LiveChatProfile=’{"id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "hash": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "name": "User name", "email": "email@email.ru", "phone": "+79999999999"}’

Настройка автоматической авторизации на примере внешнего портала

Рассмотрим настройку автоматической авторизации и использование атрибута elma365LiveChatProfile при размещении LiveChat на странице внешнего портала:

  1. Откройте страницу портала, на которой размещён LiveChat, в дизайнере интерфейсов. Перейдите на вкладку Контекст и создайте переменную user_data, в которой будут храниться данные о пользователе.
  2. Перейдите на вкладку Скрипты и в функцию onInit() добавьте код, который будет сохранять данные о пользователе в переменную user_data в формате строки:

const user = await System.users.getCurrentUser();
const HASH_KEY = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';
Context.data.user_data = JSON.stringify({
      id: user.data.__id,
      hash: HASH_KEY,
      name: user.data.__name,
      email: user.data.email ?? ' ',
      phone: user.data.phone ?? ' '
});

  1. Перейдите на вкладку Шаблон и откройте настройки виджета Код, который добавлен для размещения LiveChat. В тексте кода к атрибуту elma365LiveChatFormId добавьте атрибут elma365LiveChatProfile с переменной user_data:

<script>
  let loader = document.querySelectorAll('[src="https://domain.elma365.ru/assets/livechat/assets/elma365.livechat.loader.js"]')[0];
  loader.setAttribute('elma365LiveChatFormId', 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');
  loader.setAttribute('elma365LiveChatProfile', '<%= Context.data.user_data %>');
</script>

  1. Сохраните и опубликуйте изменения шаблона страницы портала.