К содержимому
Интеграции

История и фоновые задачи

Обновлено

Импорт через настройки

После сохранения ключа API и загрузки номеров откройте CRM → Плагины → Телефония UIS → История звонков. В поле «Загрузить звонки» укажите от 1 до 90 дней и нажмите «Загрузить из UIS». При открытии страницы предложено 30 дней.

Плагин получает отчёт UIS и обрабатывает только завершённые сессии. Результат содержит число звонков в отчёте, новых, обновлённых и пропущенных. Новые звонки из отчёта создаются без всплывающего уведомления. Подходящие записи разговоров ставятся в очередь.

Звонок можно распознать по загруженному сотруднику или линии. Если оба неизвестны плагину, сессия пропускается. Привязки пользователей CRM определяют назначение и видимость звонка; настройте их до импорта.

Уже известные новому плагину сессии обновляются, а сессии старого плагина uis пропускаются. За одно получение отчёта код загружает не более 20 страниц по 1000 строк. Для большой истории учитывайте этот предел: кнопка не гарантирует получение всех звонков за период при превышении 20 000 строк.

Системный cron

Добавьте в crontab пользователя сайта строку запуска раз в пять минут. Используйте полный путь своей установки и подходящий PHP CLI с необходимыми расширениями:

*/5 * * * * php /path/to/webasyst/cli.php crm ewcrmuisPluginCron

/path/to/webasyst — пример, замените его реальным корнем установки. Готовая строка с путём установки показывается в настройках при предупреждении о cron. Запускайте задание от пользователя сайта, а не root, чтобы файлы оставались доступны веб-приложению.

Задание последовательно выполняет:

  1. Сверку недавней истории, если пришло время и разрешён расход баллов API.
  2. Обработку очереди записей.
  3. Проверку зависших звонков.
  4. Удаление скачанных файлов по сроку хранения.

Команда выводит JSON с результатами шагов и массивом errors. Вывод skipped означает, что запуск пропущен: например, нет сохранённого ключа или действует блокировка другого запуска. Наличие времени запуска в настройках само по себе не означает успешное выполнение всех шагов.

В блоке «6. Состояние» проверьте «Фоновые задачи». Если CLI ещё не запускался либо не запускался более 15 минут, появляется предупреждение.

Что делает фоновая сверка

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

Зависшие звонки проверяются начиная с возраста 30 минут. Запрос отчёта для одного звонка выполняется не чаще раза в 15 минут. Если звонку больше трёх часов и получить завершающие данные не удалось, он может быть закрыт по текущему состоянию: соединённый — как завершённый, ожидающий — как прерванный.

При известном актуальном остатке менее 20% суточного лимита приостанавливаются сверка истории, поиск ссылок записей и запросы проверки зависших звонков. Приём уведомлений продолжается. Общий лимит не задан плагином: он берётся из ответа UIS.

При работе CRM возможен резервный запуск из бэкенда не чаще раза в 10 минут. Он зависит от активности CRM и не заменяет системный cron.

Ручной импорт через CLI

Следующие команды выполняйте в окружении своей установки. Первая импортирует последние 30 дней по умолчанию, вторая — указанный период:

php /path/to/webasyst/cli.php crm ewcrmuisPluginImport
php /path/to/webasyst/cli.php crm ewcrmuisPluginImport 7

CLI принимает число дней с минимумом 1, без ограничения интерфейса в 90 дней. Фактическая глубина истории зависит от отчёта UIS; предел числа страниц остаётся тем же.

Для сохранённого отчёта:

php /path/to/webasyst/cli.php crm ewcrmuisPluginImport --file /path/to/report.json

Поддерживается массив строк отчёта либо объект с ключом calls. Если в объекте одновременно есть employees, sip_lines и virtual_numbers, перед импортом заменяется сохранённый справочник сотрудников и линий. Используйте только подготовленный для нужного аккаунта файл: это действие меняет справочник.

Строки calls должны соответствовать отчёту UIS get.calls_report, включая идентификатор и время завершения сессии. Файл отчёта не заменяет настройки пользователей CRM и не переносит аудиофайлы.