PATCH - Массовое обновление локаций
Эндпоинт PATCH /locations/batch
предназначен для обновления информации о нескольких локациях в одном запросе. Обновление каждой локации указывается с помощью её уникального id
, а также полей, которые нужно изменить.
Формат запроса
HTTP Метод: PATCH
Эндпоинт: /locations/batch
Пример тела запроса:
[
{
"id": "638b90c5-7965-49ae-a02b-1b190cb216db",
"name": "W002"
}
]
- id: Уникальный идентификатор локации для обновления (обязательный, формат UUID).
- name, address, latitude, longitude, tags: Необязательные поля для обновления. Будут изменены только указанные поля.
Успешный ответ
Код ответа:
200 OK
Пример тела ответа:
[
{
"id": "638b90c5-7965-49ae-a02b-1b190cb216db",
"name": "W001",
"address": "Walmart 11,197",
"latitude": 51.0966229,
"longitude": -138.491986,
"tags": [
"tag1"
],
"graphicPlanIds": [
"3a1da1c9-0873-4bdc-b1f1-7343b29fdc27",
"14b8ec6b-8ee2-4533-aedd-b82691f19af2"
]
}
]
Каждый объект в ответе представляет обновлённые данные для локации.
Ошибки
400 Bad Request - Неверные данные запроса
Происходит, когда в запросе отсутствуют обязательные поля или данные некорректны.
Пример тела ответа:
{
"message": "invalid input data",
"code": "input.data.invalid",
"timestamp": "2023-03-07T05:57:59.315Z",
"details": [
{
"message": "must not be null",
"code": "input.data.invalid",
"identifier": "locationRequests[0].id"
}
]
}
Решение:
- Убедитесь, что каждый объект обновления содержит корректный
id
. - Проверьте отсутствие или некорректность данных в теле запроса.
404 Not Found - Ресурс не найден
Происходит, когда один или несколько указанных id
не соответствуют существующим локациям.
Пример тела ответа:
{
"message": "resource wasn't found",
"code": "not.found",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Убедитесь, что все
id
в запросе соответствуют существующим локациям.
406 Not Acceptable - Несоответствие типа контента
Происходит, когда тип контента или формат данных в запросе не поддерживаются сервером.
Пример тела ответа:
{
"message": "mismatch in the types of content",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Убедитесь, что заголовок
Content-Type
установлен в значениеapplication/json
.
500 Internal Server Error - Внутренняя ошибка сервера
Происходит, когда возникает неожиданная ошибка на сервере.
Пример тела ответа:
{
"message": "internal server error",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Попробуйте повторить запрос позже или обратитесь в техническую поддержку.
Заключение
Эндпоинт PATCH /locations/batch
упрощает процесс обновления нескольких локаций в одной операции. Чтобы гарантировать успешное обновление:
- Используйте корректный формат JSON в теле запроса.
- Включите все обязательные поля (например,
id
). - Убедитесь, что все
id
соответствуют существующим локациям.