Получение параметров Водителей.
Запрос:
URL:
Запрос параметров всех Водителей пользователя:
GET https://api.url/v2.1/user/<user_id>/drivers/params
Запрос параметров отдельного Водителя:
GET https://api.url/v2.1/user/<user_id>/drivers/params/<driver_id>
Доп. Заголовки:
If-Modified-Since - Если ранее уже запрашивался полный список параметров, то при обновлении следует указывать заголовок If-Modified-Since с датой полученной заголовка ответа Last-Modified
Accept - для указания формата ответа. Должен быть "application/vnd.api+json", для совместимости принимается также "application/json".
Authorization - для передачи токена. Передается в формате: Bearer <access_token>.
Доп. Параметры запроса:
Имя | Тип | Значение по умолчанию | Описание |
---|---|---|---|
page[offset] | int | 0 | Пропустить несколько первых записей |
page[limit] | int | 200 | Количество объектов в выводе |
fields[driverParams] | string | Фильтрация полей отображаемых в объектах. | |
filter[driverParams] | string | Фильтрация списка объектов. | |
sort | string | Сортировка (поддерживается только для полей Driver и Id) | |
include | string | Добавить связанные объекты в ответ. | |
with_defaults | bool | 1 | При отсутствии установленного параметра у объекта отображать значение по умолчанию. |
Ответ:
Ответ присылается в формате JSON API.
Поле | Описание | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
links | Поле links содержит ссылки на ресурсы. Минимально он должен содержать ссылку на текущий ресурс (self). Если Всех Водителей не удалось поместить в одном ответе то также будет содержаться next - следующая страница (если есть) prev - предыдущая страница (если есть) first - первая страница с результатами last - последняя страница с результатами | |||||||||||||||
meta | Содержит total_count - количество водителей у пользователя | |||||||||||||||
data | Содержит массив объектов Параметров Водителей в формате JSON API. Каждый объект содержит
|
Описание атрибутов:
Список атрибутов соответствует списку параметров объектов с типом "driver" в методе Список параметров объектов.
В качестве ключа всегда используется Code параметра. В качестве значения - значение для данного водителя.
Если у данного Водителя параметр не установлен, то его значение будет null.
Тип данных в значении соответствует типу указанному в ParameterType в методе Список параметров объектов.
Коды ответов:
200 ОК - Сервер обработал запрос. В теле ответа содержится список Параметров Водителей. Также будет передан заголовок Last-Modified.
304 Not Modified - Сервер обработал запрос. Изменения не найдены.
401 Unauthorized - не передан заголовок Authorization, либо токен невалидный или окончилась валидация.
403 Forbidden - нет прав на просмотр (id пользователя не соответствует токену).
404 Not Found - Водитель не найдена или принадлежит другому пользователю.
400 Bad Request - Переданы неподдерживаемые параметры, либо сервер не понял запрос (описание ошибки в теле ответа).
Также возможны другие ошибки.
Пример
Запрос списка всех параметров ТС:
GET https://api.url/v2.1/user/1/drivers/params HTTP/1.1 Accept: application/vnd.api+json Authorization: Bearer <auth token> HTTP/1.1 200 OK Content-Type: application/vnd.api+json Allow: GET Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT { "links": { "self": "http://api.url/v2.1/user/1/drivers/params", "first": "http://api.url/v2.1/user/1/drivers/params", "next": "https://api.url/v2.1/user/1/drivers/params?page[offset]=200&page[limit]=200", "last": "https://api.url/v2.1/user/1/drivers/params?page[offset]=400&page[limit]=200" }, "meta":{ "total_count": 450 }, "data": [ { "id": "2" "type": "driverParams", "attributes": { "DRIVER_LAST_DD_TRAINING": null, "BHI_DRIVER_LAST_COMMENTLY_TRAINING": null, "DRIVER_MED_EXAMINATION_EXPIRE_DATE": null, "DRIVER_PERSONNEL_NUMBER": null, "CAR_ODOMETER_LIMIT_ON_VACATION": null, "DRIVER_WINTER_DRIVING": null, "CHIEF_NAME": null, "DD_TRAINING_PROVIDER": null, "COMMENTLY_TRAINING_PROVIDER": null, "WINTER_DRIVING_TRAINING_PROVIDER": null, "DRIVER_DRIVE_LIMIT_DAY_HOUR": 10, "DRIVER_DRIVE_LIMIT_WEEK_HOUR": 40, "DRIVER_DRIVE_LIMIT_MONTH_HOUR": 240, "DRIVER_DRIVE_LIMIT_PER_DAYS": 21, "DRIVER_DRIVE_LIMIT_DAY_KM": 200 }, "relationships": { "Driver": { "data": { "id": "1", "type": "driver" } } } }, ... ] }