Методы API
Перечень методов API по группам с указанием назначения каждого. Схемы запросов и ответов приведены в Swagger UI (nav.gpspos.ru/api/docs), где методы можно выполнить из браузера.
Пути указаны с префиксом /api/, принятым в типовой установке (см.
базовый путь). Все методы, кроме получения токена, требуют заголовок
Authorization: Bearer <токен> и возвращают данные в рамках
прав доступа пользователя.
Авторизация
POST /api/Token— получение токена по логину и паролю; см. Авторизация.
Объекты
GET /api/Profile— сводные данные пользователя: доступные объекты, геозоны, иконки объектов и текущее время сервера.GET /api/Objects,GET /api/Objects/{id}— список объектов мониторинга и карточка одного объекта со всеми полями.GET /api/Objects/lite,GET /api/Objects/lite/{id}— то же в сокращённом составе полей.POST /api/Objects,PUT /api/Objects,DELETE /api/Objects/{id}— создание, изменение и удаление объекта.DELETE /api/Objects/delete— удаление нескольких объектов по списку идентификаторов.GET /api/Objects/byimei/{imei},GET /api/Objects/byname/{name}— поиск объекта по IMEI и по наименованию.GET /api/Objects/imei/{imei}/available— проверка доступности IMEI перед созданием объекта.GET /api/Objects/company/{companyId}— объекты указанной компании.GET /api/Objects/models— справочник моделей поддерживаемых устройств.GET /api/Objects/Icons,GET /api/Objects/TrendIcons,POST /api/Objects/geticons— справочники иконок объектов и датчиков.POST /api/Objects/seticon/{iconId}— назначение иконки списку объектов.GET /api/Objects/odometer/{objectId}— текущее значение одометра.PUT /api/Objects/SyncOdometer/{id}/{value},PUT /api/Objects/SyncEngineTime/{id}/{value}— синхронизация одометра и счётчика моточасов с показаниями приборной панели.POST /api/Objects/setowner— передача объектов другому владельцу.POST /api/Objects/payedtill— установка даты оплаты объекта.GET /api/Objects/Groups,GET /api/Objects/Groups/{id},POST,PUT,DELETE /api/Objects/Groups/{id}— группы объектов.
Текущее состояние
GET /api/ObjectsStatus— текущее состояние всех доступных объектов: последняя позиция, показания датчиков, приложенные ключи водителей, сводная статистика.GET /api/ObjectsStatus/{id}— текущее состояние одного объекта.
История и треки
POST /api/ObjectsHistory— трек, события, показания датчиков и файлы объекта за интервал длительностью не более одного месяца.POST /api/ObjectsHistory/Common— смены водителей, суточная статистика и задания по одному объекту или по всем объектам пользователя.POST /api/ObjectsHistory/DriverSessions,POST /api/ObjectsHistory/DriverSessions/{objectId}— сессии водителей за интервал.POST /api/ObjectsHistory/DailyStat,POST /api/ObjectsHistory/DailyStat/{objectId}— суточная статистика.POST /api/ObjectsHistory/Events,POST /api/ObjectsHistory/Events/{objectId}— события за интервал.POST /api/ObjectsHistory/ParkingMoto— стоянки и работа двигателя.POST /api/ObjectPackets— пакеты, полученные от устройства объекта за интервал, в исходном виде.POST /api/ObjectHistoryImport/import— постановка задачи импорта истории; возвращает идентификатор операции.GET /api/ObjectHistoryImport/import/status/{operationId}— состояние задачи импорта.
События
GET /api/Events/feed— неквитированные события для ленты оповещений, без событий из групп, отключённых пользователем.GET /api/Events— тот же перечень без указанной фильтрации.POST /api/Events/ack— квитирование событий по списку идентификаторов. Неквитированное событие возвращается в каждом последующем ответе.GET /api/EventSettings,GET /api/EventSettings/{id},POST,PUT,DELETE /api/EventSettings/{id}— настройки событий.GET /api/EventSettingsGroups,GET /api/EventSettingsGroups/{id},POST,PUT,DELETE /api/EventSettingsGroups/{id}— группы настроек событий.
Отчёты
GET /api/ReportTemplates,GET /api/ReportTemplates/{id}— шаблоны отчётов.PUT /api/ReportTemplates,DELETE /api/ReportTemplates/{id}— изменение и удаление шаблона.GET /api/ReportTemplates/GetReportTypes— справочник доступных типов отчётов.GET /api/ReportTemplates/GetReportColumns/{reportType}— состав колонок для указанного типа отчёта.GET /api/ReportTemplates/GetReportResult/{id}— результат ранее построенного отчёта.POST /api/Reports/Moto— отчёт по работе оборудования (зажигание, спецмеханизмы) за интервал.POST /api/Reports/GeozoneVisit— отчёт по посещениям геозон.POST /api/Reports/Counters— отчёт по счётчикам объекта.POST /api/Reports/Fuel— отчёт по топливу.
Создание шаблона отчёта и запуск отчёта по шаблону используют один путь POST /api/ReportTemplates,
в связи с чем вызов завершается ошибкой. Ограничение будет устранено в одной из следующих версий.
Построение отчётов доступно в веб-интерфейсе, раздел Отчёты; результат
возвращается методом GET /api/ReportTemplates/GetReportResult/{id}.
Геозоны
GET /api/Geozones— перечень геозон.POST /api/Geozones,PUT /api/Geozones,DELETE /api/Geozones/{id}— создание, изменение и удаление геозоны.GET /api/Geozones/Groups,GET /api/Geozones/Groups/{id},POST,PUT,DELETE /api/Geozones/Groups/{id}— группы геозон.
Водители
Для перечисленных ниже сущностей предусмотрен единый набор методов: GET — перечень,
GET /{id} — одна запись, POST — создание, PUT — изменение, DELETE /{id} — удаление.
/api/Drivers— водители;/api/DriverGroups— группы водителей./api/DriverKeys— ключи и метки водителей;/api/DriverKeyGroups— группы ключей./api/DriverShifts— смены водителей./api/DriverPenalties— штрафы водителей; доступны толькоGETиPUT.
Команды
POST /api/Commands/run— отправка команды на список объектов по шаблону или произвольной строкой. Успешный ответ означает постановку команды в очередь на отправку устройству.GET /api/CommandTemplates,POST,PUT,DELETE /api/CommandTemplates/{id}— шаблоны команд.
Пользователи и компании
Методы доступны пользователям с правами администрирования.
GET /api/Users,GET /api/Users/{id},POST,PUT,DELETE /api/Users/{id}— пользователи Системы.GET /api/Companies,GET /api/Companies/{id},POST /api/Companies,PUT /api/Companies— компании.GET /api/Companies/statistics— сводная статистика по компаниям.
Геокодер и файлы
POST /api/ReverseGeocoder— определение адресов по списку координат.POST /api/ObjectFiles— поиск файла, полученного с устройства (фотография, видео).GET /api/ObjectFiles/{id}— загрузка тела файла.PUT /api/ObjectFiles/{id},PUT /api/ObjectFiles/{id}/{time}— прикрепление файла к объекту. Методы принимаютmultipart/form-data.