Skip to main content

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 упрощает процесс обновления нескольких локаций в одной операции. Чтобы гарантировать успешное обновление:

  1. Используйте корректный формат JSON в теле запроса.
  2. Включите все обязательные поля (например, id).
  3. Убедитесь, что все id соответствуют существующим локациям.