Обновление цены
Описание
Запрос позволяет обновлять цены предложений на часть ассортимента.
Чтобы установить новую цену вместо указанной в фиде, передайте в теле запроса параметр price.
Передача цен производится в теле POST-запроса.
Форматы цен
Стандартный формат
"prices": {
"value": {int64},
"currency": {..}
}
Формат цены при условии
"prices": {
"value": {int64},
"currency": {..},
"payBy": {
"price": {int64},
"condition": {string}
}
}
|
Параметр |
Описание |
Пример |
|
|
Базовая цена предложения (отображается всегда) |
6100 |
|
|
Цена при выполнении условия |
5990 |
|
|
Условие активации цены при условии |
|
Допустимые значения condition
yandex_pay— при оплате через Яндекс Пэй.fast_payment_system— при оплате через СБП.ozon_card— при оплате картой OZON Банка.
Пример
"prices": {
"value": 1000,
"currency": "RUB",
"payBy": {
"price": 900,
"condition": "yandex_pay"
}
}
Формат запроса
POST https://yandex.ru/products/api/ext/partner/offer-prices/updates
Параметры
Пример структуры тела запроса:
{
"offers":
[
{
"feed":
{
"id": {int64}
},
"id": "{string}",
"price":
{
"currencyId": "{enum}",
"value": {float},
"discountBase": {float}
}
},
...
]
}
|
Параметр |
Тип |
Значение |
|
Параметры, вложенные в |
||
|
|
Список предложений. В теле запроса можно передать от одного до 2000 предложений включительно. Обязательный параметр. |
|
|
Параметры, вложенные в |
||
|
|
Информация о фиде, содержащем предложение. Обязательный параметр. |
|
|
|
String |
Идентификатор предложения из фида. Если в фиде содержится несколько предложений с идентификатором Обязательный параметр. |
|
|
Информация о новой цене предложения. |
|
|
Параметры, вложенные в |
||
|
|
Int64 |
Идентификатор фида, содержащего предложение. Обязательный параметр. |
|
Параметры, вложенные в |
||
|
|
Enum |
Валюта, в которой указана цена предложения. Возможно только значение Обязательный параметр. |
|
|
Float |
Цена предложения без скидки. Значение параметра должно быть больше |
|
|
Float |
Цена предложения. Возможные значения: больше Обязательный параметр. |
|
|
Цена при условии |
|
|
Параметры, вложенные в |
||
|
|
Int64 |
Цена при условии. |
|
|
String |
Описание условия. |
Формат ответа
Пример структуры ответа. Порядок следования параметров не гарантируется.
{
"errors":
[
{
"code": "{enum}",
"message": "{string}"
},
...
],
"status": "{enum}"
}
|
Параметр |
Тип |
Значение |
|
Параметры, вложенные в |
||
|
|
Список ошибок при выполнении запроса. Выводится, если |
|
|
|
Enum |
Статус выполнения запроса. Возможные значения:
|
|
Параметры, вложенные в |
||
|
|
Enum |
Код ошибки. Возможные значения:
|
|
|
String |
Описание ошибки. |
Описание ошибок
В случае ошибки сервер возвращает HTTP-код ответа и краткое описание ошибки.
Ошибки, содержащие характерные для данного метода краткие описания:
|
Описание |
Пояснение |
Способ возможного решения |
|
Ошибка |
||
|
|
Скидка на товар должна быть не меньше 5% и не больше 95% от текущей цены. |
Проверьте разницу между установленной ценой без скидки и ценой предложения. |
Ограничения
Допускается до 50 000 изменений цен в минуту.
Примеры
Запрос:
curl -i -X POST 'https://yandex.ru/products/api/ext/partner/offer-prices/updates'
Тело POST-запроса (пример с payBy):
-d '{
"offers":
[
{
"feed":
{
"id": 479633
},
"id": "1671008",
"price":
{
"currencyId": "RUR",
"value": 800.00,
"discountBase": 950.00
}
},
{
"feed":
{
"id": 479633
},
"id": "1636288",
"price":
{
"currencyId": "RUR",
"value": 1000.00,
"payBy": {
"price": 900,
"condition": "yandex_pay"
}
}
},
{
"feed":
{
"id": 479659
},
"id": "1631602"
}
]
}'
Ответ:
HTTP/1.1 200 OK
Date: Sat, 13 Apr 2018 13:03:01 GMT
Content-Type: application/json;charset=utf-8
...
{
"status": "OK"
}