Обработка звонков за период

Запрос 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):
1
curl "<Asterisk IP>:8077/pbx/read_call?<параметры>"
Copied!
У метода есть два варианта использования параметров:
  • указать один или несколько идентификаторов звонка 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:
1
curl "<Asterisk IP>:8077/pbx/read_call?id=1234567890.1"
Copied!
Если требуется обработать несколько звонков, то можно через POST-запрос передать JSON-объект с массивом id :
1
curl "<Asterisk IP>:8077/pbx/read_call" \
2
-H "Content-Type: application/json" \
3
-d '{"id":["1111111111.1", "2222222222.2"]}'
Copied!

Использование границ периода

Границы периода определяются параметрами start_date и end_date . При этом параметр end_date опциональный, т.е. его можно не указывать, и в таком случае модуль обработает все звонки, начиная с start_date.
Параметры могут быть указаны в трёх видах:
  • Дата-время в формате ГГГГ-ММ-ДД чч:мм:сс. При отправке GET-запроса с таким параметром нужно заменить пробел на специальную последовательность %20, при отправке POST-запроса с параметрами в формате JSON это не требуется. Например, обработаем звонки за 25 мая 2021 с 10:30 до 22:00:
    1
    curl "<Asterisk IP>:8077/pbx/read_call?\
    2
    start_date=2021-05-25%2010:30:00&\
    3
    end_date=2021-05-25%2022:00:00"
    Copied!
  • Метка времени в формате UNIX-time (можно получить из ID звонка, - это число до точки; например, в звонке 1267568856.11 число 1267568856 является меткой времени). Например, обработаем звонки с 27 мая 2021 06:01:59 GMT, т.е. UNIX-time 1622138519:
    1
    curl "<Asterisk IP>:8077/pbx/read_call?start_date=1622138519"
    Copied!
  • Количество дней назад (отрицательное целое число). Например, обработать звонки за позавчера:
    1
    curl "<Asterisk IP>:8077/pbx/read_call?start_date=-2&end_date=-1"
    Copied!
    Пример обработки звонков за неделю:
    1
    curl "<Asterisk IP>:8077/pbx/read_call?start_date=-7"
    Copied!
    Также есть специальный вариант start_date=-0 - обработка звонков за сегодня (с полуночи по местному времени):
    1
    curl "<Asterisk IP>:8077/pbx/read_call?start_date=-0"
    Copied!

Скрипт для старых версий модуля

Скрипт использует запрос API модуля Itgrix /pbx/read_callс параметром id, который поддерживается, начиная с версий Itgrix_bx 3.3.3 (Битрикс24) и Itgrix_amo 2.5.2 (amoCRM).
Нужно войти в систему (сервер), на которой установлен модуль Itgrix, скачать и запустить скрипт.
Скачать скрипт для Битрикс24:
1
curl -OJ "https://bx24asterisk.ru/download/get_read_calls_script.php?crm=bx"
Copied!
Скачать скрипт для amoCRM:
1
curl -OJ "https://bx24asterisk.ru/download/get_read_calls_script.php?crm=amo"
Copied!
Использование:
Рассмотрим запуск на примере скрипта 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 - для вывода справки.
Примеры:
1
php read_calls_bx.php '2021-04-12 16:07:00' '2021-04-20 16:09:00'
Copied!
1
php read_calls_bx.php '2021-04-12 16:07:00' '2021-04-20 16:09:00' \
2
'http://<Asterisk IP>:8077'
Copied!

Скрипт без php-mysqli

По умолчанию скрипт использует php-mysqli для запроса в БД. Если по каким-то причинам php-mysqli недоступен, то можно воспользоваться CLC-версией (MySQL Command-Line Client) скрипта.
Скачать CLC-скрипт для Битрикс24:
1
curl -OJ "https://bx24asterisk.ru/download/get_read_calls_script.php?crm=bx&type=clc"
Copied!
Скачать CLC-скрипт для amoCRM:
1
curl -OJ "https://bx24asterisk.ru/download/get_read_calls_script.php?crm=amo&type=clc"
Copied!
Запуск такой же, как и для обычной (mysqli) версии скрипта кроме названия файла:
  • read_calls_bx_clc.php для Битрикс24;
  • read_calls_amo_clc.php для amoCRM.
Last modified 8h ago