Рекомендации для карточки модели

Описание

POST /campaigns/{campaignId}/bids/recommended

Возвращает рекомендованные значения ставок на предложения для размещения этих предложений на карточках моделей Яндекс.Маркета. Рекомендации по ставкам рассчитываются для региона, в котором находится магазин.

Внимание.

Возвращаемые ставки являются прогнозируемыми и не гарантируют попадание предложения на указанное место размещения.

Передача списка предложений, для которых надо получить рекомендации, осуществляется в теле POST-запроса. Действует ограничение на количество предложений в одном запросе: 500 предложений.

Примечание. До версии 2.0 с помощью партнерского API было возможно получить рекомендации по ставкам только для карточек моделей Яндекс.Маркета.

URL ресурса:

https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/bids/recommended.[format]

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

Параметр

Тип

Значение

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

campaignId

Int64

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

target

Enum

Тип ставки или комиссии, для которой устанавливается рекомендованное значение:

  • MODEL-CARD — ставка для размещения на конкретной позиции на карточке модели Яндекс.Маркета.

Устаревшие значения, не рекомендованные к использованию:

  • CARD-PRICES-CPO — ставка для размещения на конкретной позиции на карточке модели Яндекс.Маркета.

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

Необязательные

positions

String

Список номеров позиций на карточке модели Яндекс.Маркета, для которых необходимо получить рекомендации ставок. Номера позиций указываются через запятую.

Допустимые значения: от 1 до 10.

Если параметр не задан или указано пустое значение, в ответе выдаются рекомендации по первым десяти позициям.

region_id

Int64

Идентификатор региона, для которого необходимо получить рекомендации ставок.

Если параметр не задан, в ответе выдаются рекомендации для своего региона магазина.

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

<offers>
  <offer feed-id="{int64}" id="{string}" name="{string}"/>
  ...
</offers>
Структура тела POST-запроса для формата XML до версии 2.0 партнерского API Яндекс.Маркета
<offers>
  <name>{string}</name>
  ...
</offers>

В теле POST-запроса передаются следующие параметры:

Параметр для формата XML

Параметр для формата JSON

Тип

Значение

offers offers

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

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

offer

Предложение.

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

feed-id feedId Int64

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

Параметр указывается при получении информации о ставке по идентификатору предложения в том случае, если у магазина зарегистрировано более одного прайс-листа.

Для формата XML является атрибутом параметра offer.

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

id id String

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

Укажите параметр id, если вы используете тип идентификации товаров по идентификатору предложения.

Взаимоисключающий с параметром name.

Для формата XML является атрибутом параметра offer.

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

name name String

Название предложения.

Укажите параметр name, если вы используете тип идентификации товаров по названию предложения.

Взаимоисключающий с параметром id.

Максимальная длина: 512 символов.

Для формата XML является атрибутом параметра offer.

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

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

<response>
  <recommendations>
    <offer bid="{double}" cbid="{double}" dont-pull-up-bids="{boolean}" error="{enum}" feed-id="{int64}" min-bid="{double}" min-cbid="{double}" offer-id="{string}">
      <model-card current-pos-all="{int32}" current-pos-top="{int32}" error="{enum}" top-offers-count="{int32}">
        <position pos="{string}" cbid="{double}" error="{enum}"/>
        ...
      </model-card>
      <card-prices-cpo current-pos-all="{int32}" current-pos-top="{int32}" error="{enum}" top-offers-count="{int32}">
        <position pos="{string}" cbid="{double}" error="{enum}"/>
        ...
      </card-prices-cpo>
      <name>{string}</name>
    </offer>
    ...
  </recommendations>
</response>
Структура выходных данных для формата XML до версии 2.0 партнерского API Яндекс.Маркета
<recommendations>
  <offer error="{enum}">
    <name>{string}</name>
    <model-card offer-position="{int32}">
      <position pos="{string}" cbid="{double}" error="{enum}"/>
      ...
    </model-card>
  </offer>
  ...
</recommendations>

Описание параметров:

Параметр для формата XML

Параметр для формата JSON

Тип

Значение

response

Ответ.

Параметр выводится только для формата XML.

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

recommendations recommendations

Список рекомендаций.

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

offer

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

Параметр выводится только для формата XML.

Параметры, вложенные в offer / recommendations

bid bid Double

Примененная общая ставка, в условных единицах.

Для формата XML является атрибутом параметра offer.

cbid cbid Double

Примененная ставка для карточки модели Яндекс.Маркета, в условных единицах.

Для формата XML является атрибутом параметра offer.

dont-pull-up-bids dontPullUpBids Boolean

Автоматическое повышение ставок bid и cbid до минимальных:

  • true — отключено. Будут действовать установленные магазином ставки.
    Примечание. Если ставки bid и cbid установлены ниже минимальных, предложение не будет показываться.
  • false — включено. Если установлена ставка ниже минимальной, Яндекс.Маркет автоматически поднимет ее до минимальной.

Для формата XML является атрибутом параметра offer.

error error Enum

Описание произошедшей ошибки. Параметр выводится только в случае возникновения ошибки.

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

  • OFFER_NOT_FOUND — предложение не опубликовано.

  • OFFER_NOT_MATCHED — предложение не соотнесено с карточкой модели Яндекс.Маркета.

  • SEARCH_TIMEOUT — по техническим причинам рекомендации для данного предложения временно недоступны.

Для формата XML является атрибутом параметра offer.

feed-id feedId Int64

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

Параметр выводится при получении информации о ставке, если вы используете тип идентификации товаров по идентификатору предложения.

Для формата XML является атрибутом параметра offer.

min-bid minBid Double

Минимальный размер применяемой общей ставки для данного предложения в поиске Яндекс.Маркета.

Для формата XML является атрибутом параметра offer.

min-cbid minCbid Double

Минимальный размер применяемой ставки для данного предложения на соответствующей карточке модели Яндекс.Маркета.

Для формата XML является атрибутом параметра offer.

offer-id offerId String

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

Параметр выводится при получении информации о ставке, если вы используете тип идентификации товаров по идентификатору предложения.

Взаимоисключающий с параметром offer-name.

Для формата XML является атрибутом параметра offer.

model-card modelCard

Рекомендация только ставки cbid для размещения на карточке модели Яндекс.Маркета.

Ставка cbidвлияет на ранжирование предложений на карточке модели Яндекс.Маркета.

Параметр выводится, если в запросе указан параметр target=MODEL-CARD.

card-prices-cpo cardPricesCpo

Рекомендация ставки cbid для размещения на определенных позициях на карточке модели Яндекс.Маркета.

Ставка cbid влияет на ранжирование предложений на карточке модели Яндекс.Маркета.

Параметр выводится, если в запросе указан параметр target=CARD-PRICES-CPO.

Внимание. Параметр target=CARD-PRICES-CPO устарел и не рекомендуется к использованию. Рекомендуется указывать в запросе параметр target=MODEL-CARD и пользоваться параметром выходных данных model-card.
name offerName String

Название предложения.

Параметр выводится при получении информации о ставке, если вы используете тип идентификации товаров по названию предложения.

Параметры, вложенные в model-card / modelCard

current-pos-all currentPosAll Int32

Позиция предложения на первой странице раздела Цены карточки модели Яндекс.Маркета.

Если параметр не выдается или имеет значение 0 — предложение не попало на первую страницу раздела Цены.

Для формата XML является атрибутом параметра model-card.

current-pos-top currentPosTop Int32

Позиция предложения в блоке Топ на карточке модели Яндекс.Маркета.

Если параметр не выдается или имеет значение 0 — предложение не попало в блок Топ.

Для формата XML является атрибутом параметра model-card.

error error Enum

Описание произошедшей ошибки. Параметр выводится только в случае возникновения ошибки.

Для формата XML является атрибутом параметра model-card.

top-offers-count topOffersCount Int32

Количество предложений, попавших в блок Топ на карточке модели Яндекс.Маркета.

Для формата XML является атрибутом параметра model-card.

position posRecommendations

Рекомендация ставки для предложения для размещения на определенной позиции на карточке модели Яндекс.Маркета.

Параметры, вложенные в position / posRecommendations

pos String

Номер позиции предложения, для которой указывается рекомендация.

Параметр выводится только для формата XML и является атрибутом параметра position. Для формата JSON выводится номер позиции в виде числа.

cbid cbid Double

Рекомендованная ставка для достижения указанной позиции на карточке модели Яндекс.Маркета, в условных единицах.

Для формата XML является атрибутом параметра position.

error error Enum

Код произошедшей ошибки. Параметр выводится только в случае возникновения ошибки.

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

  • BID_UPPER_LIMIT — указанная в запросе позиция недостижима из-за выставления конкурентом максимальной ставки.

  • OFFER_NOT_DELIVERED — указанная в запросе позиция недостижима из-за того, что предложение не доставляется в регион.

  • UNKNOWN — указанная в запросе позиция недостижима по неизвестной причине. Обратитесь в службу поддержки.

Для формата XML является атрибутом параметра position.

Параметры, вложенные в card-prices-cpo / cardPricesCpo

current-pos-all currentPosAll Int32

Позиция предложения на первой странице раздела Цены карточки модели Яндекс.Маркета.

Если параметр не выдается или имеет значение 0 — предложение не попало на первую страницу раздела Цены.

Для формата XML является атрибутом параметра card-prices-cpo.

current-pos-top currentPosTop Int32

Позиция предложения в блоке Топ на карточке модели Яндекс.Маркета.

Если параметр не выдается или имеет значение 0 — предложение не попало в блок Топ.

Для формата XML является атрибутом параметра card-prices-cpo.

error error Enum

Описание произошедшей ошибки. Параметр выводится только в случае возникновения ошибки.

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

  • UNAVAILABLE — во входных данных передан параметр reference-values cbidили рекомендации ставкок недоступны.

Для формата XML является атрибутом параметра card-prices-cpo.

top-offers-count topOffersCount Int32

Количество предложений, попавших в блок Топ на карточке модели Яндекс.Маркета.

Для формата XML является атрибутом параметра card-prices-cpo.

position posRecommendations

Рекомендация ставки для предложения для размещения на определенной позиции на карточке модели Яндекс.Маркета.

Параметры, вложенные в position / posRecommendations

pos String

Номер позиции предложения, для которой указывается рекомендация.

Параметр выводится только для формата XML и является атрибутом параметра position. Для формата JSON выводится номер позиции в виде строки.

cbid cbid Double

Рекомендованная ставка для достижения указанной позиции на карточке модели Яндекс.Маркета, в условных единицах.

Ставка cbid влияет на ранжирование предложений на карточке модели.

Для формата XML является атрибутом параметра position.

error error Enum

Описание произошедшей ошибки. Параметр выводится только в случае возникновения ошибки.

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

  • UNREACHABLE — указанная в запросе позиция недостижима.

Для формата XML является атрибутом параметра position.

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

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

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

Описание

Пояснение

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

Ошибка 206 Partial Content

Запрос выполнен частично. По техническим причинам рекомендации для части предложений временно недоступны.

Выполните повторный запрос по тем предложениям offer, у которых атрибут error=SEARCH_TIMEOUT.

Ошибка 400 Bad Request

Current offer identification type is: 'idType'

Идентификация ставок не соответствует установленному режиму.

Идентифицируйте ставки в соответствии с установленным режимом. При необходимости смените режим идентификации в личном кабинете.

Either offer-id or offer-name should be specified

В теле запроса указаны взаимоисключающие параметры id и name.

Укажите в теле запроса только один из параметров: id или name.

Укажите параметр id, если вы используете тип идентификации товаров по идентификатору предложения.

Укажите параметр name, если вы выбрали тип идентификации товаров по названию предложения.

Feed should be specified

Не указан идентификатор прайс-листа, являющийся обязательным параметром, если у магазина зарегистрировано более одного прайс-листа и выбран режим получения информации о ставках по идентификатору предложения.

Проверьте корректность передаваемых в запросе данных.

Invalid position number: 'position'

Номер позиции, указанный в запросе, не число.

Проверьте корректность указанных в запросе позиций.

Offer name should not be empty

Название предложения, переданное в теле запроса, не должно быть пустым.

Проверьте корректность передаваемых в запросе данных.

Offer name should be 512 characters at most

Название предложения, переданное в теле запроса, не должно быть длиннее 512 символов.

Проверьте корректность передаваемых в запросе данных.

Position number should be in 'availablePositions': 'position'

Номер позиции должен быть из списка допустимых значений availablePositions.

Проверьте корректность указанных в запросе позиций.

Position number should be positive and not greater than 'maxPosition': 'position'

Номер позиции, указанный в запросе, должен быть положительным числом и не превышать значение maxPosition.

Проверьте корректность указанных в запросе позиций.

Too many offers: 'offersCount'

В запросе указано количество предложений, превышающее максимальное количество: 500.

Уменьшите количество передаваемых предложений.

Too many positions specified

Количество позиций в параметре positions, превышает максимальное количество позиций.

Уменьшите количество позиций в параметре positions.

Ошибка 403 Forbidden

Auction is not allowed for campaign 'campaignId'. Reason: 'reason'

Установка или удаление ставок для магазина campaignId невозможно по причине, указанной в параметре reason.

Возможные причины:

  • FIXED_TARIFF — тип размещения магазина «Старт». Управление ставками для магазинов с типом размещения «Старт» недоступно.

  • OFFLINE_SHOP — розничный магазин. Управление ставками для розничных магазинов недоступно.

Управление ставками недоступно.

Ошибка 404 Not Found

Feed not found: 'feedId'

В path-параметре feedId передан некорректный идентификатор прайс-листа.

Проверьте корректность данных в запросе.

Ограничения

Для методов POST /campaigns/{campaignId}/bids/recommended, POST /campaigns/{campaignId}/bids/recommended/top/market-search и PUT /campaigns/{campaignId}/bids действует групповое ресурсное ограничение. Ограничение вводится на суммарное количество предложений, по которым при помощи этих методов выставлены ставки или получены рекомендации.

Объем запросов к ресурсу, который возможно выполнить в течение суток, рассчитывается индивидуально и зависит от следующих показателей:

  • количество предложений на карточках моделей Яндекс.Маркета.

Примечание.

Количество предложений считается по данным за последние семь дней (не включая сегодня).

Для новых магазинов, еще не разместивших предложения, ограничение равно 0. При размещении предложений этими магазинами ограничение пересчитывается только на следующий день.

Примеры

Пример запроса:

curl -i -H 'Content-Type: application/xml'-X POST 'https://api.partner.market.yandex.ru/v2/campaigns/10001/bids/recommended.xml?target=MODEL-CARD'

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

-d '<offers>
  <offer id="12"/>
</offers>'

Пример ответа:

HTTP/1.1 200 OK
Date: Wed, 14 Jun 2017 00:42:42 GMT
Content-Type: application/xml;charset=utf-8
...

<response>
  <recommendations>
    <offer bid="0.32" cbid="1.01" feed-id="3456" min-bid="0.32" min-cbid="0.08" offer-id="12">
      <model-card current-pos-all="4" current-pos-top="4">
        <position pos="1" cbid="1.26"/>
        <position pos="2" cbid="1.03"/>
        <position pos="3" cbid="0.86"/>
        <position pos="4" cbid="0.62"/>
        <position pos="5" cbid="0.51"/>
        <position pos="6" cbid="0.50"/>
        <position pos="7" cbid="0.46"/>
        <position pos="8" cbid="0.41"/>
        <position pos="9" cbid="0.36"/>
        <position pos="10" cbid="0.26"/>
      </model-card>
    </offer>
  </recommendations>
</response>