Содержание

Битрикс24. Открытые линии с Роистат

Пошаговое руководство актуально тем, кто использует Битрикс24, Виджет "Открытые линии" и Роистат.

 

Если посетитель пишет в чат Открытых линий на вашем сайте, то код роистат никак не передается в Битрикс, и поэтому все обращения из чата открытых линий будут не размечены, и отображаться в роистат не правильно.

Мы разобрались в проблеме и придумали решение.

 

Общая схема такая: 

1. Когда пользователь пишет в чат, мы передаем в дополнительное поле чата идентификатор роистат

2. Настраиваем бизнес-процесс в Битрикс24, которые при создании лида, отправляет к нам текстовый идентификатор чата

3. Мы через по этому текстовому идентификатору чата получаем ID чата

4. По ID чата получаем полный текст чата

5. В тексте чата находим наш параметр с идентификатором Roistat

6. Обновляем лид в битрикс24, дописывая в него идентификатор Roistat

 

Шаг 1. Установка кода виджета на сайт

Нужно установить код виждета и дополнительный код, который будет отправлять параметр роистат. При этом все это должно сработать только после загрузки кода роистат.

После этого будет в виджет будет отправляться код роистат.

 

<script>
    <!-- Все коды должны срабатывать, только когда роистат уже загрузился -->
    window.onRoistatModuleLoaded = function () {

 

        <!-- Bitrix24 Widget -->
        (function(w,d,u){
        var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/60000|0);
        var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
        })(window,document,'https://cdn-ru.bitrix24.ru/b8391289/crm/site_button/loader_7_pktlze.js');
        <!-- Bitrix24 Widget -->

 

        <!-- Bitrix24 Widget Дополнительный код -->
        window.addEventListener('onBitrixLiveChat', function(event) {
            var widget = event.detail.widget;
            widget.setUserRegisterData({
                'position': roistat.visit
            });
        });
        <!-- Bitrix24 Widget Дополнительный код -->
    };
</script>

Шаг 2. Создайте обработку в Webjack

Создайте в Webjack обработку с источником данных HTTP-запрос, со следующими параметрами

Более подробные инструкции про HTTP-запросы можно найти тут https://help.webjack.ru/page/service/input/8/?root=5

Скопируйте url-адрес веб-хука, он нам пригодится в дальнейшем

 

 

Шаг 3. Настройка бизнес-процесса в Битрикс24

Нужно создать бизнес процесс, который бы срабатывал при создании лида в Битрикс24.

Найти бизнес процессы можно по ссыле https://ваш_домен_битрикс.bitrix24.ru/crm/configs/bp/CRM_LEAD

Добавьте в параметрах переменную с именем "chat_text" типа "Строка"

И создайте вот такую схему безнес-процесса:

Где условие настроено вот так:

Действие изменени переменных настроено вот так: {{=substr({{Онлайн-чат (текст)}},5,50)}}

Отправка на Webhook настроена вот так:

https://webjack.ru/webhooks/http/2a632e8873e546208191897d006ff9e8/?lead_id={{ID}}&chat_text={=Variable:chat_text}

Где адрес, выделенный красным, надо заменить на ваш адрес вебхука в Webjack

Шаг 4. Создайте входящий вебхук в Битрикс24

Перейдите в меню "Приложения" --> "Разработчикам"

Дайте необходимые права для этого вебхука

Шаг 5. Настройка действий в обработке Webjack

Необходимо настроить следущие действия:

HTTP-запрос. Получение ID чата

Адрес: https:/ваш_домен_битрикс.bitrix24.ru/rest/ваш_адрес_вебхука/im.chat.get

И параметры

ENTITY_TYPE: LINES

ENTITY_ID: Параметр chat_text

 

Действие JSON-парсер. Извлекаем ID чата

В поле JSON - указываем ответ от предыдущего шага

Добавляем параметр

chat_id: ["result"]["ID"]

 

Действие. HTTP-запрос. Получаем весь текст чата

Метод: POST

Адрес: https:/ваш_домен_битрикс.bitrix24.ru/rest/ваш_адрес_вебхука/im.dialog.messages.get.json

Параметры: 

DIALOG_ID: chat{Поле "chat_id" извлеченное на предыдущем шаге}

 

Действие JSON-парсер. Извлекаем поле с идентификатором Roistat

JSON: Здесь указываем содержимое ответа предыдущего шага

Параметры: 

roistat: ["result"]["users"][0]["work_position"] 

 

Действие Добавление лида в CRM Bitrix

Обновляем данные лида в битрикс.

Указываем, что необходимо искать лид по его ID. Для этого в поле ID указываем значение lead_id, которое нам присылал битрикс.

Указываем, что в поле roistat необходимо передавать найденный нами идентификатор roistat.

Сохраняем и запускаем обработку

После этого

  1. при каждом создании лида, битрикс будет присылать нам уведомления об этом.
  2. Webjack будет находить код roistat в диалоге
  3. Webjack будет обновлять лид, записывая этот код в нужное поле