Page tree

Citypoint - контроль и аналитика автопарка

Skip to end of metadata
Go to start of metadata

Запрос:

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.

ПолеТипОписание
typestringТип ресурса (всегда "group")
attributesobjectДанные объекта (см. Описание атрибутов)
relationshipsobjectсвязанные объекты

Описание атрибутов:

ПолеТипNullableОписание
NamestringfalseНазвание группы
HiddenboolfalseСкрывать группу
DateOfCreationdatetimefalseДата создания группы, не обязательное поле игнорируется сервером
DeletableboolfalseМожно ли удалять группу, не обязательное поле игнорируется сервером
Type

string

falseТип группы (типы групп приведены ниже)

Типы Групп:

ТипОписание
groupОбычная группа
locationЛокация (машина может быть привязана только к одной из локаций)
departmentПодразделение (машина и водитель может быть только в одном подразделении)

Связанные объекты:

ПолеТипNullableОписание
CreatoruserfalseСоздатель, не обязательное поле, игнорируется сервером.
Carsarray<car>falseСписок связанных ТС
Driversarray<driver>falseСписок связанных водителей
Zonesarray<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"}
                ],
            }
        }
    }
}
  • No labels