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

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.