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

Описание

PUT /campaigns/{campaignId}/bids

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

Внимание. Для использования этого метода необходимо, чтобы в личном кабинете в качестве источника информации о ставках был выбран личный кабинет и API.

Передача значений ставок осуществляется в теле PUT-запроса. Действует ограничение на количество ставок в одном запросе: 500 ставок.

URL ресурса:

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

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

Параметр

Тип

Значение

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

campaignId

Int64

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

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

<offer-bids>
  <offer-bid bid="{float}" cbid="{float}" dont-pull-up-bids="{boolean}" feed-id="{integer}" offer-id="{string}" offer-name="{string}"/>
  ...
</offer-bids>
Структура входных данных для формата XML до версии 2.0 партнерского API Яндекс.Маркета
<offer-bids>
  <offer-bid bid="{float}" cbid="{float}" offer-name="{string}"/>
  ...
</offer-bids>

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

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

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

Тип

Значение

offer-bids bids

Список ставок.

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

offer-bid

Описание ставки.

Для каждого описания необходимо указать выбранный идентификатор предложения, а также хотя бы один из параметров bidcbid и dont-pull-up-bids.

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

Параметры, вложенные в offer-bid / bids

bid bid Float

Общая ставка, в условных единицах. Для отделения целой части от дробной используется точка.

Чтобы удалить общую ставку (то есть установить предложению ставку по умолчанию), передайте значение 0.

Необязательный параметр. Если параметр не задан или в параметре указано пустое значение, текущая общая ставка не меняется.

Обязательно указать хотя бы один из следующих параметров: bid, cbid, dont-pull-up-bids.

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

cbid cbid Float

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

Чтобы удалить ставку для карточки модели (т. е. установить предложению ставку по умолчанию), необходимо в параметре указать значение 0.

Необязательный параметр. Если параметр не задан или в параметре указано пустое значение, текущая ставка для карточки модели не меняется.

Обязательно указать хотя бы один из следующих параметров: bid, cbid, dont-pull-up-bids.

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

dont-pull-up-bids dontPullUpBids Boolean

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

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

Необязательный параметр. Если параметр не задан, автоматическое повышение ставок включено.

Обязательно указать хотя бы один из следующих параметров: bid, cbid, dont-pull-up-bids.

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

feed-id feedId Integer

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

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

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

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

offer-id offerId String

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

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

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

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

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

offer-name offerName String

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

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

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

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

Внимание.

Ставки на Яндекс.Маркете обновляются:

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

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

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

<bids-set>
  <offer-bid bid="{float}" cbid="{float}" dont-pull-up-bids="{boolean}" error="{enum}" feed-id="{integer}" offer-id="{string}" offer-name="{string}"/>
  ...
</bids-set>
Структура выходных данных для формата XML до версии 2.0 партнерского API Яндекс.Маркета
<bids-set>
  <offer-bid bid="{float}" cbid="{float}" error="{enum}" offer-name="{string}"/>
  ...
</bids-set>

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

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

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

Тип

Значение

bids-set bidsSet

Список установленных ставок.

До версии 2.0 партнерского API Яндекс.Маркета параметр в формате JSON назывался bids-set.

Параметры, вложенные в bids-set / bidsSet

offer-bid

Описание установленной ставки.

Параметры, вложенные в offer-bid / bidsSet

bid bid Double

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

Внимание.

Выводится размер ставки, который был передан магазином.

Если переданная магазином ставка выше максимально допустимого размера либо ниже минимально допустимого значения (и не передан параметр dont-pull-up-bids="true"), то применяется ставка, скорректированная системой до допустимого значения. В этом случае размер ставки, указанный в данном параметре, отличается от применяемого.

Если параметр не указан, то на предложение общая ставка не установлена, то есть применяется ставка по умолчанию (если установлена) или минимальная ставка.

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

cbid cbid Double

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

Внимание.

Выводится размер ставки, который был передан магазином.

Если переданная магазином ставка выше максимально допустимого размера либо ниже минимально допустимого значения (и не передан параметр dont-pull-up-bids="true"), то применяется ставка, скорректированная системой до допустимого значения. В этом случае размер ставки, указанный в данном параметре, отличается от применяемого.

Если параметр не указан, то на предложение общая ставка не установлена, то есть применяется ставка по умолчанию (если установлена) или минимальная ставка.

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

dont-pull-up-bids dontPullUpBids Boolean

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

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

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

error error Enum

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

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

  • INVALID_BID_VALUE — указано некорректное значение ставки.

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

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

feed-id feedId Int64

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

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

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

offer-id offerId String

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

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

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

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

offer-name offerName String

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

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

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

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

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

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

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

Описание

Пояснение

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

Ошибка 400 Bad Request

Current offer identification type is: 'idType'

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

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

Duplicate offer bids are not allowed: 'offerName'

Среди данных, переданных в теле запроса, встречается одно и то же предложение более одного раза.

Проверьте передаваемые в запросе данные на наличие повторяющихся предложений.

Either offer-id or offer-name should be specified

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

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

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

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

Either one type of bid should be specified

Для каждого предложения, переданного в теле запроса, должен быть указан хотя бы один из параметров: bid, cbid.

Укажите для каждого предложения хотя бы один из параметров: bid, cbid.

Feed should be specified

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

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

Offer name should not be empty

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

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

Too many bids: 'bidsCount'

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

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

Ошибка 403 Forbidden

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

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

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

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

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

  • SOURCE_NOT_WEB — в личном кабинете в качестве источника информации о ставках указан источник, отличный от «Партнерский интерфейс и API».

При возникновении причины SOURCE_NOT_WEB укажите в личном кабинете в качестве источника информации о ставках вариант «Партнерский интерфейс и API». В остальных случаях управление ставками не доступно.

Ошибка 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 PUT 'https://api.partner.market.yandex.ru/v2/campaigns/10001/bids.xml'

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

-d '<offer-bids>
  <offer-bid bid="0.22" cbid="0.33" feed-id="30919" offer-id="239982"/>
  <offer-bid bid="0.22" cbid="0.27" feed-id="30919" offer-id="239983"/>
  <offer-bid bid="0.22" cbid="0.15" feed-id="30919" offer-id="239984"/>
</offer-bids>'

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

HTTP/1.1 200 OK
Date: Sat, 19 Mar 2016 12:08:12 GMT
Content-Type: application/xml;charset=utf-8
...

<response>
  <bids-set>
    <offer-bid bid="0.22" cbid="0.33" feed-id="30919" offer-id="239982"/>
    <offer-bid bid="0.22" cbid="0.27" feed-id="30919" offer-id="239983"/>
    <offer-bid bid="0.22" cbid="0.15" error="OFFER_NOT_FOUND" feed-id="30919" offer-id="239984"/>
  </bids-set>
</response>
Пример запроса до версии 2.0 партнерского API Яндекс.Маркета
curl -i -H 'Content-Type: application/xml' -X PUT 'https://api.partner.market.yandex.ru/v1/campaigns/10001/bids.xml'

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

-d '<offer-bids>
  <offer-bid bid="0.4" cbid="0.33" offer-name="Bosch MSM 6B300"/>
  <offer-bid bid="0.35" cbid="0.27" offer-name="Tefal HB 7151"/>
  <offer-bid bid="0.18" cbid="0.15" offer-name="Philips HR 1371"/>
</offer-bids>'

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

HTTP/1.1 200 OK
Date: Sat, 19 Mar 2016 12:08:12 GMT
Content-Type: application/xml;charset=utf-8
...

<response>
  <bids-set>
    <offer-bid bid="0.4" cbid="0.33" offer-name="Bosch MSM 6B300"/>
    <offer-bid bid="0.35" cbid="0.27" offer-name="Tefal HB 7151"/>
    <offer-bid bid="0.18" cbid="0.15" error="OFFER_NOT_FOUND" offer-name="Philips HR 1371"/>
  </bids-set>
</response>