Список предложений для нескольких моделей

Описание

POST /models/offers

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

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

Для групповых моделей выдача предложений не поддерживается. Идентификаторы групповых моделей игнорируются.

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

URL ресурса:

https://api.partner.market.yandex.ru/v2/models/offers.[format]

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

Параметр

Тип

Значение

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

regionId

Int64

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

Идентификатор региона можно получить c помощью запроса GET /regions.

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

currency

Enum

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

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

  • BYN — белорусский рубль.

  • KZT — казахстанский тенге.

  • RUR — российский рубль.

  • UAH — украинская гривна.

Значение по умолчанию: используется национальная валюта магазина (национальная валюта страны происхождения магазина).

orderByPrice

Enum

Направление сортировки по цене.

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

  • ASC — сортировка по возрастанию.

  • DESC — сортировка по убыванию.

Значение по умолчанию: предложения выводятся в произвольном порядке.

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

<models>
  <id>{int64}</id>
  ...
</models>

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

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

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

Тип

Значение

models models

Список моделей.

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

id Int64

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

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

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

Примечание. Если одна или несколько моделей не найдены, возвращается ответ с результатами по остальным моделям. Если не найдена ни одна из запрашиваемых моделей, возвращается HTTP-код 404 и краткое описание ошибки.

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

<response>
  <models currency="{enum}" region-id="{int64}">
    <model id="{int64}" name="{string}">
      <offers offline="{int32}" online="{int32}">
        <offer discount="{int32}" name="{string}" pos="{int32}" pre-discount-price="{float}" price="{float}" region-id="{int64}" shipping-cost="{float}" shop-name="{string}" shop-rating="{int32}" in-stock="{int32}"/> 
        ...
      </offers>
      <prices avg="{double}" max="{double}" min="{double}"/>
    </model>
    ...
  </models>
</response>

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

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

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

Тип

Значение

response

Ответ.

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

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

models models

Список моделей товаров.

currency Enum

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

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

  • BYN — белорусский рубль.

  • KZT — казахстанский тенге.

  • RUR — российский рубль.

  • UAH — украинская гривна.

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

regionId Int64

Идентификатор региона, для которого выводится информация о предложениях модели (доставляемых в этот регион).

Информацию о регионе по идентификатору можно получить с помощью запроса GET /regions/{regionId}.

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

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

currency Enum

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

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

  • BYN — белорусский рубль.

  • KZT — казахстанский тенге.

  • RUR — российский рубль.

  • UAH — украинская гривна.

Выводится только для формата XML и является атрибутом параметра models.

region-id Int64

Идентификатор региона, для которого выводится информация о предложениях модели (доставляемых в этот регион).

Информацию о регионе по идентификатору можно получить с помощью запроса GET /regions/{regionId}.

Выводится только для формата XML и является атрибутом параметра models.

model

Описание модели.

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

Параметры, вложенные в model / models

id id Int64

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

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

name name String

Название модели товара.

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

offers offers

Список первых десяти предложений, расположенных на карточке модели.

offlineOffers Int32

Количество предложений в розничных магазинах в регионе.

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

onlineOffers Int32

Количество предложений в интернет-магазинах в регионе.

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

prices prices

Информация о ценах на модель товара.

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

offline Int32

Количество предложений в розничных магазинах в регионе.

Выводится только для формата XML и является атрибутом параметра offers.

online Int32

Количество предложений в интернет-магазинах в регионе.

Выводится только для формата XML и является атрибутом параметра offers.

offer

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

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

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

discount discount Int32

Скидка на предложение, в %.

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

name name String

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

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

pos pos Int32

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

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

pre-discount-price preDiscountPrice Float

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

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

price price Float

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

До версии 2.0 партнерского API Яндекс.Маркета у параметра был тип — string.

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

region-id regionId Int64

Идентификатор региона предложения (регион, откуда доставляется товар).

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

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

shipping-cost shippingCost Float

Стоимость доставки товара в регион.

Если значение параметра — 0, доставка осуществляется бесплатно. Если значение параметра — -1, магазин не осуществляет доставку этого товара (самовывоз). Если стоимость доставки неизвестна, параметр не выводится.

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

shop-name shopName String

Название магазина (в том виде, в котором отображается на Яндекс.Маркете).

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

shop-rating shopRating Int32

Рейтинг магазина.

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

  • -1 — у магазинов, недавно появившихся на Яндекс.Маркете, рейтинг появляется не сразу. До момента появления рейтинга для таких магазинов возвращается значение -1.

  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

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

in-stock inStock Int32
Внимание. Параметр устарел и не рекомендуется к использованию.

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

avg avg Float

Средняя цена предложения для модели в регионе.

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

max max Float

Максимальная цена предложения для модели в регионе.

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

min min Float

Минимальная цена предложения для модели в регионе.

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

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

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

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

Описание

Пояснение

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

Ошибка 400 Bad Request

Group cards offers are not supported

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

Укажите идентификатор негрупповой модели.

Invalid regionId: 'regionId'

Регион с идентификатором regionId не найден.

Проверьте корректность идентификатора региона.

Too many models requested: 'count'. Maximum is 'maxCount'

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

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

Unsupported currency: 'currency'

Валюта currency не поддерживается.

Проверьте корректность кода валюты.

Ошибка 404 Not Found

Models not found

Ни одна модель с указанными в теле запроса идентификаторами не найдена.

Проверьте корректность идентификаторов моделей в теле запроса.

Ограничения

Для методов GET /models/{modelId}/offers и POST /models/offers действует групповое ресурсное ограничение. Ограничение вводится на суммарное количество моделей, информация о которых запрошена при помощи этих методов.

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

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

  • количество активных магазинов клиента.

Примечание.

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

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

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

Примеры

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

curl -i -H 'Content-Type: application/xml'-X POST 'https://api.partner.market.yandex.ru/v2/models/offers.xml?regionId=213'

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

-d '<models>
  <id>11002659</id>
</models>'

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

HTTP/1.1 200 OK
Date: Mon, 10 Jul 2017 00:42:42 GMT
Content-Type: application/xml;charset=utf-8
...

<response>
  <models currency="RUR" region-id="213">
    <model id="11002659" name="Стиральная машина Bosch WOT 20255">
      <offers offline="258" online="14">
        <offer name="Стиральная машина Bosch WOT 20255" pos="1" price="37970" region-id="213" shipping-cost="490" shop-name="Магазин.Ру" shop-rating="5"/>
        <offer name="Стиральная машина Bosch WOT20255OE" pos="2" price="47990" region-id="213" shipping-cost="490" shop-name="Ниф-Ниф.Ру" shop-rating="4"/>
        <offer name="Стиральная машина Bosch WOT 20255OE" pos="3" price="47990" region-id="213" shipping-cost="600" shop-name="Наф-Наф.Ру" shop-rating="5"/>
        <offer discount="15" name="Bosch WOT 20255" pos="4" pre-discount-price="40000" price="34000" region-id="213" shipping-cost="999" shop-name="Нуф-Нуф.Ру" shop-rating="3"/>
        <offer name="Стиральная машина с вертикальной загрузкой Bosch WOT20255OE" pos="5" price="38990" region-id="213" shipping-cost="490" shop-name="Волк.Ру" shop-rating="4"/>
        <offer name="Стиральная машина Bosch WOT20255OE" pos="6" price="38989" region-id="213" shipping-cost="450" shop-name="Белоснежка.Ру" shop-rating="4"/>
        <offer name="Стиральная машина Bosch WOT 20255OE" pos="7" price="47990" region-id="213" shipping-cost="600" shop-name="ИльяМуромец.Ру" shop-rating="5"/>
        <offer pos="8" name="Стиральная машина с вертикальной загрузкой Bosch WOT20255OE" price="37390" region-id="213" shipping-cost="0" shop-name="ДобрыняНикитич.Ру" shop-rating="4"/>
        <offer name="Стиральная машина Bosch WOT 20255" pos="9" price="36740" region-id="213" shipping-cost="600" shop-name="АлешаПопович.Ру" shop-rating="4"/>
        <offer name="Стиральная машина Bosch WOT 20255 OE" pos="10" price="38990" region-id="213" shipping-cost="0" shop-name="Медведь.Ру" shop-rating="3"/>
      </offers>
      <prices avg="40995" max="47990" min="34000"/>
    </model>
  </models>
</response>