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

Описание

Изменяет статус заказа.
PUT /campaigns/{campaignId}/orders/{orderId}/status

URL ресурса:

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

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

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

Параметр

Тип

Значение

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

campaignId

Int64

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

orderId

Int64

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

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

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

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

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

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

Тип

Значение

order order

Заказ.

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

status status Enum

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

Возможно только значение CANCELLED — заказ отменен.

Статус можно изменить только для заказов в статусе PROCESSING — заказ находится в обработке.

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

substatus substatus Enum

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

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

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

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

Возможны три варианта ответа от Bringly:

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

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

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

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

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

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

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

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

<response>
  <order creation-date="{date}" currency="{enum}" delivery-total="{double}" fake="{boolean}" fee-ue="{double}" id="{int64}" items-total="{double}" payment-type="{enum}" payment-method="{enum}" status="{enum}" subsidy-total="{double}" substatus="{enum}" total="{double}">
    <delivery delivery-partner-type="{enum}" id="{string}" outlet-code="{string}" price="{double}" service-name="{string}" type="{enum}">
      <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 id="{int64}">
          <items>
            <item count="{int32}" id="{int64}"/>
            ...
          </items>
          <documents>
            <document type="{enum}" url="{string}"/>
            ...
          </documents>
          <tracks>
            <track delivery-service-id="{int64}" track-code="{string}"/>
            ...
          </tracks>
        </shipment>
        ...
      </shipments>
    </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}">
        <promos>
          <promo market-promo-id="{string}" subsidy="{double}" type="{enum}"/>
          ...
        </promos>
      </item>
      ...
    </items>
    <notes>{string}</notes>
  </order>
</response>

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

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

Ответ.

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

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

order order

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

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

creation-date creationDate Date

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

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

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

currency currency Enum

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

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

  • EUR — евро.

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

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

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

delivery-total deliveryTotal Double

Общая стоимость доставки.

Передается в валюте, указанной в параметре currency.

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

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

fake fake Boolean

Тип заказа.

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

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

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

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

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

Данные по комиссии на товар можно посмотреть в отчете по заказам.

id id Int64

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

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

items-total itemsTotal Double

Общая сумма заказа без учета стоимости доставки и компенсаций магазину от Bringly в рамках акций.

Передается в валюте, указанной в параметре currency.

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

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

payment-type paymentType Enum

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

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

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

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

payment-method paymentMethod Enum

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

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

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

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

status status Enum

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

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

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

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

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

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

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

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

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

subsidy-total subsidyTotal Double

Общая компенсация магазину от Bringly в рамках акций.

Передается в валюте, указанной в параметре currency.

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

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

substatus substatus Enum

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

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

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

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

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

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

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

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

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

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

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

total total Double

Общая сумма заказа с учетом стоимости доставки, но без учета компенсаций магазину от Bringly в рамках акций.

Передается в валюте, указанной в параметре currency.

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

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

delivery delivery

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

items items

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

notes notes String

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

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

delivery-partner-type deliveryPartnerType Enum

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

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

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

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

id id String

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

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

outlet-code outletCode

String

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

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

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

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

price price Double

Стоимость доставки.

Передается в валюте, указанной в параметре currency.

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

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

service-name serviceName String

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

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

type type Enum

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

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

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

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

  • POST — почта.

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

dates dates

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

region region

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

shipments shipments

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

В параметре может указываться несколько посылок.

Параметры, вложенные в 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 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

id id Int64

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

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

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

items items

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

documents documents

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

Документы необходимы, чтобы служба-партнер Bringly забрала заказ у магазина.

tracks tracks

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

Максимальное значение: пять номеров посылок.

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

item

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

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

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

count count Int32

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

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

id id Int64

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

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

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

document

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

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

Параметры, вложенные в document / documents

type type Enum

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

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

  • LABEL — ярлык посылки в формате PDF.

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

url url String

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

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

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

track

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

Параметр нужно указывать, только если у посылки есть номер track-code.

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

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

delivery-service-id deliveryServiceId Int64

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

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

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

track-code trackCode String

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

В параметре передается номер, который передал магазин с помощью ресурса PUT /campaigns/{campaignId}/orders/{orderId}/delivery.

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

Параметры, вложенные в 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 указывается более низкая цена, которую должен заплатить покупатель. Компенсация магазину от Bringly до цены товара из прайс-листа передается в параметре subsidy.

Передается в валюте, указанной в параметре currency.

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

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

promos promos

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

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

promo

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

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

market-promo-id marketPromoId String

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

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

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

subsidy subsidy Double

Компенсация магазину от Bringly за единицу товара, участвующего в акциях.

Передается в валюте, указанной в параметре currency.

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

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

type type Enum

Тип акции.

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

  • MARKET_COUPON — скидка по промокоду от Bringly.

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

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

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

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

Описание

Пояснение

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

Ошибка 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'

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

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

Примеры

Запрос:

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

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

-d '<order status="CANCELLED" substatus="SHOP_FAILED"/>'

Ответ:

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" delivery-total="350" fake="false" id="12345" items-total="3700" payment-type="PREPAID" payment-method="YANDEX" status="CANCELLED" substatus="SHOP_FAILED" subsidy-total="300" total="4050">
    <delivery delivery-partner-type="SHOP" price="350" service-name="СПСР" type="DELIVERY">
      <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 id="67891011">
          <items>
            <item count="3" id="6789"/>
            <item count="1" id="1011"/>
          </items>
          <documents>
            <document type="LABEL" url="https://api.partner.market.yandex.ru/v2/campaigns/10003/orders/12345/labels/67891011"/>
          </documents>
          <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="1500">
        <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"/>
    </items>
  </order>
</response>