Звонки-лиды в CRM Битрикс24 платные, а это значит, что нужно контролировать качество оплачиваемых звонков. Когда таких звонков сотни и тысячи, то ручная модерация становится долгой, не эффективной, дорогой и с ошибками. На помощь нам придёт автоматизация через REST API Битрикс24 и Python. Автоматизировав эту задачу, можно быстро и точно контролировать оплату лидов, а ещё получить инсайты звонков и даже сделать небольшой карманный отдел ОТК, но обо всём по порядку. Открываем наш любимый Jupyter Notebook и начинаем писать код на python...
Ставим нужные библиотеки
Инициируем все необходимые переменные
Получаем данные о всех телефонных звонках за указанный период
Для выгрузки информации о звонках используем метод voximplant.statistic.get из REST API Битрикс24. Это списочный метод, который вернёт список звонков. Важный момент, т.к. звонков может быть много, метод возвращает данные пакетами по 50 строк и в каждом пакете. При этом, если список не последний, то в нём содержится информация о том, сколько ещё есть строк в следующем пакете в переменной 'next'. В коде ниже этот нюанс учтён.
Преобразование форматов
Когда получили все данные о звонках, нужно преобразовать столбцы в правильный формат данных, ведь от сервера почти всё приходит в строковом типе.
Информация о пользователях Битрикс24
Чтобы таблица со звонками была более полной, хорошо чтобы у каждого звонка была информация о том, кто совершал звонок, как связаться с этим сотрудником в случае необходимости и т.п. Для этого нам нужно выгрузить данные обо всех коллегах и оставить только тех, кто есть в таблице о звонках. Для этого воспользуемся методом user.get, который получает фильтрованный список юзеров Битрикс24. Вернутся все пользователи исключая:
- ботов,
- пользователей для e-mail,
- пользователей для открытых линий,
- и пользователей реплики.
Фильтрация звонков по сотрудникам
Когда мы получим все данные о сотрудниках в Битрикс24, тогда мы сможем отфильтровать наш изначальный датафрейм по звонкам, оставив только те звонки, которые делали интересующие нас сотрудники компании.
Выкачиваем всю инфу про записи звонков
Для выгрузки данных по файлам с записями звонков будем использовать метод: disk.file.get, который возвращает информацию по идентификатору из таблицы со звонками колонки RECORD_FILE_ID.
Соединяем данные
Пояснения названий столбцов
Все названия столбцов в таблице написаны на английском языке и не всегда названия понятны. Чтобы данные сделать более доступными к пониманию, лучше переименовать важные колонки, например так:
После работы этого скрипта у вас на руках будет файл с данными по всем звонкам за указанный период, по которому можно контролировать оплату лидов. А ещё можно перевести записи звонков в текст и получить ещё больше информации о звонках, тем более, что эта услуга на стороне Битрикс24 платная. Но это можно сделать самостоятельно с помощью бесплатной библиотеки Vosk с предобученной моделью для русского языка.