Перейти к содержанию

Массовое обновление активов независимыми значениями

Запрос

Тип Метод
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"
}