Массовое создание происшествий
Запрос
| Тип | Метод |
|---|---|
POST |
/occurrences/mass_create |
Описание: при выполнении запроса будут созданы происшествия из переданного списка.
Каждый объект обрабатывается отдельно. Перед созданием выполняется валидация данных. Если при обработке отдельного происшествия возникает ошибка, информация о ней возвращается в поле error соответствующего элемента массива results.
Если при создании происшествия возникает ошибка уникального ограничения, выполняется обновление существующего объекта по полям уникального ограничения, которые вызвали ошибку.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/occurrences/mass_create
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| items | Array<object> |
Required | Список происшествий для создания |
Каждый элемент массива items соответствует структуре тела запроса метода создания происшествия.
Пример тела запроса
{
"items": [
{
"<параметр>": "<значение>"
},
{
"<параметр>": "<значение>"
}
]
}
Примечание: Полный перечень параметров объекта
itemsсм. в разделе Создание происшествия.
Успешный ответ
Статус код: 200 – запрос успешно обработан.
Формат: JSON.
Параметры ответа:
| Параметр | Тип данных | Описание |
|---|---|---|
| results | Array<object> |
Список результатов обработки происшествий |
| results[].result | Occurrence или null |
Созданное или обновленное происшествие. Возвращается при успешной обработке объекта |
| results[].error | string или null |
Текст ошибки обработки объекта. Может содержать ошибку валидации, создания, обновления или другую ошибку обработки |
Для каждого элемента массива items в массиве results возвращается результат его обработки:
- при успешном создании или обновлении поле
resultсодержит объект происшествия, аerrorимеет значениеnull; - при ошибке поле
errorсодержит описание ошибки, аresultимеет значениеnull.
Пример ответа
{
"results": [
{
"result": {
"id": "7bc42fd2-057c-4117-b367-8528bec75c80"
},
"error": null
},
{
"result": null,
"error": "текст ошибки"
}
]
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Request |
Ошибка в теле запроса, список объектов не передан или не удалось обработать структуру запроса |
401 |
can't get user info |
Невозможно аутентифицировать пользователя |
500 |
Internal Server Error |
Другие ошибки сервера |
Возможные ошибки:
400—"Bad Request"— неверный тип параметра запроса либо отсутствует обязательный параметр;400—"read body: ..."— ошибка чтения тела запроса;400—"empty items"— список объектов не передан или пуст;400—"parse request: ..."— ошибка разбора запроса;400—"parse request to map: ..."— ошибка преобразования запроса;401—"can't get user info:"— невозможно аутентифицировать пользователя;500—"Internal Server Error"— другие ошибки сервера.
Примечание: Текст ошибки не фиксированный и может изменяться в зависимости от фактического ответа на запрос.
Пример ответа с кодом 400
{
"error": "empty items"
}
Пример ответа с кодом 401
{
"error": "can't get user info:"
}
Пример ответа с кодом 500
{
"error": "Internal Server Error"
}