Загрузка (обновление) остатков
POST /v1/product/stock/update
POST
/v1/product/stock/updateТело запроса
items
array
required Список остатков по товарам.
Идентификаторы offer_id и product_id используются с приоритезацией.
Если заполнены оба идентификатора, то используется только offer_id.
Показать свойстваСкрыть свойства
product_id
string
required Идентификатор товара.
offer_id
string
required Артикул продавца.
location_id
string
required Идентификатор склада.
count
integer
required Количество на складе.
Успешный ответ
200A successful response. application/json
object
processed
integer
Количество успешно обработанных элементов.
failed
array
required Элементы, по которым возникла ошибка.
Ошибка обновления по конкретному элементу остатков.
Идентификаторы offer_id и product_id используются с приоритезацией.
Если заполнены оба идентификатора, то используется только offer_id.
Показать свойстваСкрыть свойства
product_id
string
required Идентификатор товара.
offer_id
string
required Артикул продавца.
location_id
string
required Идентификатор склада.
error_message
string
required Текст ошибки для данного элемента (для обратной совместимости). Предпочтительно использовать
errors.errors
array
Структурированные ошибки валидации по полям.
Унифицированная ошибка валидации поля.
Для бизнес-правил витрины использовать code = STOREFRONT_RULE_VIOLATION.
Показать свойстваСкрыть свойства
field
string
required Имя поля в запросе (например address_tail). Вложенность через точку/индекс: delivery.address_tail, packages[0].type.
code
string
required Каталог кодов валидации.
Коды schema-валидации; для бизнес-правил витрины использовать следующий код
STOREFRONT_RULE_VIOLATION.
Коды геометрии полигонов (INVALID_COORDINATES, RING_*) не применяются.
- REQUIRED: Поле отсутствует или пустое, но обязательно.
- REQUIRED_ONE_OF: Нужен хотя бы один из набора полей.
- CONDITIONALLY_REQUIRED: Поле обязательно при выполнении условия.
- INVALID_TYPE: Неверный JSON-тип значения.
- INVALID_ENUM: Значение не из допустимого enum.
- INVALID_FORMAT: Общий сбой формата значения.
- INVALID_DATE_TIME: Дата/время не RFC3339 или без timezone.
- INVALID_DATE: Дата не в формате YYYY-MM-DD.
- INVALID_TIME: Время не в формате ЧЧ:ММ.
- INVALID_TIME_RANGE: Диапазон времени (перерыв) некорректен.
- INVALID_URL: Невалидный URL.
- TOO_MANY_ITEMS: Превышен maxItems / лимит элементов в запросе.
- MIN_VALUE: Значение ниже допустимого минимума.
- MAX_VALUE: Значение выше допустимого максимума.
- NEGATIVE_VALUE: Отрицательное значение там, где недопустимо.
- INVALID_RANGE: Некорректный диапазон (from > to и т.п.).
- NOT_FOUND: Сущность не найдена.
- CONFLICT: Конфликт состояния объекта.
- INVALID_STATUS_TRANSITION: Недопустимый переход статуса.
- STATUS_NOT_ALLOWED: Статус недоступен в текущем контексте.
- INVALID_ADDRESS_FORMAT: address_tail / адрес не по шаблону.
- INVALID_LATITUDE: Широта вне диапазона [-90, 90].
- INVALID_LONGITUDE: Долгота вне диапазона [-180, 180].
- SCHEMA_MISMATCH: Набор полей не соответствует location_types / схеме.
- STOREFRONT_RULE_VIOLATION: Нарушение бизнес-правила витрины.
Допустимые значения
REQUIREDREQUIRED_ONE_OFCONDITIONALLY_REQUIREDINVALID_TYPEINVALID_ENUMINVALID_FORMATINVALID_DATE_TIMEINVALID_DATEINVALID_TIMEINVALID_TIME_RANGEINVALID_URLTOO_MANY_ITEMSMIN_VALUEMAX_VALUENEGATIVE_VALUEINVALID_RANGENOT_FOUNDCONFLICTINVALID_STATUS_TRANSITIONSTATUS_NOT_ALLOWEDINVALID_ADDRESS_FORMATINVALID_LATITUDEINVALID_LONGITUDESCHEMA_MISMATCHSTOREFRONT_RULE_VIOLATION
message
string
required Текст ошибки для клиента. Для STOREFRONT_RULE_VIOLATION — описание конкретного правила витрины.
Ошибки
400Некорректный запрос application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
401Ошибка авторизации application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
429Превышен лимит запросов application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
500Внутренняя ошибка сервера application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
defaultОшибка (неожиданная или прочие) application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
POST/v1/product/stock/update
1curl https://api.omninet.ru/v1/product/stock/update \2 --request POST \3 --header 'Content-Type: application/json' \4 --data '{5 "items": [6 {7 "product_id": "string",8 "offer_id": "string",9 "location_id": "string",10 "count": 011 }12 ]13}'{
"processed": 0,
"failed": [
{
"product_id": "string",
"offer_id": "string",
"location_id": "string",
"error_message": "string",
"errors": [
{
"field": "address_tail",
"code": "REQUIRED",
"message": "Поле address_tail обязательно"
}
]
}
]
}A successful response.