Найти тему
Аналитика данных

Анализ звонков на python + REST API Битрикс24

Оглавление
Анализ звонков в Битрикс24
Анализ звонков в Битрикс24

Звонки-лиды в CRM Битрикс24 платные, а это значит, что нужно контролировать качество оплачиваемых звонков. Когда таких звонков сотни и тысячи, то ручная модерация становится долгой, не эффективной, дорогой и с ошибками. На помощь нам придёт автоматизация через REST API Битрикс24 и Python. Автоматизировав эту задачу, можно быстро и точно контролировать оплату лидов, а ещё получить инсайты звонков и даже сделать небольшой карманный отдел ОТК, но обо всём по порядку. Открываем наш любимый Jupyter Notebook и начинаем писать код на python...

Ставим нужные библиотеки

Библиотеки
Библиотеки

Инициируем все необходимые переменные

Инициализация
Инициализация

Получаем данные о всех телефонных звонках за указанный период

Для выгрузки информации о звонках используем метод voximplant.statistic.get из REST API Битрикс24. Это списочный метод, который вернёт список звонков. Важный момент, т.к. звонков может быть много, метод возвращает данные пакетами по 50 строк и в каждом пакете. При этом, если список не последний, то в нём содержится информация о том, сколько ещё есть строк в следующем пакете в переменной 'next'. В коде ниже этот нюанс учтён.

Информация о звонках
Информация о звонках

Преобразование форматов

Когда получили все данные о звонках, нужно преобразовать столбцы в правильный формат данных, ведь от сервера почти всё приходит в строковом типе.

Привидение типа данных
Привидение типа данных

Информация о пользователях Битрикс24

Чтобы таблица со звонками была более полной, хорошо чтобы у каждого звонка была информация о том, кто совершал звонок, как связаться с этим сотрудником в случае необходимости и т.п. Для этого нам нужно выгрузить данные обо всех коллегах и оставить только тех, кто есть в таблице о звонках. Для этого воспользуемся методом user.get, который получает фильтрованный список юзеров Битрикс24. Вернутся все пользователи исключая:

  • ботов,
  • пользователей для e-mail,
  • пользователей для открытых линий,
  • и пользователей реплики.
Информация о пользователях Битрикс24 по ID
Информация о пользователях Битрикс24 по ID

Фильтрация звонков по сотрудникам

Когда мы получим все данные о сотрудниках в Битрикс24, тогда мы сможем отфильтровать наш изначальный датафрейм по звонкам, оставив только те звонки, которые делали интересующие нас сотрудники компании.

Фильтр звонков по сотрудникам
Фильтр звонков по сотрудникам

Выкачиваем всю инфу про записи звонков

Для выгрузки данных по файлам с записями звонков будем использовать метод: disk.file.get, который возвращает информацию по идентификатору из таблицы со звонками колонки RECORD_FILE_ID.

-8

Соединяем данные

Мерж датафреймов
Мерж датафреймов

Пояснения названий столбцов

Все названия столбцов в таблице написаны на английском языке и не всегда названия понятны. Чтобы данные сделать более доступными к пониманию, лучше переименовать важные колонки, например так:

Переименование колонок
Переименование колонок

После работы этого скрипта у вас на руках будет файл с данными по всем звонкам за указанный период, по которому можно контролировать оплату лидов. А ещё можно перевести записи звонков в текст и получить ещё больше информации о звонках, тем более, что эта услуга на стороне Битрикс24 платная. Но это можно сделать самостоятельно с помощью бесплатной библиотеки Vosk с предобученной моделью для русского языка.

Код на GitHub.