Page tree

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

Skip to end of metadata
Go to start of metadata

Метод для сохранения настроек пользователя.

Создавать можно только пользовательские настройки.

Все настройки уникальны по Client, Account, Module, Key, ClientVersion.

Запрос:

URL:

POST https://api.url/v2.1/user/<user_id>/settings

Доп. Заголовки:

Accept - должен допускать "application/vnd.api+json".

Content-Type - должен быть "application/vnd.api+json".

Authorization - для передачи токена. Передается в формате: Bearer <access_token>.

Данные запроса:

Данные присылаются в формате JSON API. Формат данных аналогичен формату данных в ответе на запрос получения данных одиночного объекта, за исключением, что не должно указываться Id.

Ответ присылается в формате JSON API. В заголовке Location будет содержаться ссылку на созданные объект. В теле ответа будет полное описание созданной объекта.


ПолеОписание
data

Содержит объект в формате JSON API.

ПолеТипОписание
idintИдентификатор
typestringТип ресурса (всегда "setting")
attributesobjectОписание атрибутов см. ниже
relationshipsobject

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

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

ПолеТипNullableОписание
ModulestringнетТип Объекта / Модуль - служит для группировки настроек
KeystringнетКлюч / Название отдельной настройки
ValuejsonдаЗначение настройки, может быть любым json значением.
Versionintнет

Версия настройки.

При создании всегда 1.

Можно не указывать при создании.

ClientVersionintнет

Версия клиента.

Служит для предотвращения конфликтов форматов либо значений одной и той же настройки в разных версиях клиента.

UpdateDatedatetimeнет

Дата изменения настройки. Переданное значение игнорируется. Проставляется автоматически.

Описание связанных объектов.

ПолеТипNullableОписание
Clientclientнет

Идентификатор клиента.

Переданное значение игнорируется.

Проставляется автоматически сервером.

Accountuserда

Пользователь который сделал настройку.

Переданное значение игнорируется

Проставляется автоматически сервером.

Коды ответов:

201 Created - Сервер обработал запрос. В теле содержится созданный объект.

401 Unauthorized - не передан заголовок Authorization, либо токен не корректный либо окончился период действия.

403 Forbidden - нет прав на выполнение запроса.

400 Bad Request - Переданы не поддерживаемые параметры либо сервер не понял запрос (описание ошибки в теле ответа).


Пример

POST https://api.url/v2.1/user/1/settings HTTP/1.1
Accept: application/vnd.api+json
Authorization: Bearer <auth token>
 
{
    "data": {
        "type": "setting",
        "attributes": {
            "Module": "map",
            "Key": "only 1 window on map",
            "ClientVersion": 2,
            "Value": true,
        }
    }
}    

HTTP/1.1 201 Created
Content-Type: application/vnd.api+json
Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

{
    "links": {
        "self": "https://api.url/v2.1/user/1/settings/78"
    },
    "data": {
        "id": "78",
        "type": "setting",
        "attributes": {
            "Module": "map",
            "Key": "only 1 window on map",
            "ClientVersion": 2,
            "Value": true,
            "Version": 1,
            "UpdateDate": "2022-08-09T17:31:39Z"
        },
        "relationships": {
            "Account": {
                "data": {
                    "id": "1",
                    "type": "user"
                }
            },
            "Client": {
                "data": {
                    "id": "13",
                    "type": "client"
                }
            }
        }
    }
}

  • No labels