Загрузка (обновление) остатков

POST /v1/product/stock/update

POST/v1/product/stock/update

Если в одном запросе передано несколько записей с одинаковой парой product_id и location_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.
location_id
string
Идентификатор склада.
count
integer
Количество на складе.

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

200A successful response.
application/json
object
processed
integer
Количество успешно обработанных элементов.
failed
array
Элементы, по которым возникла ошибка.
Ошибка обновления по конкретному элементу остатков. Идентификаторы offer_id и product_id используются с приоритезацией. Если заполнены оба идентификатора, то используется только offer_id.
Показать свойства
product_id
string
Идентификатор товара.
offer_id
string
Артикул продавца.
location_id
string
Идентификатор склада.
error_message
string
Текст ошибки элемента (compat). Предпочтительно использовать errors.
errors
array
Структурированные ошибки элемента батча. Коды: ProductStockUpdateValidationErrorCode.
Ошибка валидации/бизнеса поля для scope «ProductStockUpdate». Допустимые field: stocks[].product_id, offer_id, location_id, count. Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.
Показать свойства
field
string
required
Путь к полю. Ожидаемые: stocks[].product_id, offer_id, location_id, count.
code
string
required
Коды ошибок ручки (scope ProductStockUpdate). Допустимые field: stocks[].product_id, offer_id, location_id, count. - REQUIRED: Поле отсутствует или пустое, но обязательно - INVALID_TYPE: Неверный JSON-тип - INVALID_FORMAT: Общий сбой формата значения - REQUIRED_ONE_OF: Нужен хотя бы один из набора полей - NEGATIVE_VALUE: Отрицательное значение недопустимо - MIN_VALUE: Значение ниже минимума - MAX_VALUE: Значение выше максимума - TOO_MANY_ITEMS: Превышен maxItems / лимит пакета - NOT_FOUND: Сущность не найдена (уточняется полем field) - STOREFRONT_RULE_VIOLATION: Запрос синтаксически валиден, но отклонён бизнес-правилом витрины (детали в message)
Допустимые значения
REQUIREDINVALID_TYPEINVALID_FORMATREQUIRED_ONE_OFNEGATIVE_VALUEMIN_VALUEMAX_VALUETOO_MANY_ITEMSNOT_FOUNDSTOREFRONT_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": "count",
          "code": "NEGATIVE_VALUE",
          "message": "Остаток не может быть отрицательным"
        }
      ]
    }
  ]
}

A successful response.