Изменение статуса заказа

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

Описание

Изменяет статус заказа.
PUT /campaigns/{campaignId}/orders/{orderId}/status
Примечание. Метод доступен начиная с версии 2.2 партнерского API Яндекс.Маркета.

URL ресурса:

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

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

Параметры в URL:

Параметр

Тип

Значение

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

campaignId

Int64

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

orderId

Int64

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

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

XML

<order status="{enum}" substatus="{enum}"/>

JSON

{
  "order":
  {
    "status": "{enum}", 
    "substatus": "{enum}"
  }
}

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

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

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

Тип

Значение

order order

Заказ.

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

status status Enum

Новый статус заказа.

Должен соответствовать схеме изменения статуса заказа (см. таблицу ниже).

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

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

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

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

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

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

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

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

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

substatus substatus Enum

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

Должен соответствовать схеме изменения статуса заказа (см. таблицу ниже).

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

  • PROCESSING_EXPIRED — магазин не обработал заказ вовремя.

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

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

  • SHOP_FAILED — магазин не может выполнить заказ.

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

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

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

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

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

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

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

Схема изменения статуса заказа:

Событие

Исходный статус

Новый статус

Заказ готов к передаче в службу доставки.

PROCESSING

DELIVERY

Внимание. Заказ должен быть переведен в статус DELIVERY в течение семи дней. Если заказ не переведен в статус DELIVERY за этот срок, он автоматически отменяется, а магазину выставляется ошибка.

Заказ отменен на этапе обработки, причина указывается в параметре substatus.

PROCESSING

CANCELLED

Возможные значения параметра substatus:

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

  • SHOP_FAILED — магазин не может выполнить заказ.

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

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

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

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

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

DELIVERY

PICKUP

Заказ вручен покупателю.

DELIVERY или PICKUP

DELIVERED

Заказ отменен на этапе доставки, причина указывается в параметре substatus.

DELIVERY или PICKUP

CANCELLED

Возможные значения параметра substatus:

  • SHOP_FAILED — магазин не может выполнить заказ.

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

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

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

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

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

Внимание. Статус заказа не будет изменен, если магазин передает статус, нарушающий последовательность смены статусов заказа. В этом случае Яндекс.Маркет возвращает ответ с указанием соответствующей ошибки.

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

Возможны три варианта ответа от Яндекс.Маркета:

1. Ответ 200 ОК с информацией о заказе.

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

2. Ответ 500 Internal Server Error или 503 Service Unavailable.

Данный ответ означает, что на стороне Яндекс.Маркета произошел сбой и статус заказа не изменен. Магазин должен повторить запрос через некоторое время и дождаться получения ответа 200 OK. Помните, что если статус заказа не будет изменен, то заказ будет автоматически отменен, а покупателю будут возвращены деньги (если заказ был предоплачен).

3. Ответ с кодом 400, 403 или 404.

Данный ответ означает, что в запросе магазина содержатся ошибки и статус заказа не изменен. Магазин должен исправить ошибку и снова выполнить запрос, пока не будет получен ответ 200 OK. Подробные описания ошибок с кодами 4xx приведены ниже.

Внимание. Магазин должен обязательно получить от Яндекс.Маркета ответ 200 OK. Только в этом случае статус заказа будет успешно изменен. Если ответ 200 OK так и не получен — обратитесь в службу поддержки.

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

XML

<response>
  <order creation-date="{date}" currency="{enum}" fake="{boolean}" fee-ue="{double}" id="{int64}" items-total="{double}" payment-type="{enum}" payment-method="{enum}" status="{enum}" substatus="{enum}" tax-system="{enum}" total="{double}" is-booked="{boolean}">
    <buyer id="{string}" last-name="{string}" first-name="{string}" middle-name="{string}" email="{string}" phone="{string}"/>
    <delivery delivery-partner-type="{enum}" id="{string}" outlet-code="{string}" price="{double}" service-name="{string}" type="{enum}" vat="{enum}" outlet-id="{int64}">
      <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}"/>
      <region id="{int64}" name="{string}" type="{enum}">
        <parent id="{int64}" name="{string}" type="{enum}">
          ...
        </parent>
      </region>
      <shipments>
        <shipment depth="{int64}" height="{int64}" id="{int64}" status="{enum}" weight="{int64}" width="{int64}">
          <documents>
            <document type="{enum}" url="{string}"/>
            ...
          </documents>
          <items>
            <item count="{int32}" id="{int64}"/>
            ...
          </items>
          <tracks>
            <track delivery-service-id="{int64}" track-code="{string}"/>
            ...
          </tracks>
        </shipment>
        ...
      </shipments>
      <tracks>
        <track delivery-service-id="{int64}" track-code="{string}"/>
      </tracks>
    </delivery>
    <items>
      <item count="{int32}" feed-category-id="{string}" feed-id="{int64}" fee-ue="{double}" 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>
</response>

JSON

{
  "order":
  {
    "creationDate": "{date}",
    "currency": "{enum}",
    "fake": {boolean},
    "feeUE": {double},
    "id": {int64},
    "itemsTotal": {double},
    "paymentType": "{enum}",
    "paymentMethod": "{enum}",
    "status": "{enum}",
    "substatus": "{enum}",
    "taxSystem": "{enum}",
    "total": {double},
    "isBooked": {boolean},
    "buyer":
    {
      "id": "{string}",
      "lastName": "{string}",
      "firstName": "{string}",
      "middleName": "{string}",
      "email": "{string}",
      "phone": "{string}"
    },
    "delivery":
    {
      "deliveryPartnerType": "{enum}",
      "id": "{string}",
      "outletCode": "{string}",
      "price": {double},
      "serviceName": "{string}",
      "type": "{enum}",
      "vat": "{enum}",
      "outletId": {int64},
      "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":
      {
        "fromDate": "{date}",
        "toDate": "{date}",
        "fromTime": "{time}",
        "toTime": "{time}"
      },
      "region":
      {
        "id": {int64},
        "name": "{string}",
        "type": "{enum}",
        "parent":
        {
          "id": {int64},
          "name": "{string}",
          "type": "{enum}",
          "parent":
          {
            ...
          }
        }
      },
      "shipments":
      [
        {
          "depth": {int64},
          "height": {int64},
          "id": {int64},
          "status": "{enum}",
          "weight": {int64},
          "width": {int64},
          "documents":
          [
            {
              "type": "{enum}",
              "url": "{string}"
            },
            ...
          ],
          "items":
          [
            {
              "count": {int32},
              "id": {int64}
            },
            ...
          ],
          "tracks":
          [
            {
              "deliveryServiceId": {int64},
              "trackCode": "{string}"
            },
            ...
          ]
        },
        ...
      ],
      "tracks":
      [
        {
          "deliveryServiceId": {int64},
          "trackCode": "{string}"
        }
      ]
    },
    "items":
    [
      {
        "count": {int32},
        "feedCategoryId": "{string}", 
        "feedId": {int64},
        "feeUE": {double},
        "id": {int64}",
        "offerId": "{string}",
        "offerName": "{string}",
        "price": {double},
        "vat": "{enum}",
        "promos":
        [
          {
            "marketPromoId": "{string}",
            "subsidy": {float},
            "type": "{enum}",
          },
          ...
        ]
      },
      ...
    ],
    "notes": "{string}"
  }
}

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

Параметр для формата XML Параметр для формата JSON Тип Значение
response

Ответ.

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

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

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.

fee-ue feeUE Double
Внимание. Параметр устарел и не рекомендуется к использованию.

Данные по комиссии на товар в рамках программы « Заказ на Маркете » можно посмотреть в отчете по заказам.

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.

tax-system taxSystem Enum

Система налогообложения (СНО) магазина на момент оформления заказа.

Используется только совместно с параметром payment-method=YANDEX.

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

  • ECHN — единый сельскохозяйственный налог (ЕСХН).

  • ENVD — единый налог на вмененный доход (ЕНВД).

  • OSN — общая система налогообложения (ОСН).

  • PSN — патентная система налогообложения (ПСН).

  • USN — упрощенная система налогообложения (УСН).

  • USN_MINUS_COST — упрощенная система налогообложения, доходы, уменьшенные на величину расходов (УСН «Доходы минус расходы»).

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

total total Double

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

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

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

is-booked isBooked Boolean
Внимание. Параметр устарел и не рекомендуется к использованию.
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.

id id String

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

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

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

outlet-code outletCode

String

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

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

Параметр указывается, если type=PICKUP.

Для формата 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

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

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.

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

id id Int64

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

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

name name String

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

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

type type Enum

Тип региона.

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

  • AREA — область.

  • CITY — крупный город.

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

  • COUNTRY — страна.

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

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

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

  • REGION — регион.

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

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

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

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

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

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

  • TOWN — город.

  • UNKNOWN — неизвестный регион.

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

parent parent

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

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

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

id id Int64

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

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

name name String

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

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

type type Enum

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

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

  • AREA — область.

  • CITY — крупный город.

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

  • COUNTRY — страна.

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

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

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

  • REGION — регион.

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

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

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

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

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

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

  • TOWN — город.

  • UNKNOWN — неизвестный регион.

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

parent parent

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

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

shipment

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

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

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

depth depth Int64

Глубина упакованного заказа в сантиметрах.

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

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

height height Int64

Высота упакованного заказа в сантиметрах.

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

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

id id Int64

Идентификатор посылки, присвоенный Яндекс.Маркетом.

Яндекс.Маркет присвоит идентификатор в ответ на первый запрос PUT /campaigns/{campaignId}/orders/{orderId}/delivery. После этого магазин должен передавать значение параметра shipment id при каждом запросе.

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

status status Enum

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

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

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

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

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

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

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

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

weight weight Int64

Вес упакованного заказа, отгруженного в партнерскую службу доставки, в граммах.

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

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

width width Int64

Ширина упакованного заказа, отгруженного в партнерскую службу доставки, в сантиметрах.

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

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

documents documents

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

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

items items

Список товаров в посылке.

tracks tracks

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

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

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

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

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

item

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

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

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

count count Int32

Количество единиц товара в посылке.

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

id id Int64

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

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

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

track

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

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

Параметры, вложенные в track / tracks

delivery-service-id deliveryServiceId Int64

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

Обязательный параметр для первого (основного) номера посылки track-code.

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

track-code trackCode String

Номер посылки.

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

    Магазин может получить этот номер с помощью ресурсов GET /campaigns/{campaignId}/orders или GET /campaigns/{campaignId}/orders/{orderId}.

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

    Магазин может передать номер с помощью ресурса PUT /campaigns/{campaignId}/orders/{orderId}/delivery.

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

Параметры, вложенные в track / tracks

delivery-service-id deliveryServiceId Int64
Внимание. Параметр устарел и не рекомендуется к использованию. Идентификатор службы доставки указывается в параметре shipment delivery-service-id.
track-code trackCode String
Внимание. Параметр устарел и не рекомендуется к использованию. Номер посылки указывается в параметре shipment track-code.

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

item

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

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

count count Int32

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

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

feed-category-id feedCategoryId String

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

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

feed-id feedId Int64

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

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

fee-ue feeUE Double
Внимание. Параметр устарел и не рекомендуется к использованию.

Данные по комиссии на товар в рамках программы « Заказ на Маркете » можно посмотреть в отчете по заказам.

id id 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.

Примечание. Для заказов в статусе RESERVED, UNPAID, а также в подстатусах RESERVATION_EXPIRED и USER_NOT_PAID статуса CANCELLED персональная информация о покупателе и получателе заказа недоступна. Не выводятся следующие параметры:
  • параметры apartment, entrance, entryphone, phone и recipient, вложенные в параметр address;

  • параметр buyer и все вложенные в него параметры.

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

В случае ошибки сервер возвращает HTTP-код ответа и краткое описание ошибки (все коды и описания ошибок представлены в разделе Сообщения об ошибках в документации партнерского API Яндекс.Маркета). Характерные для данного метода ошибки:

Описание

Пояснение

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

Ошибка 400 Bad Request

Order 'orderId' with status 'currentStatus' is not allowed for status 'status'

Указанный статус невозможно установить из-за текущего статуса заказа (нарушение порядка смены статусов).

Установите статус, переход к которому возможен из текущего статуса.

Order status 'newStatus' must be accompanied with a substatus

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

Проверьте корректность передаваемого статуса и причины отмены заказа.

Order substatus 'substatus' does not match status 'status'

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

Проверьте корректность передаваемого статуса и причины отмены заказа.

Status 'status' is not allowed for delivery type 'type'

Указанный статус невозможно назначить заказу с текущим типом доставки.

Укажите допустимый для данного типа доставки статус или измените тип доставки.

Unknown status: 'status'

Указан неизвестный статус.

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

Unknown substatus: 'substatus'

Указана неизвестная причина отмены заказа.

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

Ошибка 403 Forbidden

Access denied

Нет доступа к магазину.

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

Ошибка 404 Not Found

Order not found: 'orderId'

Заказ с указанным идентификатором не найден.

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

Примеры

XML

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

curl -i -H 'Content-Type: application/xml' -X PUT 'https://api.partner.market.yandex.ru/v2/campaigns/10003/orders/12345/status.xml'

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

-d '<order status="DELIVERY"/>'

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

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

<response>
  <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="DELIVERY" tax-system="OSN" total="4050">
    <buyer id="LEgMQuuxR8" last-name="Иванов" first-name="Иван" middle-name="Иванович" email="ivanov.ivan@yandex.ru" phone="+71234567890"/>
    <delivery delivery-partner-type="YANDEX_MARKET" 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="REPUBLIC">
          <parent id="3" name="Центральный федеральный округ" type="AREA">
            <parent id="225" name="Россия" type="COUNTRY"/>
          </parent>
        </parent>
      </region>
      <shipments>
        <shipment depth="22" height="22" id="67891011" status="CREATED" weight="2000" width="22">
          <documents>
            <document type="LABEL" url="/campaigns/10003/orders/12345/labels/196"/>
          </documents>
          <items>
            <item count="3" id="6789"/>
            <item count="1" id="1011"/>
          </items>
          <tracks>
            <track delivery-service-id="12345" track-code="AB012345678RU"/>
          </tracks>
        </shipment>
      </shipments>
    </delivery>
    <items>
      <item count="3" 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>
      <item count="1" feed-category-id="41" feed-id="12345" offer-id="4607632101" offer-name="Тостер" price="2200" vat="VAT_18"/>
    </items>
  </order>
</response>

JSON

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

curl -i -H 'Content-Type: application/json' -X PUT 'https://api.partner.market.yandex.ru/v2/campaigns/10003/orders/12345/status.json'

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

-d '{
  "order":
  {
    "status": "DELIVERY"
  }
}'

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

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

{
  "order":
  {
    "creationDate": "01-07-2017 00:42:42",
    "currency": "RUR",
    "fake": false,
    "id": 12345,
    "itemsTotal": 3700,
    "paymentType": "PREPAID",
    "paymentMethod": "YANDEX",
    "status": "DELIVERY",
    "taxSystem": "OSN",
    "total": 4050,
    "buyer":
    {
      "id": "LEgMQuuxR8",
      "lastName": "Иванов",
      "firstName": "Иван",
      "middleName": "Иванович",
      "email": "ivanov.ivan@yandex.ru",
      "phone": "+71234567890"
    },
    "delivery":
    {
      "deliveryPartnerType": "YANDEX_MARKET",
      "price": 350,
      "serviceName": "СПСР",
      "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":
      {
        "fromDate": "02-07-2017",
        "toDate": "02-07-2017",
        "fromTime": "09:00",
        "toTime": "14:00"
      },
      "region":
      {
        "id": 213,
        "name": "Москва",
        "type": "CITY",
        "parent":
        {
          "id": 1,
          "name": "Москва и Московская область",
          "type": "REPUBLIC",
          "parent":
          {
            "id": 3,
            "name": "Центральный федеральный округ",
            "type": "AREA",
            "parent":
            {
              "id": 225,
              "name": "Россия",
              "type": "COUNTRY"
            }
          }
        }
      },
      "shipments":
      [
        {
          "depth": 22,
          "height": 22,
          "id": 67891011,
          "status": "CREATED",
          "weight": 2000,
          "width": 22,
          "documents":
          [
            {
              "type": "LABEL",
              "url": "/campaigns/10003/orders/12345/labels/196"
            }
          ],
          "items":
          [
            {
              "count": 3,
              "id": 6789
            },
            {
              "count": 1,
              "id": 1011
            }
          ],
          "tracks":
          [
            {
              "deliveryServiceId": 12345,
              "trackCode": "AB012345678RU"
            }
          ]
        }
      ] 
    },
    "items":
    [
      {
        "count": 3,
        "feedCategoryId": "35",
        "feedId": 12345,
        "offerId": "4609283881",
        "offerName": "Чайник электрический 100 W",
        "price": 1200,
        "vat": "VAT_18",
        "promos":
        [
          {
            "marketPromoId": "abc",
            "subsidy": 300,
            "type": "MARKET_DEAL",
          }
        ]
      },
      {
        "count": 1,
        "feedCategoryId": "41",
        "feedId": 12345,
        "offerId": "4607632101",
        "offerName": "Тостер",
        "price": 2200,
        "vat": "VAT_18"
      }
    ]
  }
}