Обновление цены

Описание

Запрос позволяет обновлять цены предложений на часть ассортимента.

Чтобы установить новую цену вместо указанной в фиде, передайте в теле запроса параметр price.

Передача цен производится в теле POST-запроса.

Формат запроса

POST https://yandex.ru/products/api/ext/partner/offer-prices/updates

Параметры

Пример структуры тела запроса:

{
  "offers":
  [
    {
      "feed":
      {
        "id": {int64}
      },
      "id": "{string}",
      "price":
      {
        "currencyId": "{enum}",
        "value": {float},
        "discountBase": {float}
      }
    },
    ...
  ]
}

Параметр

Тип

Значение

Параметры, вложенные в offer-prices

offers

Список предложений.

В теле запроса можно передать от одного до 2000 предложений включительно.

Обязательный параметр.

Параметры, вложенные в offers

feed

Информация о фиде, содержащем предложение.

Обязательный параметр.

id

String

Идентификатор предложения из фида.

Если в фиде содержится несколько предложений с идентификатором id, цена обновится только для первого из них.

Обязательный параметр.

price

Информация о новой цене предложения.

Параметры, вложенные в feed

id

Int64

Идентификатор фида, содержащего предложение.

Обязательный параметр.

Параметры, вложенные в price

currencyId

Enum

Валюта, в которой указана цена предложения.

Возможно только значение RUR — российский рубль. Управление ценами в других валютах недоступно.

Обязательный параметр.

discountBase

Float

Цена предложения без скидки.

Значение параметра должно быть больше value.

value

Float

Цена предложения.

Возможные значения: больше 0.

Обязательный параметр.

Формат ответа

Пример структуры ответа. Порядок следования параметров не гарантируется.

{
  "errors":
  [
    {
      "code": "{enum}",
      "message": "{string}"
    },
    ...
  ],
  "status": "{enum}"
}

Параметр

Тип

Значение

Параметры, вложенные в response

errors

Список ошибок при выполнении запроса.

Выводится, если status="ERROR".

status

Enum

Статус выполнения запроса. Возможные значения:

  • OK — запрос выполнен успешно.
  • ERROR — произошла ошибка.

Параметры, вложенные в errors

code

Enum

Код ошибки.

Возможные значения:

  • DUPLICATE_OFFER — в теле запроса передано два или более предложения с одинаковыми значениями параметров id.
  • INVALID_FEED_ID — в теле запроса в параметре feed передан идентификатор фида, который не существует.
  • INVALID_OFFER_ID — в теле запроса в параметре offer передан пустой идентификатор предложения или его значение превышает 50 символов.
  • LIMIT_EXCEEDED — превышено индивидуальное ограничение на количество передаваемых предложений.
  • REQUEST_LIMIT_EXCEEDED — в теле запроса в параметре offers передано больше 2000 предложений.

message

String

Описание ошибки.

Описание ошибок

В случае ошибки сервер возвращает HTTP-код ответа и краткое описание ошибки.

Ошибки, содержащие характерные для данного метода краткие описания:

Описание

Пояснение

Способ возможного решения

Ошибка 400 Bad Request

discount should be between 5% and 95%

Скидка на товар должна быть не меньше 5% и не больше 95% от текущей цены.

Проверьте разницу между установленной ценой без скидки и ценой предложения.

Ограничения

Допускается до 50 000 изменений цен в минуту.

Примеры

Запрос:

curl -i -X POST 'https://yandex.ru/products/api/ext/partner/offer-prices/updates'

Тело POST-запроса:

-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": 1500.00
      }
    },
    {
      "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"
}