Сквозная аналитика Roistat в онлайн-чатах Битрикс24? Да, мы сделали!
На одном из интернет-магазинов, как часто это бывает, используется и онлайн-чат Битрикс24, так как интеграция есть с CRM, так и внешний мощный сервис сквозной аналитики Roistat. Углубляться в подробности механизмов его работы не буду, главное, что он позволяет вычислять стоимость лида и сделки учитывая расходы на каждый рекламный канал. Как раз для передачи данных по статусу сделки и ее сумме используется интеграция с Битрикс24, потому что данные по сделкам находятся там. То есть roistat запоминает все визиты, соотносит их с активными действиями поситителей на сайтах (лиды и сделки в Битрикс24) с помощью уникального номера visit_id. 

Казалось бы все просто, номер визита при создании лида и сделки можно передавать с внешних источников, но с чатами все сложнее. Штатного метода передачи visit_id нет, "допиливать" сам код открытых линий совсем не хочется из-за проблем обратной совместимости, но выход найти нужно. Битрикс24 на всякий случай опубликовал статью (helpdesk.bitrix24.ru/open/7180919/), где коллеги рассказали, каким образом можно передавать дополнительную информацию в чаты и подписываться на события виджета. Её то мы и взяли за первый шаг.

Как решали?

Шаг 1: Передать visit_id в дополнительную информацию диалога

С помощью инструкции от вендора в рамках одного скрипта, который получает visit_id roistat для конкретного пользователя дополнительно он же инициирует подключение виджета и передает в дополнительную информацию visit_id. Пример кода ниже, для вашего проекта, возможно, его необходимо будет модифицировать

    

 
По факту передачи в диалоге менеджер видит большой блок с дополнительной информацией примерно в таком виде:



Шаг 2: Спарсить текст диалога, найти наш visit_id

Чтобы получить наше значение visit_id из диалога нам придется выполнить 2 запроса к REST API Битрикс24. Примерно такой порядок действий:
  1. Получаем CHAT_ID методом im.chat.get
  2. В результате метод отдает нам идентификатор, например 223344
  3. Вызываем метод im.dialog.messages.get для получения сообщений. В параметрах DIALOG_ID мы передаем не 223344, который получили в п. 2, а "chat223344". В документации об этом явно не написано, будте внимательней!
  4. Далее разбираем сообщения, во втором сообщении диалога - дополнительная информация, оттуда дергаем visitId или что-то другое, что необходимо.

Мы для этого случая уже разработали действие дизайнера бизнес-процессов и робота. Хотите получить?
Оставьте Ваши контакты - мы отправим на email

Запросить код

Шаг 3: Записать его в поле Сделки

Этот шаг, самый простой. Можем в коде обработчика вызвать метод crm.lead.update (crm.deal.update если речь идет про Сделки) или роботом "Изменение документа" записать данные в необходимое поле Лида или Сделки (обычно поле называется roistat)
Понравилась статья или хотите также?
Напишите, и мы ответим
Другие статьи