Omnicomm изменил API: что сломалось в отчётах и как мы нашли причину
Интеграции · 7 октября 2026 · Контроль Техники
За четыре дня сентября 2026 года мы столкнулись сразу с несколькими изменениями в API Omnicomm. Часть из них не сопровождалась уведомлением, и о проблеме мы узнавали по упавшим отчётам.
Мы собираем отчёты для клиентов с помощью API Omnicomm: рассылки по расписанию, панели по сменам и рейсам, отчёты по геозонам. Поэтому изменения вендора видим сразу. Вот что мы заметили.
Хронология
| Дата | Что изменилось | Последствие |
|---|---|---|
| 24–25.09 | Отчёт по геозонам стал требовать параметр minDurationTime (минимальная длительность визита, секунды, больше нуля). Визиты короче примерно 2 минут перестали отдаваться | Отчёт по геозонам за период не был собран и отправлен. За сутки визитов стало 800 вместо 2 125 |
| к 28.09 | Сводный отчёт принимает не более 10 машин в запросе (раньше мы отправляли 50). Ответ: ошибка 400 «Too big: <=10 items» | Упали отчёты нескольких клиентов и панель участка |
| 28.09 | Адрес отчёта о событиях топлива сменился (старый стал отдавать страницу 404), появился обязательный параметр, добавились парные события конца заправки и слива | Панели участка показывали топливо без заправок, при этом задачи оставались «зелёными» |
| 28.09 | В отчёте по геозонам стал обязательным параметр outsideGeozones | Не собрался отчёт ещё одного клиента |
Самое опасное: тихие ошибки
Падающая задача заметна: приходит алерт. Опаснее случай, когда ошибка проглатывается. Мы нашли такой в разборе событий топлива: при ответе 404 функция тихо возвращала «ничего», а отчёт строился дальше без заправок. Расчёты выглядели нормально, но были неверными. Этот случай потом стоил нам 561 литра расхождения, о нём отдельная статья.
Что мы сделали
- Добавили нарезку запросов по 10 машин и ограничение на нашей стороне.
- Явно передаём обязательные параметры (
minDurationTime,outsideGeozones) во всех вызовах. - Убрали проглатывание ошибок: нет событий топлива — значит, расчёт падает.
- Перезапустили упавшие задачи и дослали пропущенные отчёты 28–29 сентября.
Чек-лист для вашей интеграции
- Не обрабатывайте ошибки API как «пусто». Пустой ответ и ошибка — разные вещи.
- Включите алерты не только на падение, но и на подозрительно маленькие объёмы (визитов, событий, строк).
- Режьте запросы на небольшие партии: лимиты вендора со временем меняются.
- После любого сбоя API сверяйте итоговые суммы за период, а не только успешность запуска.
Если у вас своя интеграция с Omnicomm и вам нужна проверка, свяжитесь с нами.
Читайте также