История и фоновые задачи
Обновлено
Импорт через настройки
После сохранения ключа 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, чтобы файлы оставались доступны веб-приложению.
Задание последовательно выполняет:
- Сверку недавней истории, если пришло время и разрешён расход баллов API.
- Обработку очереди записей.
- Проверку зависших звонков.
- Удаление скачанных файлов по сроку хранения.
Команда выводит 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 7CLI принимает число дней с минимумом 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 и не переносит аудиофайлы.