Массовое обновление цен
Массово обновляет цены товаров. За один запрос можно передать до 5000 элементов — товар с новыми ценами.
Операция синхронная и атомарная. Если хотя бы один элемент батча
недействителен (товар не найден или архивирован, товар передан в батче более одного раза, цена некорректна),
весь запрос отклоняется с ошибкой 400, и ни одно изменение не применяется.
В поле errors ответа перечислены все недействительные элементы с идентификаторами товара.
Оба поля цен необязательные. Чтобы не менять текущее значение, не передавайте соответствующий ключ.
Чтобы установить новое значение, передайте его.
manual_discount_price: null — сбрасывает цену со скидкой.
price: null — сбрасывает базовую цену (доступно только для неопубликованных товаров, для опубликованных товаров сброс цены запрещен).
Если цена со скидкой превышает цену до скидки, элемент отклоняется с ошибкой INVALID_PRICE.
Передайте новую цену со скидкой либо null для ее сброса.
При смене цены до скидки цена по акции пересчитывается. Если новая цена меняет вхождение товара в акцию, состав акций актуализируется позже — в фоновом режиме.
Request
POST
https://api.kit.yandex.net/v1/variants/prices/bulk_update
Body
application/json
{
"items": [
{
"variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"price": "1000",
"manual_discount_price": "900"
}
]
}
|
Name |
Description |
|
items |
Type: BulkPriceItem[] Элементы обновления. Товар не может повторяться. Min items: Max items: Example
|
VariantID
Идентификатор товара.
Type: string<uuid>
Example: 019b21d9-c5d9-777d-80bd-d67c664bc6d9
BulkPriceItem
Элемент массового обновления цен — новые цены товара
|
Name |
Description |
|
variant_id |
Type: VariantID Идентификатор товара. Example: |
|
manual_discount_price |
Type: string<decimal> | null Цена со скидкой, установленная вручную (поле опционально).
Не передавайте ключ, чтобы не менять текущую цену со скидкой;
Example: |
|
price |
Type: string<decimal> | null Цена до скидки (поле опционально). Не передавайте ключ, чтобы
не менять текущую цену; Example: |
Example
{
"variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"price": "1000",
"manual_discount_price": "900"
}
Responses
204 No Content
Цены успешно обновлены.
400 Bad Request
Некорректный запрос. Для невалидных элементов батча в поле errors перечислены идентификаторы, коды и описания ошибок.
Body
application/json
{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"trace_id": "00000000000000000000000000000000",
"errors": [
{
"variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"warehouse_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"code": "VARIANT_NOT_FOUND",
"message": "Товар с id 019b21d9-c5d9-777d-80bd-d67c664bc6d9 не найден"
}
]
}
All of 2 types
-
Type: Error
Example
{ "code": "VALIDATION_ERROR", "message": "Invalid input", "trace_id": "00000000000000000000000000000000" } -
Type: object
errors
Type: BulkOperationItemError[]
Example
[ { "variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9", "warehouse_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9", "code": "VARIANT_NOT_FOUND", "message": "Товар с id 019b21d9-c5d9-777d-80bd-d67c664bc6d9 не найден" } ]Example
{ "errors": [ { "variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9", "warehouse_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9", "code": "VARIANT_NOT_FOUND", "message": "Товар с id 019b21d9-c5d9-777d-80bd-d67c664bc6d9 не найден" } ] }
Error
|
Name |
Description |
|
code |
Type: string Example: |
|
message |
Type: string Example: |
|
trace_id |
Type: string Уникальный идентификатор запроса для отладки. Example: |
Example
{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"trace_id": "00000000000000000000000000000000"
}
WarehouseID
Идентификатор склада.
Type: string<uuid>
Example: 019b21d9-c5d9-777d-80bd-d67c664bc6d9
BulkOperationItemError
Ошибка обработки одного элемента массовой операции.
|
Name |
Description |
|
code |
Type: string Код ошибки элемента:
Example: |
|
message |
Type: string Человекочитаемое описание ошибки. Example: |
|
variant_id |
Type: VariantID Идентификатор товара. Example: |
|
warehouse_id |
Type: WarehouseID Идентификатор склада. Example: |
Example
{
"variant_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"warehouse_id": "019b21d9-c5d9-777d-80bd-d67c664bc6d9",
"code": "VARIANT_NOT_FOUND",
"message": "Товар с id 019b21d9-c5d9-777d-80bd-d67c664bc6d9 не найден"
}
401 Unauthorized
Не авторизован.
Body
application/json
{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"trace_id": "00000000000000000000000000000000"
}
|
Name |
Description |
|
code |
Type: string Example: |
|
message |
Type: string Example: |
|
trace_id |
Type: string Уникальный идентификатор запроса для отладки. Example: |
500 Internal Server Error
Внутренняя ошибка сервера.
Body
application/json
{
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"trace_id": "00000000000000000000000000000000"
}
|
Name |
Description |
|
code |
Type: string Example: |
|
message |
Type: string Example: |
|
trace_id |
Type: string Уникальный идентификатор запроса для отладки. Example: |