Обновление локации

POST /v1/location/update

POST/v1/location/update

Если в одном запросе передано несколько записей с одинаковым location_id, при обработке учитывается последняя запись, предыдущие игнорируются.

Тело запроса

locations
array
Список локаций для обновления. Максимальное количество локаций в одном запросе — 200.
LocationUpdateItem
Показать свойства
LocationUpdateItem
merchant_location_id
string
Идентификатор локации продавца (опционально).
location_id
string
Идентификатор локации.
location_types
array
Типы локации; элементы — WAREHOUSE (склад), PICKUP_POINT (пункт выдачи) или CLICK_AND_COLLECT (пункт самовывоза). При обновлении набор может менять допустимую схему данных и валидацию полей локации.
Тип локации в массиве location_types. - WAREHOUSE: склад. - PICKUP_POINT: пункт выдачи. - CLICK_AND_COLLECT: пункт самовывоза (Click & Collect).
name
string
Новое название.
delivery_type
string
Тип доставки или выдачи (опционально).
Допустимые значения
COURIERPICKUP_POINTCLICK_AND_COLLECT
address_tail
string
Адрес в текстовом формате. Обязателен при delivery_type = COURIER (опционально). Формат: «196653, Россия, г. Санкт-Петербург, г. Колпино, ул. Октябрьская, д. 77/27, подъезд 1, этаж 3, кв. 12».
comment
string
Комментарий к доставке или адресу (опционально).
latitude
number
Широта (опционально).
longitude
number
Долгота (опционально).
provider_id
string
Идентификатор провайдера доставки (опционально).
Допустимые значения
CDEKBOXBERRY5POSTRUSSIAN_POSTYANDEXSBLMVIDEO
provider_location_id
string
Идентификатор локации у провайдера доставки (опционально).
pickup_point_type
string
Тип пункта выдачи. - PICKUP_POINT: пункт выдачи. - POSTAMAT: постамат.
Допустимые значения
PICKUP_POINTPOSTAMAT
payment_methods
array
Доступные способы оплаты на точке (опционально).
Способ оплаты на точке. - ALREADY_PAID: предоплаченные заказы. - CARD: оплата картой. - CASH: оплата наличными.
storage_period_days
integer
Число дней хранения заказа на точке (опционально).
limits
object
Предельные габариты и вес заказа для точки (ВГХ, см и кг).
Показать свойства
length
number
Максимальная длина заказа, см.
width
number
Максимальная ширина заказа, см.
height
number
Максимальная высота заказа, см.
weight
number
Максимальный вес заказа, кг.
instruction
string
Инструкция как добраться для отображения на витрине (опционально).
pickup_services
array
Дополнительные услуги пункта выдачи (опционально).
Дополнительная услуга ПВЗ. - FITTING: возможна примерка.
working_schedule
array
Расписание работы.
LocationWorkingSchedule
Показать свойства
LocationWorkingSchedule
day
string
День недели.
Допустимые значения
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY
schedule
object
Расписание на день.
Показать свойства
time_start
string
Время начала, формат «00:00».
time_end
string
Время окончания, формат «00:00».
break
string
Перерыв, формат «13:00–14:00».
shipping_cutoff
string
Время, после которого отсчёт слота доставки начнётся со следующего дня. Формат «16:30». Если пустое — не применяется.
individual_schedule
array
Индивидуальное расписание на определённые даты. К примеру, праздничные дни (опционально при отличии от working_schedule).
LocationIndividualSchedule
Показать свойства
LocationIndividualSchedule
date
string
Дата, формат «YYYY-MM-DD».
schedule
object
Расписание на дату.
Показать свойства
time_start
string
Время начала, формат «00:00».
time_end
string
Время окончания, формат «00:00».
break
string
Перерыв, формат «13:00–14:00».
shipping_cutoff
string
Время, после которого отсчёт слота доставки начнётся со следующего дня. Формат «16:30». Если пустое — не применяется.
is_works
boolean
Признак работы в дату.
is_accepts_returns
boolean
Признак приёма возвратов.

Успешный ответ

200A successful response.
application/json
object
locations
array
Результат операции update; обычно один элемент. В отличие от ответа create, в элементе дополнительно может быть поле issue.
Итог по одной локации из update: location_id — id в системе витрины (пустая строка, если не обновлено); name — название из запроса; errors — ошибки валидации по полям, при успехе [].
Показать свойства
location_id
string
Идентификатор локации в системе витрины; пустая строка, если операция для этой позиции не выполнена.
merchant_location_id
string
Идентификатор локации продавца (опционально).
name
string
Название локации из запроса.
status
string
Статус локации после операции update.
Допустимые значения
DRAFTPENDINGACTIVEFAILEDARCHIVED
issue
object
Проблема по локации; пустой объект или не передаётся при статусах DRAFT и ACTIVE.
Показать свойства
code
string
Код проблемы.
message
string
Детальное описание проблемы.
changed_at
string
Момент изменения (RFC3339, например 2026-04-16T08:00:00Z). Формат RFC3339 с обязательным timezone (пример: 2026-07-02T10:25:00+02:00). Несоблюдение формата может привести к непредсказуемому поведению системы и проблемам с заказами.
errors
array
Ошибки валидации по полям; пустой массив при успехе. Коды только из LocationMutationValidationErrorCode.
Ошибка валидации/бизнеса поля для scope «LocationMutation». Допустимые field: locations[].merchant_location_id, address_tail, latitude/longitude, working_schedule, location_types, …. Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.
Показать свойства
field
string
required
Путь к полю. Ожидаемые: locations[].merchant_location_id, address_tail, latitude/longitude, working_schedule, location_types, ….
code
string
required
Коды ошибок ручки (scope LocationMutation). Допустимые field: locations[].merchant_location_id, address_tail, latitude/longitude, working_schedule, location_types, …. - REQUIRED: Поле отсутствует или пустое, но обязательно - INVALID_TYPE: Неверный JSON-тип - INVALID_FORMAT: Общий сбой формата значения - INVALID_ENUM: Значение не из допустимого enum - REQUIRED_ONE_OF: Нужен хотя бы один из набора полей - CONDITIONALLY_REQUIRED: Поле обязательно при выполнении условия - INVALID_TIME: Не формат HH:MM - INVALID_TIME_RANGE: Некорректный диапазон времени (from >= to и т.п.) - INVALID_ADDRESS_FORMAT: Адрес не соответствует шаблону - INVALID_LATITUDE: Широта вне диапазона - INVALID_LONGITUDE: Долгота вне диапазона - SCHEMA_MISMATCH: Поля не соответствуют location_types / типу сущности - MIN_VALUE: Значение ниже минимума - MAX_VALUE: Значение выше максимума - NEGATIVE_VALUE: Отрицательное значение недопустимо - TOO_MANY_ITEMS: Превышен maxItems / лимит пакета - NOT_FOUND: Сущность не найдена (уточняется полем field) - CONFLICT: Конфликт состояния ресурса - STOREFRONT_RULE_VIOLATION: Запрос синтаксически валиден, но отклонён бизнес-правилом витрины (детали в message)
Допустимые значения
REQUIREDINVALID_TYPEINVALID_FORMATINVALID_ENUMREQUIRED_ONE_OFCONDITIONALLY_REQUIREDINVALID_TIMEINVALID_TIME_RANGEINVALID_ADDRESS_FORMATINVALID_LATITUDEINVALID_LONGITUDESCHEMA_MISMATCHMIN_VALUEMAX_VALUENEGATIVE_VALUETOO_MANY_ITEMSNOT_FOUNDCONFLICTSTOREFRONT_RULE_VIOLATION
message
string
required
Текст для клиента. Для STOREFRONT_RULE_VIOLATION — описание правила.

Ошибки

400Некорректный запрос
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
401Ошибка авторизации
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
429Превышен лимит запросов
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
500Внутренняя ошибка сервера
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
defaultОшибка (неожиданная или прочие)
application/json
object
error_type
string
ERROR_TYPE_BAD_REQUEST — HTTP 400 (request-level); ERROR_TYPE_UNAUTHORIZED — 401; ERROR_TYPE_RATE_LIMIT — 429; ERROR_TYPE_INTERNAL — 500. Поэлементные/бизнес-ошибки сущности — в HTTP 200 errors/failed, не здесь.
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string
код ошибки
message
string
сообщение
details
object
POST/v1/location/update
1curl https://api.omninet.ru/v1/location/update \2  --request POST \3  --header 'Content-Type: application/json' \4  --data '{5  "locations": [6    {7      "merchant_location_id": "string",8      "location_id": "string",9      "location_types": [10        "string"11      ],12      "name": "string",13      "delivery_type": "string",14      "address_tail": "string",15      "comment": "string",16      "latitude": 0,17      "longitude": 0,18      "provider_id": "string",19      "provider_location_id": "string",20      "pickup_point_type": "string",21      "payment_methods": [22        "string"23      ],24      "storage_period_days": 0,25      "limits": {26        "length": 0,27        "width": 0,28        "height": 0,29        "weight": 030      },31      "instruction": "string",32      "pickup_services": [33        "string"34      ],35      "working_schedule": [36        {37          "day": "MONDAY",38          "schedule": {39            "time_start": "string",40            "time_end": "string",41            "break": "string",42            "shipping_cutoff": "string"43          }44        }45      ],46      "individual_schedule": [47        {48          "date": "string",49          "schedule": {50            "time_start": "string",51            "time_end": "string",52            "break": "string",53            "shipping_cutoff": "string"54          },55          "is_works": true56        }57      ],58      "is_accepts_returns": true59    }60  ]61}'
{
  "locations": [
    {
      "location_id": "string",
      "merchant_location_id": "string",
      "name": "string",
      "status": "string",
      "issue": {
        "code": "string",
        "message": "string",
        "changed_at": "2026-07-02T10:25:00+02:00"
      },
      "errors": [
        {
          "field": "address_tail",
          "code": "INVALID_ADDRESS_FORMAT",
          "message": "Адрес не соответствует ожидаемому формату"
        }
      ]
    }
  ]
}

A successful response.