Метод для получения истории ключей водителей. Возвращает историю по всем ключам, для получения истории по отдельному ключу используйте фильтрацию.
Метод возвращает исторические данные, внутри объектов могут быть ссылки на уже не существующие ресурсы (например, удаленные водители).
Запрос:
URL:
Полный список:
GET https://api.url/v2.1/user/<user_id>/drivers/keys/history
Запрос записи истории по id:
GET https://api.url/v2.1/user/<user_id>/drivers/keys/history/<hist_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 | 2000 | Количество объектов в выводе |
fields | string | Фильтрация полей в объектах | |
filter[driverKeyHistory] | string | Фильтрация объектов | |
sort | string | Сортировка объектов | |
include | string | Отобразить связанные объекты |
Ответ:
Ответ присылается в формате JSON API.
Поле | Описание | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
links | Поле links содержит ссылки на ресурсы. Минимально он должен содержать ссылку на текущий ресурс (self). Если все данные не удалось поместить в одном ответе, то также будет содержаться next - следующая страница (если есть) prev - предыдущая страница (если есть) first - первая страница с результатами last - последняя страница с результатами | |||||||||||||||
meta | Содержит total_count - количество записей истории по ключам | |||||||||||||||
data | Содержит массив объектов в формате JSON API. Каждый объект
|
Описание атрибутов:
Поле | Тип | Nullable | Фильтрация | Описание |
---|---|---|---|---|
Status | string | нет | да | Новый статус ключа new - новый, ещё не использовался not_used - сейчас не используется linked - закреплён за водителем lost - потерян (В Driver будет кто утерял). |
Action | string | нет | да | Действие совершённое с ключом. found - ключ найден created - ключ создан bind - ключ привязан к водителю unbind - ключ отвязан от водителя loose - ключ потерян |
AccountName | string | да | да | Имя пользователя который совершил действие |
DateOfCreation | datetime | нет | да | Дата создания / совершения действия |
Связанные объекты
Поле | Тип | Nullable | Фильтрация | Описание |
---|---|---|---|---|
Driver | object<driver> | да | да | Новый водитель ключа |
DriverKey | object<driverKey> | нет | да | Ссылка на ключ |
Коды ответов:
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/keys/history 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": "https://cur.api.citypoint.ru/user/1/drivers/keys/history }, "meta": { "total_count": 12 }, "data": [ { "id": "12", "type": "driverKeyHistory", "attributes": { "Status": "linked", "Action": "found", "CreationDate": "2017-08-30T10:51:18Z" }, "relationships": { "DriverKey": { "data": { "id": "1", "type": "driverKey" } }, "Driver": { "data": { "id": "1", "type": "driver" } } } }, { "id": "13", "type": "driverKeyHistory", "attributes": { "Status": "not_used", "Action": "unbind", "CreationDate": "2020-12-28T14:38:16Z" }, "relationships": { "DriverKey": { "data": { "id": "1", "type": "driverKey" } }, "Driver": { "data": null } } }, ... ] }