Уведомление об изменении состава заказа

Внимание. В конце мая Яндекс.Маркет закрывает программу «Заказ на Маркете». В мае магазины уже не смогут подключиться к этой программе. Подробнее.
  1. Описание
  2. Передаваемые магазину данные
  3. Ответные данные от магазина
  4. Описание ошибок
  5. Примеры

Описание

POST /order/items
Внимание. Запрос выполняется Яндекс.Маркетом.

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

Примечание. Необязательный ресурс. Если магазин не поддержит принятие запроса POST /order/items от Яндекс.Маркета, это не будет ошибкой.

URL ресурса:

https://<URL_запроса>/order/items

Таймаут на получение ответа: 10 секунд.

Передаваемые магазину данные

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

<order creation-date="{date}" currency="{enum}" fake="{boolean}" id="{int64}" items-total="{double}" payment-type="{enum}" payment-method="{enum}" status="{enum}" substatus="{enum}" tax-system="{enum}" total="{double}">
  <buyer id="{string}" last-name="{string}" first-name="{string}" middle-name="{string}" email="{string}" phone="{string}"/>
  <delivery delivery-partner-type="{enum}" delivery-service-id="{int64}" id="{string}" price="{double}" service-name="{string}" type="{enum}" vat="{enum}">
    <address postcode="{string}" country="{string}" city="{string}" subway="{string}" street="{string}" house="{string}" block="{string}" entrance="{string}" entryphone="{string}" floor="{string}" apartment="{string}" phone="{string}" recipient="{string}"/>
    <dates from-date="{date}" to-date="{date}" from-time="{time}" to-time="{time}"/>
    <outlet code="{string}"/>
    <region id="{int32}" name="{string}" type="{enum}">
      <parent id="{int32}" name="{string}" type="{enum}">
        ...
      </parent>
    </region>
    <shipments>
      <shipment depth="{int64}" height="{int64}" status="{enum}" weight="{int64}" width="{int64}">
        ...
      </shipment>
    </shipments>
  </delivery>
  <items>
    <item count="{int32}" feed-category-id="{string}" feed-id="{int64}" offer-id="{string}" offer-name="{string}" price="{double}" vat="{enum}">
      <promos>
        <promo market-promo-id="{string}" subsidy="{float}" type="{enum}"/>
        ...
      </promos>
    </item>
    ...
  </items>
  <notes>{string}</notes>
</order>

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

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

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

Тип

Значение

order order

Описание заказа.

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

creation-date creationDate Date

Дата оформления заказа.

Формат даты: ДД-ММ-ГГГГ ЧЧ:ММ:СС.

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

currency currency Enum

Валюта, в которой выражены цены товаров в заказе.

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

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

  • EUR — евро.

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

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

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

  • USD — доллар США.

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

fake fake Boolean

Тип заказа.

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

  • false — настоящий заказ покупателя или контрольный заказ Яндекс.Маркета.

    Примечание. Указание на то, что заказ — контрольный, содержится в параметре notes. Такие заказы не тарифицируются Яндекс.Маркетом.
  • true — отладочный заказ или контрольный заказ Яндекс.Маркета.

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

id id Int64

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

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

items-total itemsTotal Double

Общая сумма заказа в валюте заказа без учета стоимости доставки.

Для отделения целой части от дробной используется точка.

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

payment-type paymentType Enum

Тип оплаты заказа.

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

  • POSTPAID — оплата при получении заказа.

  • PREPAID — оплата при оформлении заказа.

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

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

payment-method paymentMethod Enum

Способ оплаты заказа.

Возможные значения, если выбрана постоплата (payment-type=POSTPAID):

  • CARD_ON_DELIVERY — оплата банковской картой при получении заказа.

  • CASH_ON_DELIVERY — оплата наличными при получении заказа.

Возможные значения, если выбрана предоплата (payment-type=PREPAID):

  • YANDEX — оплата при оформлении заказа.

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

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

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

status status Enum

Статус заказа.

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

  • CANCELLED — заказ отменен.

  • DELIVERED — заказ получен покупателем.

  • DELIVERY — заказ передан в службу доставки.

  • PICKUP — заказ доставлен в пункт самовывоза.

  • PROCESSING — заказ находится в обработке.

  • RESERVED — заказ в резерве (ожидается подтверждение от пользователя).

  • UNPAID — заказ оформлен, но еще не оплачен (если выбрана оплата при оформлении).

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

substatus substatus Enum

Причина отмены заказа.

Выводится, если параметр status=CANCELLED.

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

  • PROCESSING_EXPIRED — магазин не обработал заказ в течение семи дней.

  • REPLACING_ORDER — покупатель решил заменить товар другим по собственной инициативе.

  • RESERVATION_EXPIRED — покупатель не завершил оформление зарезервированного заказа в течение 10 минут.

  • SHOP_FAILED — магазин не может выполнить заказ, не нарушив условия на момент заказа.

  • USER_CHANGED_MIND — покупатель отменил заказ по собственным причинам.

  • USER_NOT_PAID — покупатель не оплатил заказ (для типа оплаты PREPAID) в течение двух часов.

  • USER_REFUSED_DELIVERY — покупателя не устраивают условия доставки.

  • USER_REFUSED_PRODUCT — покупателю не подошел товар.

  • USER_REFUSED_QUALITY — покупателя не устраивает качество товара.

  • USER_UNREACHABLE — не удалось связаться с покупателем.

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

total total Double

Общая сумма заказа в валюте заказа с учетом стоимости доставки.

Для отделения целой части от дробной используется точка.

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

buyer buyer

Информация о покупателе.

delivery delivery

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

items items

Новый состав товаров в заказе.

notes notes String

Комментарий к заказу.

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

id id String

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

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

last-name lastName String

Фамилия покупателя.

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

first-name firstName String

Имя покупателя.

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

middle-name middleName String

Отчество покупателя.

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

email email String

Адрес электронной почты покупателя.

Допускается любой адрес электронной почты, соответствующий стандарту RFC 2822.

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

phone phone String

Номер телефона покупателя.

Формат номера: +<код_страны><код_региона><номер_телефона>.

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

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

delivery-partner-type deliveryPartnerType Enum

Тип сотрудничества со службой доставки в рамках конкретного заказа.

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

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

  • YANDEX_MARKET — магазин работает со службой доставки через Яндекс.Маркет.

Для формата XML является атрибутом значения delivery.

delivery-service-id deliveryServiceId Enum

Идентификатор службы доставки.

Информацию о службе доставки можно получить с помощью запроса GET /delivery/services.

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

id id String

Идентификатор доставки, присвоенный магазином.

Указывается, только если магазин передал данный идентификатор в ответе на запрос методом POST /cart.

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

price price Double

Стоимость доставки в валюте заказа.

Для отделения целой части от дробной используется точка.

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

service-name serviceName String

Наименование службы доставки.

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

type type Enum

Способ доставки заказа.

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

  • DELIVERY — курьерская доставка.

  • PICKUP — самовывоз.

  • POST — почта.

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

address address

Адрес доставки.

Указывается, если type=DELIVERY или type=POST.

dates dates

Диапазон дат доставки.

outlet outlet

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

region region

Регион доставки.

shipments shipments

Список посылок.

  • Если заказ доставляет служба-партнер Яндекс.Маркета (delivery-partner-type=YANDEX_MARKET), в параметре может указываться только одна посылка.

  • Если магазин работает со службой доставки напрямую (delivery-partner-type=SHOP) и является зарубежным, в параметре может указываться несколько посылок.

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

postcode postcode String

Почтовый индекс.

Указывается, если выбрана доставка почтой (delivery type=POST).

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

country country String

Страна.

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

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

city city String

Город или населенный пункт.

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

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

subway subway String

Станция метро.

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

street street String

Улица.

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

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

house house String

Дом или владение.

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

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

block block String

Корпус или строение.

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

entrance entrance String

Подъезд.

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

entryphone entryphone String

Код домофона.

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

floor floor String

Этаж.

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

apartment apartment String

Квартира или офис.

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

phone phone String

Телефон получателя заказа.

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

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

recipient recipient String

Фамилия, имя и отчество получателя заказа.

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

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

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

from-date fromDate Date

Ближайшая дата доставки.

Формат даты: ДД-ММ-ГГГГ.

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

to-date toDate Date

Самая поздняя дата доставки.

Если параметр to-date не указан, единственно возможной датой доставки считается дата, указанная в параметре from-date.

Формат даты: ДД-ММ-ГГГГ.

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

from-time fromTime Time

Начало интервала времени доставки.

Передается только совместно с параметром type=DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда должно быть указано 00 (исключение — 23:59).

Минимальное значение: 00:00.

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

to-time toTime Time

Конец интервала времени доставки.

Передается только совместно с параметром type=DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда должно быть указано 00 (исключение — 23:59).

Максимальное значение: 23:59.

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

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

code code String

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

Идентификатор указывается:

Указывается, если выбранный способ доставки — самовывоз (delivery type=PICKUP).

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

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

id id Int32

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

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

name name String

Название региона.

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

type type Enum

Тип региона.

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

  • CITY — город.

  • CITY_DISTRICT — район города.

  • CONTINENT — континент.

  • COUNTRY — страна.

  • COUNTRY_DISTRICT — федеральный округ.

  • METRO_STATION — станция метро.

  • MONORAIL_STATION — станция монорельса.

  • OTHERS_UNIVERSAL — другой тип населенного пункта.

  • OVERSEAS_TERRITORY — отдельная территория какого-либо государства, расположенная в другой части света (например, Ангилья, Гренландия, Бермудские острова и т. д.).

  • REGION — регион.

  • SECONDARY_DISTRICT — район города второго уровня (например, для ВАО Москвы районами второго уровня являются Измайлово, Новокосино, Перово и т. д.).

  • SETTLEMENT — поселение.

  • SUBJECT_FEDERATION — субъект федерации.

  • SUBJECT_FEDERATION_DISTRICT — район субъекта федерации.

  • SUBURB — пригород.

  • VILLAGE — село.

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

parent parent

Родительский регион.

Указываются родительские регионы до уровня страны включительно (type=COUNTRY).

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

id id Int32

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

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

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

name name String

Название родительского региона.

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

type type Enum

Тип родительского региона.

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

  • CITY — город.

  • CITY_DISTRICT — район города.

  • CONTINENT — континент.

  • COUNTRY — страна.

  • COUNTRY_DISTRICT — федеральный округ.

  • METRO_STATION — станция метро.

  • MONORAIL_STATION — станция монорельса.

  • OTHERS_UNIVERSAL — другой тип населенного пункта.

  • OVERSEAS_TERRITORY — отдельная территория какого-либо государства, расположенная в другой части света (например, Ангилья, Гренландия, Бермудские острова и т. д.).

  • REGION — регион.

  • SECONDARY_DISTRICT — район города второго уровня (например, для ВАО Москвы районами второго уровня являются Измайлово, Новокосино, Перово и т. д.).

  • SETTLEMENT — поселение.

  • SUBJECT_FEDERATION — субъект федерации.

  • SUBJECT_FEDERATION_DISTRICT — район субъекта федерации.

  • SUBURB — пригород.

  • VILLAGE — село.

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

parent parent

Рекурсивно вложенный элемент для указания родительских регионов более высокого уровня.

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

shipment

Информация о посылке.

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

Параметры, вложенные в shipment / shipments

status status Enum

Статус заказа в партнерской службе доставки.

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

  • CREATED — заказ создан в партнерской службе доставки и по нему получен номер посылки.

  • ERROR — ошибка создания заказа в партнерской службе доставки.

  • NEW — Яндекс.Маркет сформировал заявку на создание заказа в службе доставки.

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

Указывается, если заказ доставляет служба-партнер Яндекс.Маркета (delivery-partner-type=YANDEX_MARKET).

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

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

item

Информация о товаре в заказе.

Параметры, вложенные в item / items

count count Int32

Количество товара.

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

feed-category-id feedCategoryId String

Идентификатор категории, указанный в прайс-листе.

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

feed-id feedId Int64

Идентификатор прайс-листа, в котором указан товар.

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

offer-id offerId String

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

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

offer-name offerName String

Название товара.

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

price price Double

Цена товара в валюте заказа.

Внимание. Для предложений, участвующих в программе «Акции Маркета», в параметре price указывается более низкая цена, которую должен заплатить покупатель. Компенсация магазину от Яндекс.Маркета до цены товара из прайс-листа передается в параметре subsidy.

Для отделения целой части от дробной используется точка.

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

promos promos

Акции в рамках программы «Акции Маркета», в которых участвует предложение магазина.

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

promo

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

Параметры, вложенные в promo / promos

market-promo-id marketPromoId String

Идентификатор акции в рамках соглашения на оказание услуг по продвижению сервиса между Яндекс.Маркетом и магазином.

Параметр передается, только если параметр type=MARKET_DEAL.

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

subsidy subsidy Float

Компенсация магазину от Яндекс.Маркета за единицу товара, участвующего в программе «Акции Маркета».

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

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

type type Enum

Тип акции.

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

  • MARKET_COUPON — скидка по промокоду от Яндекс.Маркета.

  • MARKET_DEAL — скидка в рамках соглашения на оказание услуг по продвижению сервиса между Яндекс.Маркетом и магазином.

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

Ответные данные от магазина

Не ожидаются.

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

Магазин может вернуть следующие статусы ответов:

Описание

Пояснение

Ошибка 400 Bad Request

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

Ошибка 500 Internal Server Error

В случае технической ошибки на стороне магазина он должен вернуть статус ответа 500. Магазины с большим количеством таких ответов могут быть отключены от программы «Заказ на Маркете».

Примеры

Пример запроса от Яндекс.Маркета:

POST /order/items

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

<order creation-date="01-07-2017 00:42:42" currency="RUR" fake="false" id="12345" items-total="3700" payment-type="PREPAID" payment-method="YANDEX" status="PROCESSING" tax-system="OSN" total="4050">
  <buyer id="LEgMQuxR8" last-name="Иванов" first-name="Иван" middle-name="Иванович" email="ivanov.ivan@yandex.ru" phone="+71234567890"/>
  <delivery price="350" service-name="СПСР" type="DELIVERY" vat="VAT_10">
    <address postcode="119313" country="Россия" city="Москва" subway="Проспект Вернадского" street="Ленинский проспект" house="90" entrance="10" entryphone="289" floor="6" apartment="289" phone="+71234567890" recipient="Иванов Иван"/>
    <dates from-date="02-07-2017" to-date="02-07-2017" from-time="09:00" to-time="14:00"/>
    <region id="213" name="Москва" type="CITY">
      <parent id="1" name="Москва и Московская область" type="SUBJECT_FEDERATION">
        <parent id="3" name="Центральный федеральный округ" type="COUNTRY_DISTRICT">
          <parent id="225" name="Россия" type="COUNTRY"/>
         </parent>
       </parent>
     </region>
   </delivery>
   <items>
    <item count="2" feed-category-id="35" feed-id="12345" offer-id="4609283881" offer-name="Чайник электрический 100 W" price="1200" vat="VAT_18">
      <promos>
        <promo market-promo-id="abc" subsidy="300" type="MARKET_DEAL"/>
      </promos>
    </item>
   </items>
   <notes>Привезите побыстрее, пожалуйста!</notes>
</order>

Пример ответа магазина:

HTTP/1.1 200 OK