REST API
Спецификация методов API находится по адресу https://developers.omnicomm.ru
Авторизация
В заголовке Authorization при вызове методов REST API (кроме методов авторизации) должен быть указан JWT-токен, предоставляющий права на использование REST API.
Формат JWT: JWT<пробел><JWT, полученный от метода авторизации>
Например:
Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTU3MDM1OTEsImxvZ2luIjoiYWR0...4ifQ.0I0CXcwWWxZWARE0eUEPOAvKd0prW_Uf0jbOMLnd5SI
Срок действия JWT указывается в payload-атрибуте exp в формате Unix Time Stamp в UTC. По истечении срока действия при запросе к методу, будет получена ошибка – ошибка 401 Unauthrized.
Получение JWT осуществляется с помощью метода POST /auth/login?jwt=1 или при истечении срока действия post /auth/refresh с передачей в заголовке Authorization refresh JWT, полученного при авторизации от post /auth/login?jwt=1.
Управление пользователями
Управление пользователями включает в себя добавление, удаление и блокировку пользователей в Omnicomm Online, получение списка всех пользователей Omnicomm Online.
Пользователь после авторизации имеет возможность получения данных по ТС.
Внешняя система, авторизовавшись под учетной записью пользователя (получив JWT с правами пользователя), может выполнять запросы от его имени.
Описание методов управления пользователями: https://developers.omnicomm.ru/#/Users/
Управление транспортными средствами
Для обработки данных по ТС в Omnicomm Online необходимо добавить профиль ТС.
ТС определяется уникальным строковым идентификатором (UUID), который присваивается при добавлении профиля ТС в Omnicomm Online, или идентификационным номер терминала.
Имеется возможность размещения ТС по группам, причем одно ТС может принадлежать разным группам. Так же настраивается доступ к группе ТС для пользователей. Группы ТС создаются при добавлении пользователя, а также в интерфейсе Omnicomm Online.
Описание методов управления ТС: https://developers.omnicomm.ru/#/Vehicles/
Управление геозонами
Геозоны - виртуальные области на карте, создаваемые пользователем в Оmnicomm Оnline. При создании геозоны указывается форма (многоугольник, окружность, линия) и привзяка к географическим координатам.
Геозоны используются для контроля местоположения ТС (вход / выход из геозоны) и различных параметров работы ТС, например, скоростного режима.
Описание методов управления геозонами: https://developers.omnicomm.ru/#/Geozones/
Работа с уведомлениями
Уведомления используются для оперативного оповещения пользователей о зафиксированных событиях.
Описание методов работы с уведомлениями: https://developers.omnicomm.ru/#/Notifications/
Отчеты
Отчёты используются для получения различных сведений по работе ТС.
Описание методов получения отчётов: https://developers.omnicomm.ru/#/Reports/
Видеосервис Omnicomm
Видеосервис Omnicomm обеспечивает управление видеотерминалами и предоставление видеоматериалов пользователю.
Основные функции сервиса:
- получение, хранение, изменение и предоставление данных профилей видеотерминалов
- получение, хранение, изменение и предоставление параметров заданий на загрузку видеофайлов
- выполнение заданий на загрузку видеофайлов
Описание методов работы с видеосервисом: https://developers.omnicomm.ru/#/VideoService/
Получение видеофрагмента
Данный раздел содержит типовой сценарий использования видеосервиса.
Для получения видеофрагмента:
1. Авторизуйтесь под учетной записью дилера или пользователя с правами на ТС и на использование видеосервиса: POST /auth/login?jwt=1
2. Получите видеопрофиль по ID терминала ТС: GET /service/ovms/api/profiles
3. Получите видеофайл:
- Создайте задание на получение видеофрагмента по полученному видеопрофилю: POST /service/ovms/api/tasks
- Периодически проверяйте статус задания: GET /service/ovms/api/tasks/{task_id}
- После получения статуса «done» по заданию запросите видеофайл:GET /service/ovms/api/tasks/file/{task_id}
Ограничения
Имеются ограничения на интенсивность запросов к REST API Onmicomm Online для защиты от DoS-атак и ошибок сторонних систем.
При превышении ограничений запросы к REST API блокируются для соответствующего IP-адреса или пользователя.
Неуспешные попытки авторизации
Не более 10 за 1 минуту с одного ip-адреса.
Авторизованные вызовы
Не более 180 за 1 минуту для одного пользователя.
Неавторизованные вызовы
Не более 60 за 1 минуту с одного ip-адреса.