Установка цен на предложения

Описание

POST /campaigns/{campaignId}/offer-prices/updates

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

Внимание. Запрос работает только для включенных магазинов. Если магазин выключен, данные на Маркете не обновятся, даже если HTTP-код — 200 OK. Проверить статус магазина можно с помощью базовых запросов или на странице бизнес-аккаунта.

Чтобы установить новую цену вместо указанной в прайс-листе, передайте в теле запроса параметр price. Цена устанавливается на 30 дней с последнего обновления, после этого снова начнет действовать цена из прайс-листа.

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

Примечание. Запрос доступен начиная с версии 2.38 партнерского API.

URL ресурса:

https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/offer-prices/updates.json

Входные данные

Параметр

Тип

Значение

Обязательные

campaignId

Int64

Идентификатор кампании.

Чтобы узнать идентификатор, откройте сводку бизнеса «Рекламное продвижение», наведите указатель на название магазина и скопируйте из поля Кампания № число после дефиса. Например, если указано значение «11-12345678», то идентификатор кампании — 12345678.

Параметр

Тип

Значение

Обязательные

campaignId

Int64

Идентификатор кампании.

Чтобы узнать идентификатор, откройте сводку бизнеса «Рекламное продвижение», наведите указатель на название магазина и скопируйте из поля Кампания № число после дефиса. Например, если указано значение «11-12345678», то идентификатор кампании — 12345678.

Структура тела POST-запроса:

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

Параметры тела POST-запроса:

Параметр

Тип

Значение

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

offers

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

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

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

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

feed

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

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

id String

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

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

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

price

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

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

id Int64

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

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

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

currencyId Enum

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

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

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

discountBase Float

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

Значение параметра должно быть больше value. Подробнее см. требования к скидкам в Справке Маркета для модели ADV.

value Float

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

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

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

Параметр

Тип

Значение

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

offers

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

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

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

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

feed

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

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

id String

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

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

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

price

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

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

id Int64

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

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

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

currencyId Enum

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

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

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

discountBase Float

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

Значение параметра должно быть больше value. Подробнее см. требования к скидкам в Справке Маркета для модели ADV.

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 передан идентификатор прайс-листа, который не существует или не относится к магазину campaignId.

  • INVALID_OFFER_ID — в теле запроса в параметре offer передан пустой идентификатор предложения или его значение превышает 50 символов.

  • LIMIT_EXCEEDED — превышено индивидуальное ограничение на количество передаваемых предложений.

  • REQUEST_LIMIT_EXCEEDED — в теле запроса в параметре offers передано больше 2000 предложений.

message String

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

Параметр

Тип

Значение

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

errors

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

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

status Enum

Статус выполнения запроса.

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

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

  • ERROR — произошла ошибка.

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

code Enum

Код ошибки.

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

  • DUPLICATE_OFFER — в теле запроса передано два или более предложения с одинаковыми значениями параметров id.

  • INVALID_FEED_ID — в теле запроса в параметре feed передан идентификатор прайс-листа, который не существует или не относится к магазину campaignId.

  • 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% от текущей цены. Проверьте разницу между установленной ценой без скидки и ценой предложения.

Описание

Пояснение

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

Ошибка 400 Bad Request

discount should be between 5% and 95%

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

Примеры

Запрос:

curl -i -H 'Content-Type: application/json' -X POST 'https://api.partner.market.yandex.ru/v2/campaigns/10001/offer-prices/updates.json'

Тело 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"
}