Обработка звонков за период
Начиная с версии 3.13.0 (itgrix_bx) и 3.1.0 (itgrix_amo) у модуля используется SQLite база данных state.db для записи состояния обработки звонков, поэтому перед обработкой звонка нужно удалить сведения о нем из данной базы. Можно использовать команду:
delete from calls where linkedid='1740643771.7533';
Если по какой-то причине база данных модуля state.db была повреждена, нужно очистить её запуском команды
/opt/itgrix_bx/itgrix_bx --clean
В случае если была очищена БД Asterisk, в базе модуля нужно очистить last id (id с которого модуль будет читать события в базе телефонии) командой
/opt/itgrix_bx/itgrix_bx --clean --cleanlist i
Список всех команд можно посмотреть командой
/opt/itgrix_bx/itgrix_bx --help
Запрос API модуля Itgrix
Если по каким-то причинам модуль Itgrix был отключен, или если при первой установке есть желание обработать уже прошедшие звонки, то можно воспользоваться специальным запросом /pbx/read_call в API модуля Itgrix. С его помощью можно запустить обработку определённых звонков.
Запрос /pbx/read_call поддерживается начиная с версий Itgrix_bx 3.3.3 (Битрикс24) и Itgrix_amo 2.5.2 (amoCRM).
Например, можно сделать запрос с помощью curl (здесь <Asterisk IP> - это адрес сервера, на котором установлен модуль Itgrix, login:password - логин:пароль для админки модуля интеграции):
curl --digest -u login:password "<Asterisk IP>:8077/pbx/read_call?<параметры>"У метода есть два варианта использования параметров:
указать один или несколько идентификаторов звонка
id;указать дату начала периода
start_dateи (опционально) дату окончанияend_date(в этом случае модуль находит все записи CEL в указанных датах, берёт из нихlinkedidи обрабатывает звонки уже по ID).
Запрос/pbx/read_call с указанием периода поддерживается начиная с версий Itgrix_bx 3.4.0 (Битрикс24) и Itgrix_amo 2.6.0 (amoCRM).
В предыдущих версиях запрос поддерживает только параметр id. Для таких версий поддерживается специальный скрипт (см. раздел ниже).
Использование ID звонка
Если требуется обработать один звонок, то проще всего сделать GET-запрос с параметром id:
Если требуется обработать несколько звонков, то можно через POST-запрос передать JSON-объект с массивом id :
Использование границ периода
Границы периода определяются параметрами start_date и end_date . При этом параметр end_date опциональный, т.е. его можно не указывать, и в таком случае модуль обработает все звонки, начиная с start_date.
Параметры могут быть указаны в трёх видах:
Дата-время в формате
ГГГГ-ММ-ДД чч:мм:сс. При отправке GET-запроса с таким параметром нужно заменить пробел на специальную последовательность%20, при отправке POST-запроса с параметрами в формате JSON это не требуется. Например, обработаем звонки за 25 мая 2021 с 10:30 до 22:00:Метка времени в формате UNIX-time (можно получить из ID звонка, - это число до точки; например, в звонке 1267568856.11 число 1267568856 является меткой времени). Например, обработаем звонки с 27 мая 2021 06:01:59 GMT, т.е. UNIX-time 1622138519:
Количество дней назад (отрицательное целое число). Например, обработать звонки за позавчера:
Пример обработки звонков за неделю:
Также есть специальный вариант
start_date=-0- обработка звонков за сегодня (с полуночи по местному времени):
Сброс состояний выбранных шагов одного звонка для повторной обработки .
Если нужно повторно пройти отдельные стадии обработки одного звонка, можно воспользоваться запросом /crm/reset_state
call_id - указываем ID звонка
operations - указываем операции для сброса в формате "шаг" или "шаг.операция"
Список шагов/операций:
Пример запроса, который сбросит шаги 7 (прикрепление записи) и 8 (закрытие задач)
Скрипт для старых версий модуля
Скрипт использует запрос API модуля Itgrix /pbx/read_callс параметром id, который поддерживается, начиная с версий Itgrix_bx 3.3.3 (Битрикс24) и Itgrix_amo 2.5.2 (amoCRM).
Нужно войти в систему (сервер), на которой установлен модуль Itgrix, скачать и запустить скрипт.
Скачать скрипт для Битрикс24:
Скачать скрипт для amoCRM:
Использование:
Рассмотрим запуск на примере скрипта read_calls_bx.php для Битрикс24.
Для amoCRM всё то же самое, но скрипт называется read_calls_amo.php.
php read_calls_bx.php <дата-время начала> <дата-время конца>- обычное использование; по умолчанию URL модуля Itgrix будет получен из конфигурационного файла;php read_calls_bx.php <дата-время начала> <дата-время конца> <URL модуля>- если нужно указать нестандартный URL модуля Itgrix; ОБЯЗАТЕЛЬНО задавать со схемой (http:// илиhttps://);php read_calls_bx.php --help- для вывода справки.
Примеры:
Скрипт без php-mysqli
По умолчанию скрипт использует php-mysqli для запроса в БД. Если по каким-то причинам php-mysqli недоступен, то можно воспользоваться CLC-версией (MySQL Command-Line Client) скрипта.
Скачать CLC-скрипт для Битрикс24:
Скачать CLC-скрипт для amoCRM:
Запуск такой же, как и для обычной (mysqli) версии скрипта кроме названия файла:
read_calls_bx_clc.phpдля Битрикс24;read_calls_amo_clc.phpдля amoCRM.
Last updated