Передача заказа и запрос на принятие заказа

Внимание. Маркет постепенно перестает поддерживать XML. Поэтому мы рекомендуем переходить на JSON. Сейчас XML можно использовать, если добавить в запрос Content-Type: application/xml. Без этого будут ошибки.
  1. Описание
  2. Передаваемые магазину данные
  3. Ответные данные от магазина
  4. Описание ошибок
  5. Примеры

Описание

POST /order/accept
Внимание. Запрос выполняется Маркетом и поддерживает обмен данными только в формате JSON.

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

Примечание. Запрос может быть выполнен более одного раза для уже принятого магазином заказа. Это возможно в случае, когда в ответ на запрос POST /order/accept магазин подтвердил принятие заказа, однако из-за технического сбоя ответ магазина не был зафиксирован Маркетом. Поскольку неизвестно, дошел ли запрос на принятие заказа до магазина или нет, то Маркет может повторить данный запрос с тем же идентификатором заказа. От магазина ожидается ответ с повторным подтверждением принятия данного заказа.

URL ресурса:

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

При появлении нового заказа Маркет отправляет вам запрос. Если вы не ответите на него принятием или отменой в течение 10 секунд, Маркет начнет повторять запрос в течение 12 часов или пока вы не ответите. Первые 3 раза — каждую минуту, после этого — раз в 10 минут.

Если за 15 минут после первого запроса вы так и не передадите ответ, Маркет отключит магазин и ваши товары пропадут с витрины. Чтобы подключиться снова, корректно ответьте на все реальные или проверочные запросы Маркета о создании заказа — принятием или отменой. После этого ваши товары вернутся на витрину автоматически.

Помните, что отмена заказа снижает ваш индекс качества.

Особенности передачи данных для цифровых заказов

При оформлении цифрового заказа магазину передается доставка с типом DIGITAL. В запросе отсутствует адрес доставки, а в параметрах fromDate и toDate, вложенных в dates, указаны текущий и следующий день соответственно.

Пример

Для удобства чтения пример кода приведен в сокращенном формате.

{
  ...
  "delivery":
    {
      "deliveryPartnerType": "SHOP",
      "deliveryServiceId": 99,
      "shopId": "{string}",
      "price": 0,
      "serviceName": "{string}",
      "type": "DIGITAL",
      "vat": "{enum}",
      "dates": {
        "fromDate": "{date}",
        "toDate": "{date}",
      }
    },
  ...
}
                  
Особенности передачи данных для заказов в ПВЗ Маркета

Если покупатель выбрал доставку заказа в брендированный пункт выдачи заказов Маркета, запрос придет без параметра outlet. Тип доставки typе соответствует значению PICKUP. Адрес и дата доставки в пункт выдачи заказов придут в элементах address и dates.

Подробнее о доставке в пункт выдачи заказов Маркета см. в Справке.

Пример

Для удобства чтения пример кода приведен в сокращенном формате.

{
  ...
  "delivery":
    {
      "type": "PICKUP",
      "dispatchType": "MARKET_BRANDED_OUTLET",
      "deliveryPartnerType": "SHOP",
      "deliveryServiceId": 99,
      "price": 1200,
      "serviceName": "СПСР",
      "liftType": "NOT_NEEDED",
      "liftPrice": 0,
      "vat": "VAT_20",
      "dates": {
        "fromDate": "15-02-2022",
        "toDate": "15-02-2022",
        "fromTime": "10:00",
        "toTime": "21:00"
      }
    },
  ...
}
                  

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

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

{
  "order":
  {
    "businessId": {int64},
    "currency": "{enum}",
    "fake": {boolean},
    "id": {int64},
    "paymentType": "{enum}",
    "paymentMethod": "{enum}",
    "taxSystem": "{enum}",
    "buyerItemsTotalBeforeDiscount": {double},
    "buyerTotalBeforeDiscount": {double},
    "buyerItemsTotal": {double},
    "buyerTotal": {double},
    "itemsTotal": {double},
    "total": {double},
    "totalWithSubsidy": {double},
    "deliveryTotal": {double},
    "subsidyTotal": {double},
    "delivery":
    {
      "dispatchType": "{enum}",
      "deliveryPartnerType": "{enum}",
      "deliveryServiceId": {int64},
      "shopDeliveryId": "{string}",
      "price": {double},
      "serviceName": "{string}",
      "type": "{enum}",
      "liftType": "{enum}",
      "liftPrice": {double},
      "vat": "{enum}",
      "shipments":
      [
        {
          "id": {int64},
          "boxes": [],
          "status": "{enum}",
          "shipmentDate": "{date}"
          "depth": {int64},
          "height": {int64},
          "weight": {int64},
          "width": {int64},
        },
        ...
      ],
      "address":
      {
        "country": "{string}",
        "city": "{string}",
        "subway": "{string}",
        "street": "{string}",
        "house": "{string}",
        "block": "{string}",
        "floor": "{string}",
        "lon": {string},
        "lat": {string},
        "notes": "{string}",
        "outletPhones": [
        "{string}",
        "{string}"
        ],
        "schedule": [
        {
        "fromDay": "{string}",
        "toDay": "{string}",
        "fromTime": "{time}",
        "toTime": "{time}"
        },
        ...
        ]
      },
      "dates":
      {
        "fromDate": "{date}", 
        "toDate": "{date}",
        "fromTime": "{time}",
        "toTime": "{time}"
      },
      "outlet":
      {
        "code": "{string}"
      },
      "subsidy": {double},
      "region":
      {
        "id": {int32}, 
        "name": "{string}",
        "type": "{enum}", 
        "parent":
        {
          "id": {int32},
          "name": "{string}",
          "type": "{enum}",
          "parent":
          {
            ...
          }
        }
      },
      "id": "{string}"
    },
    "items":
    [
      {
        "feedId": {int64},
        "offerId": "{string}",
        "offerName": "{string}",
        "feedCategoryId": "{string}",
        "fulfilmentShopId": {int64},
        "count": {int32},
        "price": {double},
        "buyer-price": {double},
        "buyerPriceBeforeDiscount": {double},
        "subsidy": {double},
        "vat": "{enum}",
        "promos":
        [
          {
            "marketPromoId": "{string}",
            "subsidy": {float},
            "type": "{enum}",
          },
          ...
        ]
      },
      ...
    ],
    "notes": "{string}"    
  }
}

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

Параметр

Тип

Значение

order

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

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

businessId Int64

Идентификатор бизнеса-аккаунта.

Объединяет внутри себя набор параметров partnerId.

currency Enum

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

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

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

fake Boolean

Тип заказа:

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

  • trueтестовый заказ Маркета.

id Int64

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

paymentType Enum

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

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

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

paymentMethod Enum

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

Возможные значения, если выбрана оплата при оформлении заказа ("paymentType": "PREPAID"):

  • YANDEX — банковской картой.

  • APPLE_PAY — Apple Pay.

  • GOOGLE_PAY — Google Pay.

  • TINKOFF_CREDIT — оформить в кредит.
  • TINKOFF_INSTALLMENTS — оформить в рассрочку.
  • SBP — через систему быстрых платежей.

Возможные значения, если выбрана оплата при получении заказа ("paymentType": "POSTPAID"):

  • CARD_ON_DELIVERY — банковской картой.

  • CASH_ON_DELIVERY — наличными.

taxSystem Enum

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

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

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

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

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

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

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

Используется только совместно с параметром "paymentMethod": "YANDEX".

buyerItemsTotalBeforeDiscount Double

Стоимость всех товаров в заказе в валюте покупателя:

  • До применения скидок.
  • Без учета стоимости доставки.
buyerTotalBeforeDiscount Double

Стоимость всех товаров в заказе в валюте покупателя:

  • До применения скидок.
  • С учетом стоимости доставки.
buyerItemsTotal Double

Стоимость всех товаров в заказе в валюте покупателя:

  • После применения скидок.
  • Без учета стоимости доставки.
buyerTotal Double

Стоимость всех товаров в заказе в валюте покупателя:

  • После применения скидок.
  • С учетом стоимости доставки.
itemsTotal Double

Стоимость всех товаров в заказе в валюте магазина:

  • После применения скидок.
  • Без учета стоимости доставки.
totalWithSubsidy Double

Сумма стоимости всех товаров в заказе и вознаграждения за них в валюте магазина (сумма параметров total и subsidyTotal).

deliveryTotal Double

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

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

total Double

Стоимость всех товаров в заказе в валюте магазина:

  • После применения скидок.
  • С учетом стоимости доставки.

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

subsidyTotal Double

Общее вознаграждение партнеру за скидки по всем товарам в заказе:

  • по промокодам;
  • по купонам;
  • по акциям Маркета со скидкой.

Баллы кешбэка по подписке Яндекс Плюс сюда не входят. Информацию об оплате баллами можно получить в ответе на другие запросы, например, GET /campaigns/{campaignId}/orders и GET /campaigns/{campaignId}/orders/{orderId}, в отчете по заказам POST /campaigns/{campaignId}/stats/orders или в личном кабинете.

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

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

delivery

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

items

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

notes String

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

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

dispatchType Enum

Способ отгрузки:

  • BUYER — доставка покупателю.

  • MARKET_BRANDED_OUTLET — доставка в пункт выдачи заказов Маркета.
  • SHOP_OUTLET — доставка в пункт выдачи заказов магазина.
deliveryPartnerType Enum

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

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

deliveryServiceId Enum

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

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

shopDeliveryId String

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

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

price Double

Маркет всегда передает в этом поле 0 — поле устарело и не используется, в будущем будет удалено.

До 1 июля 2021 в нем возвращалась ваша стоимость доставки заказа. Сейчас Маркет рассчитывает ее автоматически, по единому тарифу на доставку: нажмите, чтобы прочитать подробности.

serviceName String

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

type Enum

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

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

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

  • DIGITAL — только для цифровых товаров.

liftType Enum

Способ подъема на этаж:

  • NOT_NEEDED — не требуется.

  • MANUAL — ручной.

  • ELEVATOR — лифт.

  • CARGO_ELEVATOR — грузовой лифт.

  • FREE — любой из перечисленных выше, если вы подключили опцию бесплатного подъема.

liftPrice Double

Итоговая стоимость подъема на этаж.

Значение 0 соответствует бесплатному подъему.

vat Enum

Ставка налога на добавленную стоимость (НДС) на услугу доставки заказа:

  • NO_VAT — НДС не облагается, используется только для отдельных видов услуг.

  • VAT_0 — НДС 0%. Например, используется при продаже товаров, вывезенных в таможенной процедуре экспорта, или при оказании услуг по международной перевозке товаров.

  • VAT_10 — НДС 10%. Применяется для некоторых товаров, например, для лекарств.

  • VAT_10_110 — НДС 10/110. Расчетная ставка НДС 10%, применяется только для случая предоплаты.

  • VAT_20 — НДС 20%. Основная ставка НДС.

  • VAT_20_120 — НДС 20/120. Расчетная ставка НДС 20%, применяется только для случая предоплаты.
shipments

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

Передается, если заказ был создан в ПВЗ Маркета.

Иногда параметр может не приходить в ответе Маркета небольшое время сразу после создания заказа. Повторите запрос чуть позже — параметр появится. Если не хотите ждать — отправьте Маркету запрос POST /order/status, в нем параметр вернется быстрее.

address

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

Передается, если параметр type имеет значение DELIVERY.

dates

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

outlet

Пункт самовывоза, выбранный покупателем для получения заказа. Не возвращается в ответе, если покупатель выбрал получение заказа в брендированном пункте выдачи заказов Маркета (значение MARKET_BRANDED_OUTLET параметра dispatchType).

subsidy

Double

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

region

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

id String
Внимание. Параметр устарел. Идентификатор доставки, присвоенный магазином, передается в параметре shopDeliveryId.

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

id Int64

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

boxes
Примечание. Возвращается пустым. Параметр не используется и скоро будет удален.
weight Int64 Вес посылки в граммах.
width Int64 Ширина посылки в сантиметрах.
height Int64 Высота посылки в сантиметрах.
depth Int64 Глубина посылки в сантиметрах.
status Enum

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

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

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

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

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

shipmentDate Date

День, в который нужно отгрузить заказы службе доставки.

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

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

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

country String

Страна.

city String

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

subway String

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

street String

Улица.

house String

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

block String

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

floor String

Этаж.

lon String

Долгота.

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

lat String

Широта.

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

notes String

Примечание к адресу. Например, вход со двора.

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

outletPhones String

Телефоны ПВЗ в формате 8-812-1234567 890 (890 - добавочный).

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

schedule

Расписание работы ПВЗ.

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

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

fromDay String

День недели, в короторый ПВЗ начинает работать.

Возможные значения:
  • MONDAY — понедельник.

  • TUESDAY — вторник.

  • WEDNESDAY — среда.

  • THURSDAY — четверг.

  • FRIDAY — пятница.

  • SATURDAY — суббота.

  • SUNDAY — воскресенье.

toDay String

День недели, в который ПВЗ заканчивает работать.

Возможные значения:
  • MONDAY — понедельник.

  • TUESDAY — вторник.

  • WEDNESDAY — среда.

  • THURSDAY — четверг.

  • FRIDAY — пятница.

  • SATURDAY — суббота.

  • SUNDAY — воскресенье.

fromTime Time

Время начала работы ПВЗ.

Формат времени: 24-часовой, ЧЧ:ММ.

toTime Time

Время окончания работы ПВЗ.

Формат времени: 24-часовой, ЧЧ:ММ.

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

fromDate Date

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

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

Значение fromDate совпадает с датой отгрузки, если не указан параметр shipmentDate.

toDate Date

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

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

fromTime Time

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

Передается, только если параметр type принимает значение DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ.

toTime Time

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

Передается, только если параметр type принимает значение DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ.

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

code String

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

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

id Int32

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

name String

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

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 — село.

parent

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

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

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

id Int32

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

name String

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

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 — село.

parent

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

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

feedId Int64

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

offerId String

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

offerName String

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

feedCategoryId String

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

fulfilmentShopId Int64 Идентификатор поставщика товара.

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

count Int32

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

price Double

Цена товара, которую оплачивает покупатель, в валюте магазина. В цене уже учтены скидки по:

  • акциям;
  • купонам;
  • промокодам.

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

buyer-price Double

Цена товара в валюте покупателя. В цене уже учтены скидки по:

  • акциям;
  • купонам;
  • промокодам.

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

subsidy Double

Общее вознаграждение партнеру от Маркета за все акции Маркета, в которых участвует товар.

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

buyerPriceBeforeDiscount Double

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

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

vat Enum

Ставка налога на добавленную стоимость (НДС) на товар.

Используется только совместно с параметром "paymentMethod": "YANDEX".

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

  • NO_VAT — НДС не облагается, используется только для отдельных видов услуг.

  • VAT_0 — НДС 0%. Например, используется при продаже товаров, вывезенных в таможенной процедуре экспорта, или при оказании услуг по международной перевозке товаров.

  • VAT_10 — НДС 10%. Применяется для некоторых товаров, например, для лекарств.

  • VAT_10_110 — НДС 10/110. Расчетная ставка НДС 10%, применяется только для случая предоплаты.

  • VAT_20 — НДС 20%. Основная ставка НДС.

  • VAT_20_120 — НДС 20/120. Расчетная ставка НДС 20%, применяется только для случая предоплаты.
promos

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

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

type Enum

Тип скидки:

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

  • MARKET_COIN — скидка по купонам.

  • MARKET_PROMOCODE — скидка по промокоду магазина.
  • CHEAPEST_AS_GIFT — самый дешевый товар в подарок.
marketPromoId String

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

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

subsidy Float

Вознаграждение партнеру за скидку.

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

Параметр

Тип

Значение

order

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

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

businessId Int64

Идентификатор бизнеса-аккаунта.

Объединяет внутри себя набор параметров partnerId.

currency Enum

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

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

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

fake Boolean

Тип заказа:

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

  • trueтестовый заказ Маркета.

id Int64

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

paymentType Enum

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

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

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

paymentMethod Enum

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

Возможные значения, если выбрана оплата при оформлении заказа ("paymentType": "PREPAID"):

  • YANDEX — банковской картой.

  • APPLE_PAY — Apple Pay.

  • GOOGLE_PAY — Google Pay.

  • TINKOFF_CREDIT — оформить в кредит.
  • TINKOFF_INSTALLMENTS — оформить в рассрочку.
  • SBP — через систему быстрых платежей.

Возможные значения, если выбрана оплата при получении заказа ("paymentType": "POSTPAID"):

  • CARD_ON_DELIVERY — банковской картой.

  • CASH_ON_DELIVERY — наличными.

taxSystem Enum

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

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

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

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

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

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

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

Используется только совместно с параметром "paymentMethod": "YANDEX".

buyerItemsTotalBeforeDiscount Double

Стоимость всех товаров в заказе в валюте покупателя:

  • До применения скидок.
  • Без учета стоимости доставки.
buyerTotalBeforeDiscount Double

Стоимость всех товаров в заказе в валюте покупателя:

  • До применения скидок.
  • С учетом стоимости доставки.
buyerItemsTotal Double

Стоимость всех товаров в заказе в валюте покупателя:

  • После применения скидок.
  • Без учета стоимости доставки.
buyerTotal Double

Стоимость всех товаров в заказе в валюте покупателя:

  • После применения скидок.
  • С учетом стоимости доставки.
itemsTotal Double

Стоимость всех товаров в заказе в валюте магазина:

  • После применения скидок.
  • Без учета стоимости доставки.
totalWithSubsidy Double

Сумма стоимости всех товаров в заказе и вознаграждения за них в валюте магазина (сумма параметров total и subsidyTotal).

deliveryTotal Double

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

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

total Double

Стоимость всех товаров в заказе в валюте магазина:

  • После применения скидок.
  • С учетом стоимости доставки.

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

subsidyTotal Double

Общее вознаграждение партнеру за скидки по всем товарам в заказе:

  • по промокодам;
  • по купонам;
  • по акциям Маркета со скидкой.

Баллы кешбэка по подписке Яндекс Плюс сюда не входят. Информацию об оплате баллами можно получить в ответе на другие запросы, например, GET /campaigns/{campaignId}/orders и GET /campaigns/{campaignId}/orders/{orderId}, в отчете по заказам POST /campaigns/{campaignId}/stats/orders или в личном кабинете.

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

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

delivery

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

items

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

notes String

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

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

dispatchType Enum

Способ отгрузки:

  • BUYER — доставка покупателю.

  • MARKET_BRANDED_OUTLET — доставка в пункт выдачи заказов Маркета.
  • SHOP_OUTLET — доставка в пункт выдачи заказов магазина.
deliveryPartnerType Enum

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

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

deliveryServiceId Enum

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

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

shopDeliveryId String

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

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

price Double

Маркет всегда передает в этом поле 0 — поле устарело и не используется, в будущем будет удалено.

До 1 июля 2021 в нем возвращалась ваша стоимость доставки заказа. Сейчас Маркет рассчитывает ее автоматически, по единому тарифу на доставку: нажмите, чтобы прочитать подробности.

serviceName String

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

type Enum

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

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

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

  • DIGITAL — только для цифровых товаров.

liftType Enum

Способ подъема на этаж:

  • NOT_NEEDED — не требуется.

  • MANUAL — ручной.

  • ELEVATOR — лифт.

  • CARGO_ELEVATOR — грузовой лифт.

  • FREE — любой из перечисленных выше, если вы подключили опцию бесплатного подъема.

liftPrice Double

Итоговая стоимость подъема на этаж.

Значение 0 соответствует бесплатному подъему.

vat Enum

Ставка налога на добавленную стоимость (НДС) на услугу доставки заказа:

  • NO_VAT — НДС не облагается, используется только для отдельных видов услуг.

  • VAT_0 — НДС 0%. Например, используется при продаже товаров, вывезенных в таможенной процедуре экспорта, или при оказании услуг по международной перевозке товаров.

  • VAT_10 — НДС 10%. Применяется для некоторых товаров, например, для лекарств.

  • VAT_10_110 — НДС 10/110. Расчетная ставка НДС 10%, применяется только для случая предоплаты.

  • VAT_20 — НДС 20%. Основная ставка НДС.

  • VAT_20_120 — НДС 20/120. Расчетная ставка НДС 20%, применяется только для случая предоплаты.
shipments

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

Передается, если заказ был создан в ПВЗ Маркета.

Иногда параметр может не приходить в ответе Маркета небольшое время сразу после создания заказа. Повторите запрос чуть позже — параметр появится. Если не хотите ждать — отправьте Маркету запрос POST /order/status, в нем параметр вернется быстрее.

address

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

Передается, если параметр type имеет значение DELIVERY.

dates

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

outlet

Пункт самовывоза, выбранный покупателем для получения заказа. Не возвращается в ответе, если покупатель выбрал получение заказа в брендированном пункте выдачи заказов Маркета (значение MARKET_BRANDED_OUTLET параметра dispatchType).

subsidy

Double

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

region

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

id String
Внимание. Параметр устарел. Идентификатор доставки, присвоенный магазином, передается в параметре shopDeliveryId.

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

id Int64

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

boxes
Примечание. Возвращается пустым. Параметр не используется и скоро будет удален.
weight Int64 Вес посылки в граммах.
width Int64 Ширина посылки в сантиметрах.
height Int64 Высота посылки в сантиметрах.
depth Int64 Глубина посылки в сантиметрах.
status Enum

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

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

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

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

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

shipmentDate Date

День, в который нужно отгрузить заказы службе доставки.

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

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

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

country String

Страна.

city String

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

subway String

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

street String

Улица.

house String

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

block String

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

floor String

Этаж.

lon String

Долгота.

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

lat String

Широта.

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

notes String

Примечание к адресу. Например, вход со двора.

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

outletPhones String

Телефоны ПВЗ в формате 8-812-1234567 890 (890 - добавочный).

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

schedule

Расписание работы ПВЗ.

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

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

fromDay String

День недели, в короторый ПВЗ начинает работать.

Возможные значения:
  • MONDAY — понедельник.

  • TUESDAY — вторник.

  • WEDNESDAY — среда.

  • THURSDAY — четверг.

  • FRIDAY — пятница.

  • SATURDAY — суббота.

  • SUNDAY — воскресенье.

toDay String

День недели, в который ПВЗ заканчивает работать.

Возможные значения:
  • MONDAY — понедельник.

  • TUESDAY — вторник.

  • WEDNESDAY — среда.

  • THURSDAY — четверг.

  • FRIDAY — пятница.

  • SATURDAY — суббота.

  • SUNDAY — воскресенье.

fromTime Time

Время начала работы ПВЗ.

Формат времени: 24-часовой, ЧЧ:ММ.

toTime Time

Время окончания работы ПВЗ.

Формат времени: 24-часовой, ЧЧ:ММ.

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

fromDate Date

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

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

Значение fromDate совпадает с датой отгрузки, если не указан параметр shipmentDate.

toDate Date

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

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

fromTime Time

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

Передается, только если параметр type принимает значение DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ.

toTime Time

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

Передается, только если параметр type принимает значение DELIVERY.

Формат времени: 24-часовой, ЧЧ:ММ.

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

code String

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

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

id Int32

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

name String

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

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 — село.

parent

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

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

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

id Int32

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

name String

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

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 — село.

parent

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

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

feedId Int64

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

offerId String

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

offerName String

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

feedCategoryId String

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

fulfilmentShopId Int64 Идентификатор поставщика товара.

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

count Int32

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

price Double

Цена товара, которую оплачивает покупатель, в валюте магазина. В цене уже учтены скидки по:

  • акциям;
  • купонам;
  • промокодам.

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

buyer-price Double

Цена товара в валюте покупателя. В цене уже учтены скидки по:

  • акциям;
  • купонам;
  • промокодам.

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

subsidy Double

Общее вознаграждение партнеру от Маркета за все акции Маркета, в которых участвует товар.

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

buyerPriceBeforeDiscount Double

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

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

vat Enum

Ставка налога на добавленную стоимость (НДС) на товар.

Используется только совместно с параметром "paymentMethod": "YANDEX".

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

  • NO_VAT — НДС не облагается, используется только для отдельных видов услуг.

  • VAT_0 — НДС 0%. Например, используется при продаже товаров, вывезенных в таможенной процедуре экспорта, или при оказании услуг по международной перевозке товаров.

  • VAT_10 — НДС 10%. Применяется для некоторых товаров, например, для лекарств.

  • VAT_10_110 — НДС 10/110. Расчетная ставка НДС 10%, применяется только для случая предоплаты.

  • VAT_20 — НДС 20%. Основная ставка НДС.

  • VAT_20_120 — НДС 20/120. Расчетная ставка НДС 20%, применяется только для случая предоплаты.
promos

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

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

type Enum

Тип скидки:

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

  • MARKET_COIN — скидка по купонам.

  • MARKET_PROMOCODE — скидка по промокоду магазина.
  • CHEAPEST_AS_GIFT — самый дешевый товар в подарок.
marketPromoId String

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

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

subsidy Float

Вознаграждение партнеру за скидку.

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

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

Структура ответных данных:

{
  "order":
  {
    "accepted": {boolean},
    "id": "{string}",
    "reason": "{enum}",
    "shipmentDate": "{date}"
  }
}

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

Параметр

Тип

Значение

order

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

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

accepted Boolean

Принят ли заказ магазином.

Возможные значения:
  • false — заказ отклонен магазином;
  • true — заказ принят магазином.
Примечание. Если вы отклоните заказ, предложения из него будут скрыты с витрины. Подробнее о скрытии предложений см. в Справке Маркета для модели DBS.
id String

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

Максимальная длина идентификатора: 50 символов.

reason Enum

Причина отклонения заказа. Указывается в случае отклонения заказа ("accepted": false).

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

Примечание. Если вы отклоните заказ, предложения из него будут скрыты с витрины. Подробнее о скрытии предложений см. в Справке Маркета для модели DBS.
shipmentDate Date

День, в который вы будете отгружать заказы службе доставки.

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

Параметр

Тип

Значение

order

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

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

accepted Boolean

Принят ли заказ магазином.

Возможные значения:
  • false — заказ отклонен магазином;
  • true — заказ принят магазином.
Примечание. Если вы отклоните заказ, предложения из него будут скрыты с витрины. Подробнее о скрытии предложений см. в Справке Маркета для модели DBS.
id String

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

Максимальная длина идентификатора: 50 символов.

reason Enum

Причина отклонения заказа. Указывается в случае отклонения заказа ("accepted": false).

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

Примечание. Если вы отклоните заказ, предложения из него будут скрыты с витрины. Подробнее о скрытии предложений см. в Справке Маркета для модели DBS.
shipmentDate Date

День, в который вы будете отгружать заказы службе доставки.

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

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

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

Описание

Пояснение

Ошибка 400 Bad Request

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

Ошибка 500 Internal Server Error

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

Описание

Пояснение

Ошибка 400 Bad Request

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

Ошибка 500 Internal Server Error

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

Примеры

Запрос от Маркета:

POST /order/accept

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

{
  "order":
  {
    "businessId": 3675591,
    "currency": "RUR",
    "fake": false,
    "id": 12345,
    "paymentType": "PREPAID",
    "paymentMethod": "YANDEX",
    "taxSystem": "OSN",
    "subsidyTotal": 150,
    "buyerItemsTotalBeforeDiscount": 5800,
    "buyerTotalBeforeDiscount": 6150,
    "buyerItemsTotal": 5650,
    "buyerTotal": 6000,
    "itemsTotal": 5650,
    "total": 6000,
    "totalWithSubsidy": 6150,
    "deliveryTotal": 350,
    "delivery":
    {
      "price": 340,
      "region_id": "213",
      "serviceName": "СПСР",
      "type": "DELIVERY",
      "dispatchType": "BUYER",
      "liftType": "MANUAL",
      "liftPrice": 10,   
      "vat": "VAT_10",
      "shipments":
      [
        {
          "id": 90141,
          "status": "CREATED",
          "depth": 22,
          "height": 22,
          "weight": 2000,
          "width": 22,
          "boxes": [],
          "shipmentDate": "14-09-2020"
        }
      ],
      "address":
      {
        "country": "Россия",
        "city": "Москва",
        "subway": "Проспект Вернадского",
        "street": "Ленинский проспект",
        "house": "90",
        "floor": "6",
        "lon": 59.963648,
        "lat": 30.403774,
        "notes": "вход со двора",
        "outletPhones": [
        "7-495-2234562",
        "8-812-1234567 890"
        ],
        "schedule": [
        {
        "fromDay": "MONDAY",
        "toDay": "MONDAY",
        "fromTime": "09:00",
        "toTime": "21-00"
        },
        {
        "fromDay": "TUESDAY",
        "toDay": "TUESDAY",
        "fromTime": "09:00",
        "toTime": "21:00"
        },
        {
        "fromDay": "WEDNESDAY",
        "toDay": "WEDNESDAY",
        "fromTime": "09:00",
        "toTime": "21:00"
        },
        {
        "fromDay": "THURSDAY",
        "toDay": "THURSDAY",
        "fromTime": "09:00",
        "toTime": "21:00"
        },
        {
        "fromDay": "FRIDAY",
        "toDay": "FRIDAY",
        "fromTime": "09:00",
        "toTime": "21:00"
        },
        {
        "fromDay": "SATURDAY",
        "toDay": "SATURDAY",
        "fromTime": "10:00",
        "toTime": "20:00"
        },
        {
        "fromDay": "SUNDAY",
        "toDay": "SUNDAY",
        "fromTime": "10:00",
        "toTime": "20:00"
        },
        ]
      },
      "dates":
      {
        "fromDate": "15-09-2020",
        "toDate": "15-09-2020",
        "fromTime": "09:00",
        "toTime": "21:00"
      },
      "subsidy": 300,
      "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"
            }
          }
        }
      }
    },
    "items":
    [
      {
        "count": 3,
        "feedCategoryId": "35",
        "fulfilmentShopId": 1234567,
        "feedId": 12345,
        "offerId": "4609283881",
        "offerName": "Чайник электрический 100 W",
        "price": 1150,
        "buyer-price": 1150,
        "buyerPriceBeforeDiscount": 1200,
        "subsidy": 50,
        "vat": "VAT_20",
        "promos":
        [
          {
            "marketPromoId": "abc",
            "subsidy": 50,
            "type": "MARKET_DEAL"
          }
        ]
      },
      {
        "count": 1,
        "feedCategoryId": "41",
        "fulfilmentShopId": 1234567,
        "feedId": 12345,
        "offerId": "4607632101",
        "offerName": "Тостер",
        "price": 2200,
        "buyer-price": 2200,
        "buyerPriceBeforeDiscount": 2200,
        "subsidy": 0,
        "vat": "VAT_20"
      }
    ],
    "notes": "Привезите побыстрее, пожалуйста!"
  }
}

Ответ магазина, если он принимает заказ:

HTTP/1.1 200 OK
...

{
  "order":
  {
    "accepted": true,
    "id": "12345",
    "shipmentDate": "14-09-2020"
  }
}

Ответ магазина, если он отклоняет заказ:

HTTP/1.1 200 OK
...

{
  "order":
  {
    "accepted": false,
    "reason": "OUT_OF_DATE"
  }
}