Запрос:
URL:
Все группы пользователя:
POST https://api.url/v2.1/user/<user_id>/groups
Доп. Заголовки:
Content-Type - формат запроса. Должно быть "application/vnd.api+json"
Accept - указание формата ответа. Должно допускать "application/vnd.api+json"
Authorization - для передачи токена. Передается в формате: Bearer <access_token>.
Данные запроса:
Данные присылаются в формате JSON API. Формат данных аналогичен формату данных в ответе на запрос получения данных, за исключением, что не должно указываться Id.
Поля DateOfCreation, Deletable, Creator не требуются, они допускаются для соответствия формату получения данных, но сервер его игнорирует.
Ответ присылается в формате JSON API. В заголовке Location будет содержаться ссылка на пользователя. В теле ответа будет полное описание созданной группы.
Поле | Описание | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | Содержит данные в формате JSON API.
|
Описание атрибутов:
Поле | Тип | Nullable | Описание |
---|---|---|---|
Name | string | false | Название группы |
Hidden | bool | false | Скрывать группу |
DateOfCreation | datetime | false | Дата создания группы, не обязательное поле игнорируется сервером |
Deletable | bool | false | Можно ли удалять группу, не обязательное поле игнорируется сервером |
Type | string | false | Тип группы (типы групп приведены ниже) |
Типы Групп:
Тип | Описание |
---|---|
group | Обычная группа |
location | Локация (машина может быть привязана только к одной из локаций) |
department | Подразделение (машина и водитель может быть только в одном подразделении) |
Связанные объекты:
Поле | Тип | Nullable | Описание |
---|---|---|---|
Creator | user | false | Создатель, не обязательное поле, игнорируется сервером. |
Cars | array<car> | false | Список связанных ТС |
Drivers | array<driver> | false | Список связанных водителей |
Zones | array<zone> | false | Список связанных зон. (не обязательное поле) |
Коды ответов:
201 Created - Сервер обработал запрос. В теле ответа содержится список групп. Также будет передан заголовок Last-Modified.
304 Not Modified - Сервер обработал запрос. Изменения не найдены.
401 Unauthorized - не передан заголовок Authorization, либо токен невалидный или окончилась валидация.
403 Forbidden - нет прав на просмотр (id пользователя не соответствует токену или запрошена группа не принадлежащая пользователю).
404 Not Found - запрошенная группа не найдена.
400 Bad Request - Переданы неподдерживаемые параметры, либо сервер не понял запрос (описание ошибки в теле ответа).
Пример:
Запрос списка всех групп:
POST https://api.url/v2.1/user/1/groups HTTP/1.1 Accept: application/vnd.api+json Content-Type: application/vnd.api+json { "links": { "self": "http://api.url/v2.1/user/1/groups", "first": "http://api.url/v2.1/user/1/groups", "next": "https://api.urlv2.1/user/1/groups?page[offset]=100&page[limit]=100", "last": "https://api.url/v2.1/user/1/groups?page[offset]=100&page[limit]=100" }, "data": [ { "type": "group", "id": "1", "attributes": { "Name": "just group", "Hidden": 1, "Type": 0, "Deletable": 1, "DateOfCreation": "2014-10-09T16:04:19Z" }, "relationships":{ "Creator": { "data": {"type": "user", "id":"1"} }, "Cars": { "data": [ {"type": "car", "id":"1"}, {"type": "car", "id":"2"}, {"type": "car", "id":"3"}, {"type": "car", "id":"4"} ] }, "Drivers": { "data": [], }, "Zones": { "data": [], } } }, { "type": "group", "id": "2", "attributes": { "Name": "another group", "Hidden": 1, "Type": 0, "Deletable": 1, "DateOfCreation": "2014-10-09T16:04:19Z" }, "relationships":{ "Creator": { "data": {"type": "user", "id":"1"} }, "Cars": { "data": [] }, "Drivers": { "data": [], }, "Zones": { "data": [], } } }, { "type": "group", "id": "3", "attributes": { "Name": "ru cars", "Hidden": 0, "Type": 1, "Deletable": 0, "DateOfCreation": "2014-10-10T16:04:19Z" }, "relationships":{ "Creator": { "data": {"type": "user", "id":"1"} }, "Cars": { "data": [ {"type": "car", "id":"1"} ] }, "Drivers": { "data": [], }, "Zones": { "data": [], } } }, ... остальные группы ... ], "meta":{ "total_count": 200 } } { "data": { "type": "group", "id": "1", "attributes": { "Name": "just group", "Hidden": 1, "Type": 0, "DateOfCreation": "2014-10-09T16:04:19Z" }, "relationships":{ "Cars": { "data": [ {"type": "car", "id":"1"}, {"type": "car", "id":"2"}, {"type": "car", "id":"3"}, {"type": "car", "id":"4"} ] }, "Drivers": {"data": []}, "Zones": { "data": [ {"type": "zone", "id":"4"} ], } } } } HTTP/1.1 201 Created 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/groups/1", }, "data": { "type": "group", "id": "1", "attributes": { "Name": "just group", "Hidden": 1, "Type": 0, "DateOfCreation": "2014-10-09T16:04:19Z" }, "relationships":{ "Creator": { "data": {"type": "user", "id":"1"} }, "Cars": { "data": [ {"type": "car", "id":"1"}, {"type": "car", "id":"2"}, {"type": "car", "id":"3"}, {"type": "car", "id":"4"} ] }, "Drivers": {"data": []}, "Zones": { "data": [ {"type": "zone", "id":"4"} ], } } } }