Публичный API [3.0]: Получение расширенного списка ТС
Описание метода
Метод применяется для получения расширенного списка ТС.
Предусловия
- Требуется аутентификация
- Требуется OAuth 2.0 scope "units:read"
- Элементы "items" в теле ответа фильтруются по наличию роли с ApiScope "units:read" и доступом к Units.OwnerCompanyId или Units.ScopesWithAccess
- Поле ScopesWithAccess фильтруется по наличию роли с ApiScope "scopes:read" и доступом к самому элементу массива - ScopesWithAccess[].Id
Формат запроса (Request body)
Метод запроса: POST/public/units/search
Метод доступен по ссылке.
| Атрибут | Тип | Обязательность | Описание |
| ids | UUID[] | Нет | Идентификаторы ТС |
| page | Integer | Нет | Номер страницы |
Пример запроса:
{
"ids": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"page": 0
}
Формат ответа (Responses Code)
В случае успеха метод возвращает ответ с кодом 200 и телом ответа в формате JSON:
| Атрибут | Тип | Обязательность | Описание | |
| items | Object[] | Да | Массив результатов | |
| Id | UUID | Нет | Идентификатор ТС | |
| TerminalId | UUID | Нет | Привязанный идентификатор терминала | |
| Name | String | Да | Наименование ТС | |
| GarageNumber | String | Нет | Гаражный номер ТС | |
| StateNumber | String | Нет | Гос. номер ТС | |
| Description | String | Нет | Комментарий | |
| Model | String | Нет | Модель ТС | |
| Type |
Enum:
|
Да | Тип ТС | |
| Brand | String | Нет | Марка ТС | |
| VinNumber | String | Нет | VIN номер ТС | |
| Registration | String | Нет | Техпаспорт ТС | |
| Year | String | Нет | Год выпуска ТС | |
| Color | String | Нет | Цвет ТС | |
| OlsonId | String | Нет | Часовой пояс ТС | |
| Power | String | Нет | Мощность ТС | |
| CarPark | String | Нет | Автопарк | |
| Region | String | Нет | Регион эксплуатации ТС | |
| OwnerCompanyId | UUID | Да | Идентификатор компании-владельца ТС | |
| ScopesWithAccess | String[] | Да | Идентификатор компаний, которым предоставлен доступ | |
| isLast | Boolean | Да | Признак последней части | |
Пример ответа:
{
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"terminalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"garageNumber": "string",
"stateNumber": "string",
"description": "string",
"model": "string",
"type": "None",
"brand": "string",
"vinNumber": "string",
"registration": "string",
"year": "string",
"color": "string",
"olsonId": "string",
"power": "string",
"carPark": "string",
"region": "string",
"ownerCompanyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"scopesWithAccess": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
],
"isLast": true
}
В случае ошибок авторизации или валидации запроса метод возвращает код, соответствующий ошибке, и тело в формате JSON, соответствующее формату Problem Details:
| Тело ответа | Тип | Обязательность | Описание | |
| type | String | Да | Тип ошибки | |
| title | String | Да | Человекочитаемая расшифровка типа ошибки (универсальная для всех запросов) | |
| detail | String | Нет | Комментарий к ошибке (специфичный для этого запроса) | |
| errors | Object[] | Нет | Массив детализированных ошибок | |
| key | enum ErrorKey | Да | Тип ошибки | |
| 401 | Unautorized | Токен невалидный или истек срок действия | ||
| 400 | ValidationError | Некорректный формат тела запроса | ||
| 404 | UnitNotFound | Запрашиваемое по Id ТС не найдено в системе | ||
| 404 | PageNotFound | Запрашиваемая страница не найдена (page меньше минимального значения или page больше максимального значения) | ||
| 500 | InternalError | Произвольная ошибка на сервере | ||
| values | String[] | Да | Список сообщений к данной ошибке | |