Загрузка (обновление) цен товаров
POST /v1/product/price/update
POST
/v1/product/price/updateЕсли в одном запросе передано несколько записей с одинаковым product_id, при обработке учитывается последняя запись, предыдущие игнорируются.
В каждом элементе обязательно указать product_id или offer_id (достаточно одного поля; оба вместе не обязательны).
Тело запроса
items
array
Список цен по товарам. Максимальное количество элементов в одном запросе — 200.
Идентификаторы offer_id и product_id используются с приоритезацией.
Если заполнены оба идентификатора, то используется только offer_id.
Обязательно передать хотя бы одно из полей product_id или offer_id; оба вместе не обязательны.
Показать свойстваСкрыть свойства
product_id
string
Идентификатор товара. Обязателен, если не передан offer_id; достаточно указать одно из полей product_id или offer_id.
offer_id
string
Артикул продавца. Обязателен, если не передан product_id; достаточно указать одно из полей product_id или offer_id.
price
integer
Текущая цена, значение умноженное на 100.
old_price
integer
Зачёркнутая цена, значение умноженное на 100.
vat
number
НДС (опционально, например 0.20 для 20%).
min_price
integer
Цена, ниже которой товар не попадёт в автоакции маркетплейса, значение умноженное на 100.
currency
string
Валюта цен.
Допустимые значения
RUBBYNKZTEURUSDCNY
Успешный ответ
200A successful response. application/json
object
processed
integer
Количество успешно обработанных элементов.
failed
array
Элементы, по которым возникла ошибка.
Идентификаторы offer_id и product_id используются с приоритезацией.
Если заполнены оба идентификатора, то используется только offer_id.
Показать свойстваСкрыть свойства
product_id
string
Идентификатор товара.
offer_id
string
Артикул продавца.
error_message
string
Текст ошибки элемента (compat). Предпочтительно использовать
errors.errors
array
Структурированные ошибки элемента батча. Коды: ProductPriceUpdateValidationErrorCode.
Ошибка валидации/бизнеса поля для scope «ProductPriceUpdate». Допустимые field: items[].product_id, offer_id, price, old_price, vat, min_price, currency. Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.
Показать свойстваСкрыть свойства
field
string
required Путь к полю. Ожидаемые: items[].product_id, offer_id, price, old_price, vat, min_price, currency.
code
string
required Коды ошибок ручки (scope ProductPriceUpdate). Допустимые field: items[].product_id, offer_id, price, old_price, vat, min_price, currency.
- REQUIRED: Поле отсутствует или пустое, но обязательно
- INVALID_TYPE: Неверный JSON-тип
- INVALID_FORMAT: Общий сбой формата значения
- INVALID_ENUM: Значение не из допустимого enum
- REQUIRED_ONE_OF: Нужен хотя бы один из набора полей
- NEGATIVE_VALUE: Отрицательное значение недопустимо
- MIN_VALUE: Значение ниже минимума
- MAX_VALUE: Значение выше максимума
- INVALID_RANGE: Некорректный диапазон (from > to)
- TOO_MANY_ITEMS: Превышен maxItems / лимит пакета
- NOT_FOUND: Сущность не найдена (уточняется полем field)
- STOREFRONT_RULE_VIOLATION: Запрос синтаксически валиден, но отклонён бизнес-правилом витрины (детали в message)
Допустимые значения
REQUIREDINVALID_TYPEINVALID_FORMATINVALID_ENUMREQUIRED_ONE_OFNEGATIVE_VALUEMIN_VALUEMAX_VALUEINVALID_RANGETOO_MANY_ITEMSNOT_FOUNDSTOREFRONT_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/product/price/update
1curl https://api.omninet.ru/v1/product/price/update \2 --request POST \3 --header 'Content-Type: application/json' \4 --data '{5 "items": [6 {7 "product_id": "string",8 "offer_id": "string",9 "price": 0,10 "old_price": 0,11 "vat": 0,12 "min_price": 013 }14 ],15 "currency": "RUB"16}'{
"processed": 0,
"failed": [
{
"product_id": "string",
"offer_id": "string",
"error_message": "string",
"errors": [
{
"field": "price",
"code": "NEGATIVE_VALUE",
"message": "Цена не может быть отрицательной"
}
]
}
]
}A successful response.