Массовое обновление активов независимыми значениями
Запрос
| Тип | Метод |
|---|---|
POST |
/service_assets/bulk_update |
Описание: метод позволяет массово обновить несколько активов, передав для каждого из них независимый набор полей и значений.
В отличие от метода массового обновления активов, который присваивает одинаковые значения всем указанным объектам, данный метод позволяет:
- передавать разные значения для разных активов;
- изменять разный набор полей для каждого актива.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/service_assets/bulk_update
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| items | Array<object> |
Required | Список активов и значений полей для обновления |
| items[].id | string (uuid) |
Required | ID изменяемого актива |
| items[].<поле> | — | Optional | Новое значение поля актива |
Массив items должен содержать не менее одного элемента.
Каждый элемент массива содержит обязательное поле id и поля модели актива, значения которых необходимо изменить. Состав изменяемых полей соответствует модели актива без связанных сущностей.
Пример тела запроса
{
"items": [
{
"id": "7bc42fd2-057c-4117-b367-8528bec75c80",
"<поле_1>": "<значение>"
},
{
"id": "3fda84cb-30e1-4ad5-bff5-f441031b3bf4",
"<поле_2>": "<значение>",
"<поле_3>": "<значение>"
}
]
}
Примечание: Для разных активов можно передавать разные наборы изменяемых полей и разные значения.
Успешный ответ
Статус код: 200 – запрос успешно обработан.
Формат: JSON.
Параметры ответа:
| Параметр | Тип данных | Описание |
|---|---|---|
| results | Array<object> |
Результаты обновления каждого актива |
| results[].id | string (uuid) |
ID актива |
| results[].error_code | integer |
Код результата обновления |
Возможные значения error_code:
| Код | Описание |
|---|---|
0 |
Актив успешно обновлен |
11003 |
Объект не найден или запрос на изменение не затронул объект |
11002 |
Ошибка выполнения запроса |
11011 |
Ошибка связанных данных (зависимости), если применимо |
Пример ответа
{
"results": [
{
"id": "7bc42fd2-057c-4117-b367-8528bec75c80",
"error_code": 0
},
{
"id": "3fda84cb-30e1-4ad5-bff5-f441031b3bf4",
"error_code": 11003
}
]
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Request |
Неверные параметры запроса или некорректные значения |
404 |
not found |
Один или несколько изменяемых активов не найдены |
409 |
— | Попытка присвоить объекту существующее уникальное значение атрибута |
500 |
Internal Server Error |
Другие ошибки при изменении объектов |
Возможные ошибки:
400—"Bad Request"— неверный тип параметра запроса либо отсутствует обязательный параметр;400—"items is empty"— списокitemsне передан;400—"id should be uuid format"— недопустимый формат ID;400—"exceeded maximum length for a value"— значение превышает максимально допустимую длину;404—"not found"— один или несколько объектов не найдены;409— попытка присвоить объекту существующее уникальное значение атрибута;500—"Internal Server Error"— другие ошибки при изменении объектов.
Пример ответа с кодом 400
{
"error": "items is empty"
}
Пример ответа с кодом 404
{
"error": "not found"
}
Пример ответа с кодом 500
{
"error": "Internal Server Error"
}