С 31 декабря push-API методы будут недоступны. С 1 октября они могут работать нестабильно.
Запросы, с помощью которых нужно передавать информацию:
- Об остатках — PUT v2/campaigns/{campaignId}/offers/stocks.
- О точках продаж магазина — GET v2/campaigns/{campaignId}/outlets.
Чтобы получать информацию о заказах, подключите API-уведомления. Как это сделать
Запрос информации о товарах
Маркет проверяет, что товары, которые покупатель сложил в корзину, есть в наличии в магазине. У DBS-магазинов запрашивается еще и информация о возможности доставки и доступных способах оплаты.
Таймаут на получение ответа: 5,5 секунд.
Request
POST
/cart
Body
application/json
{
"cart": {
"businessId": 0,
"currency": "RUR",
"deliveryCurrency": "RUR",
"buyer": {
"id": "string",
"lastName": "string",
"firstName": "string",
"middleName": "string",
"type": "PERSON"
},
"delivery": {
"region": {
"id": 0,
"name": "string",
"type": "OTHER",
"parent": {
"id": 0,
"name": "string",
"type": "OTHER"
}
},
"address": {
"country": "string",
"postcode": "string",
"city": "string",
"district": "string",
"subway": "string",
"street": "string",
"house": "string",
"block": "string",
"entrance": "string",
"entryphone": "string",
"floor": "string",
"apartment": "string",
"lat": 0,
"lon": 0,
"notes": "string",
"outletPhones": [
"string"
],
"schedule": [
{
"fromDay": "MONDAY",
"toDay": "MONDAY",
"fromTime": "string",
"toTime": "string"
}
]
},
"estimated": false
},
"items": [
{
"id": 0,
"feedId": 0,
"offerId": "string",
"feedCategoryId": "string",
"offerName": "string",
"price": 0,
"subsidy": 0,
"count": 0,
"shopSku": "string",
"warehouseId": 0,
"partnerWarehouseId": "string",
"fulfilmentShopId": 0,
"promos": [
{
"type": "DIRECT_DISCOUNT",
"subsidy": 0,
"marketPromoId": "string"
}
]
}
]
}
}
|
Name |
Description |
|
cart* |
Type: CartDTO Корзина. |
CartDTO
Корзина.
|
Name |
Description |
|
businessId |
Type: integer<int64> Идентификатор кабинета. |
|
buyer |
Type: object Информация о покупателе. Параметры |
|
currency |
Type: CurrencyType Валюта, в которой указаны цены на товары в заказе. Принимает значение Enum: |
|
delivery |
Type: CartDeliveryDTO Информация о доставке. |
|
deliveryCurrency |
Type: CurrencyType Только для модели DBS Валюта, в которой указаны цены на товары в заказе. Принимает значение Enum: |
|
items |
Type: CartItemDTO[] Товары в корзине. |
CurrencyType
Коды валют:
RUR— российский рубль.UAH— украинская гривна.BYR— белорусский рубль.KZT— казахстанский тенге.UZS— узбекский сум.
|
Type |
Description |
|
Enum: |
CartDeliveryDTO
Информация о доставке.
|
Name |
Description |
|
address |
Type: DeliveryAddressWithoutPersonalDataDTO Только для модели DBS Адрес доставки. Передается, если покупатель уже указал адрес на Маркете.
|
|
estimated |
Type: boolean Только для модели DBS Признак, который показывает, что дата доставки по заказу не подтверждена. Передается для товаров на заказ с долгим сроком доставки (31–60 дней). Окончательную дату доставки нужно передать Маркету в течение 7 дней с даты оформления заказа в запросе PUT v2/campaigns/{campaignId}/orders/{orderId}/delivery/date. |
|
region |
Type: ShopRegionDTO Регион доставки. |
CartItemDTO
Товары в корзине.
|
Name |
Description |
|
count |
Type: integer Количество единиц товара. |
|
feedCategoryId |
Type: string Идентификатор категории, указанный в каталоге. В ответе магазин не должен передавать этот идентификатор. Оставьте его пустым. |
|
feedId |
Type: integer<int64> Идентификатор каталога товаров. В ответе магазин должен указать тот же идентификатор. |
|
fulfilmentShopId |
Type: integer<int64> Только для модели DBS Идентификатор поставщика товара. Чтобы узнать его, войдите в кабинет продавца на Маркете и нажмите на его название. Идентификатор указан в поле ID магазина в строке нужного склада. |
|
id |
Type: integer<int64> Идентификатор товара в корзине. |
|
offerId |
Type: string Идентификатор вашего товарного предложения для определенного товара. Описание поля в Справке Маркета для продавцов Min length: Max length: Pattern: |
|
offerName |
Type: string Только для модели DBS Название товара. |
|
partnerWarehouseId ⦸
|
Type: string Только для модели FBS Идентификатор склада в системе магазина, на который сформирован заказ. |
|
price ⦸
|
Type: number<decimal> Цена товара в валюте заказа без учета вознаграждения продавцу за скидки по промокодам, купонам и акциям (параметр |
|
promos |
Type: OrderItemPromoDTO[] Информация о вознаграждениях продавцу за скидки на товар по промокодам, купонам и акциям. |
|
shopSku |
Type: string Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Что такое SKU и как его назначать Min length: Max length: Pattern: |
|
subsidy ⦸
|
Type: number<decimal> Общее вознаграждение продавцу за все скидки на товар:
|
|
warehouseId |
Type: integer<int64> Только для модели FBS Идентификатор склада на Маркете. |
DeliveryAddressWithoutPersonalDataDTO
Адрес доставки. Передается, если параметр type имеет значение DELIVERY.
|
Name |
Description |
|
apartment |
Type: string Номер квартиры или офиса. |
|
block |
Type: string Корпус или строение. |
|
city |
Type: string Город или населенный пункт. Обязательный параметр. |
|
country |
Type: string Страна. Необязательный параметр, если выбрана доставка заказа в пункт выдачи Маркета. |
|
district |
Type: string Район. |
|
entrance |
Type: string Номер подъезда. |
|
entryphone |
Type: string Код домофона. |
|
floor |
Type: string Этаж. |
|
house |
Type: string Номер дома или владения. Обязательный параметр. |
|
lat |
Type: number<decimal> Широта. Параметр указывается, если покупатель выбрал доставку заказа в брендированный пункт выдачи Маркета. Не гарантируем заполнение, так как это опциональное поле. |
|
lon |
Type: number<decimal> Долгота. Параметр указывается, если покупатель выбрал доставку заказа в брендированный пункт выдачи Маркета. Не гарантируем заполнение, так как это опциональное поле. |
|
notes |
Type: string Примечание к адресу. Например, Параметр указывается, если покупатель выбрал доставку заказа в брендированный пункт выдачи Маркета. |
|
outletPhones |
Type: string[] Телефоны пункта выдачи в формате Параметр указывается, если покупатель выбрал доставку заказа в брендированный пункт выдачи Маркета.
|
|
postcode |
Type: string Почтовый индекс. Указывается, если выбрана доставка почтой ( |
|
schedule |
Type: ShopOutletScheduleItemDTO[] Расписание работы пункта выдачи. Параметр указывается, если покупатель выбрал доставку заказа в брендированный пункт выдачи Маркета.
|
|
street |
Type: string Улица. |
|
subway |
Type: string Станция метро. |
ShopRegionDTO
Регион доставки.
|
Name |
Description |
|
name* |
Type: string Название региона. |
|
type* |
Type: ShopRegionType Тип региона. Enum: |
|
id |
Type: integer<int64> Идентификатор региона. |
|
parent |
Type: ShopRegionDTO Информация о родительском регионе. Указываются родительские регионы до уровня страны. |
OrderItemPromoDTO
Информация о вознаграждениях продавцу за скидки на товар по промокодам, купонам и акциям.
|
Name |
Description |
|
type* |
Type: OrderPromoType Тип скидки. Enum: |
|
marketPromoId |
Type: string Идентификатор акции в рамках соглашения на оказание услуг по продвижению сервиса между Маркетом и продавцом. |
|
subsidy |
Type: number<decimal> Вознаграждение продавцу от Маркета за товар, проданный в рамках акции. |
ShopOutletScheduleItemDTO
Расписание работы точки продаж.
|
Name |
Description |
|
fromDay* |
Type: DayOfWeekType День недели, в который пункт выдачи начинает работать:
Обязательный параметр. Enum: |
|
fromTime* |
Type: string Время начала работы пункта выдачи. Формат времени: 24-часовой, Обязательный параметр. Min length: |
|
toDay* |
Type: DayOfWeekType День недели, в который пункт выдачи заканчивает работать:
Обязательный параметр. Enum: |
|
toTime* |
Type: string Время окончания работы пункта выдачи. Формат времени: 24-часовой, Обязательный параметр. Min length: |
ShopRegionType
Тип региона:
-
CITY_DISTRICT— район города. -
CITY— крупный город. -
CONTINENT— континент. -
COUNTRY_DISTRICT— федеральный округ. -
COUNTRY— страна. -
REGION— регион. -
METRO_STATION— станция метро. -
MONORAIL_STATION— станция монорельса. -
OVERSEAS_TERRITORY— отдельная территория какого-либо государства, расположенная в другой части света (например, Ангилья, Гренландия, Бермудские острова и т. д.). -
SECONDARY_DISTRICT— район города второго уровня (например, для ВАО Москвы районами второго уровня являются Измайлово, Новокосино, Перово и т. д.). -
SETTLEMENT— поселение. -
SUBJECT_FEDERATION— субъект федерации. -
SUBJECT_FEDERATION_DISTRICT— район субъекта федерации. -
VILLAGE— город. -
SUBURB— пригород. -
OTHER— неизвестный регион.
|
Type |
Description |
|
Enum: |
OrderPromoType
Тип скидки:
-
DIRECT_DISCOUNT— прямая скидка, которую устанавливает продавец или Маркет. -
BLUE_SET— комплекты. -
BLUE_FLASH— флеш-акция. -
MARKET_COUPON— скидка по промокоду Маркета. -
MARKET_PROMOCODE— скидка по промокоду магазина. -
MARKET_BLUE— скидка на Маркете. -
CHEAPEST_AS_GIFT— самый дешевый товар в подарок. -
CASHBACK— кешбэк. -
SPREAD_DISCOUNT_COUNT— скидка за количество одинаковых товаров. -
SPREAD_DISCOUNT_RECEIPT— скидка от суммы чека. -
DISCOUNT_BY_PAYMENT_TYPE— прямая скидка при оплате картой Плюса. -
PERCENT_DISCOUNT— прямая скидка в процентах. -
DCO_EXTRA_DISCOUNT— дополнительная скидка, необходимая для расчета субсидии от Маркета. -
UNKNOWN— неизвестный тип.
Устаревшие типы:
-
GENERIC_BUNDLE. -
MARKET_COIN. -
PRICE_DROP_AS_YOU_SHOP. -
SECRET_SALE.
|
Type |
Description |
|
Enum: |
DayOfWeekType
День недели:
MONDAY— понедельник.TUESDAY— вторник.WEDNESDAY— среда.THURSDAY— четверг.FRIDAY— пятница.SATURDAY— суббота.SUNDAY— воскресенье.
|
Type |
Description |
|
Enum: |
Responses
200 OK
Актуальные данные о доступности товаров для переданной корзины и указанного региона доставки.
- Как передавать данные по товарам в разных ситуациях
-
Магазин не доставляет заказы в переданный регион или по адресу покупателя (DBS)
Укажите пустые опции доставки:
"deliveryOptions": []. В параметреitemsдля каждого товара параметрdeliveryпередавать необязательно.В корзине есть товары, которые магазин не доставляет в переданный регион или по адресу покупателя (DBS)
Для таких товаров укажите
"delivery": falseв параметреitems.Товар отсутствует в продаже (DBS)
Укажите для товара параметр
"count": 0. Если все товары из корзины отсутствуют в продаже, передайте параметрitemsпустым.Вы получили информацию, что товар отсутствует в продаже
Через 10–15 минут это предложение перестает отображаться на Маркете по модели DBS до следующего обновления данных на сервисе (индексация происходит каждые 4 часа).
Товара сейчас нет в наличии
Укажите параметр
count="0", вложенный в параметрitems. Если все товары из корзины отсутствуют в продаже, передайте параметрitemsпустым.Пример
Для удобства чтения пример кода приведен в сокращенном формате.
{ "cart": { "items": [ { "feedId": {int64}, "offerId": "{string}", "count": {int32}, "delivery": {boolean} }, ... ] } } - Как передавать информацию о доставке в пункты самовывоза (DBS)
-
Укажите в параметре
outletsидентификаторы всех пунктов самовывоза, в которых товар уже есть в наличии и в которые вы можете доставить товар, если его там еще нет. Нужно указать все подходящие пункты самовывоза в регионе, указанном в запросе в параметреregion(в том числе в случае, если параметр содержит неполный адрес: например, только город или район в области).Если условия доставки для разных пунктов самовывоза отличаются (например, в одни пункты заказ будет доставлен завтра, а в другие — послезавтра), в параметре
deliveryOptionsукажите по одному вложенному параметру для каждой группы пунктов с одинаковыми условиями и в каждом из них перечислите подходящие пункты. - Как передавать данные о цифровых товарах (DBS)
-
Если вы отключили работу с методом
POST cart, передавать данные не нужно. - Что передавать в качестве цены доставки (DBS)
-
На Маркете действует единый тариф на доставку для покупателей. Стоимость доставки подставляется автоматически из единой тарифной сетки. Можно передавать любое число — данные о стоимости доставки, переданные через API, не учитываются. Подробно о едином тарифе рассказано в Справке Маркета для продавцов.
- Диапазоны дат и интервалы доставки (DBS)
-
Укажите в параметрах
fromDateиtoDate, вложенных вdates, самую раннюю и самую позднюю возможные даты доставки соответственно, а в параметреintervals— даты и (для курьерской доставки при возможности) интервалы доставки, между которыми сможет выбрать пользователь.Набор параметров, вложенных в
dates, зависит от способа доставки заказа:- Для заказов со способом доставки курьером (
"type": "DELIVERY") следует передавать либо все три параметра (fromDate,toDate,intervals), либо только раннюю дату доставки (fromDate). - Для заказов со способом доставки самовывозом (
"type": "PICKUP") следует передавать только параметрыfromDateиtoDate. Параметрintervalsдля таких заказов передавать нельзя.
Пример
Для удобства чтения пример кода приведен в сокращенном формате.
Что вы передадите в ответе на
POST cartЧто сможет выбрать пользователь
"type": "DELIVERY", "dates": { "fromDate": "10-03-2021" }10 марта, 00:00–23:59
"type": "PICKUP", "dates": { "fromDate": "01-03-2021", "toDate": "03-03-2021" }1 марта, 00:00 — 3 марта, 23:59
- Для заказов со способом доставки курьером (
Body
application/json
{
"cart": {
"paymentMethods": [
"SHOP_PREPAID"
],
"deliveryCurrency": "RUR",
"items": [
{
"feedId": 0,
"offerId": "string",
"count": 0,
"delivery": false,
"sellerInn": "string"
}
],
"deliveryOptions": [
{
"id": "string",
"price": 0,
"serviceName": "string",
"type": "DELIVERY",
"dates": {
"fromDate": "23-09-2022",
"toDate": "23-09-2022",
"intervals": [
{
"date": "23-09-2022",
"fromTime": "string",
"toTime": "string"
}
]
},
"outlets": [
{
"code": "string"
}
],
"paymentMethods": [
"SHOP_PREPAID"
]
}
]
}
}
|
Name |
Description |
|
cart* |
Type: CartResponseDTO Корзина. |
CartResponseDTO
|
Name |
Description |
|
deliveryCurrency |
Type: CurrencyType Только для модели DBS Валюта, в которой указаны цены на товары в заказе. Принимает значение Enum: |
|
deliveryOptions |
Type: CartResponseDeliveryOptionDTO[] Только для модели DBS Опции доставки, доступные для корзины.
|
|
items |
Type: CartResponseItemDTO[] Товары в корзине. |
|
paymentMethods |
Type: OrderPaymentMethodType[] Способ оплаты заказа:
Значение по умолчанию: Enum: |
CartResponseDeliveryOptionDTO
|
Name |
Description |
|
serviceName* |
Type: string Наименование службы доставки. Обязательный параметр. Максимальная длина: 50 символов. |
|
dates |
Type: CartResponseDeliveryDatesDTO Диапазон дат доставки. Максимальное количество дат — 7. Max items: |
|
id |
Type: string Идентификатор опции доставки, присвоенный магазином. Если идентификатор указан, он будет передан обратно магазину в запросе POST order/accept. Максимальная длина: 50 символов. |
|
outlets |
Type: CartResponseOutletDTO[] Пункты самовывоза. Указывается, если выбран самовывоз ( |
|
paymentMethods |
Type: OrderPaymentMethodType[] Способ оплаты заказа:
Значение по умолчанию: Enum: |
|
price |
Type: number<decimal> Стоимость доставки в валюте заказа. C 1 июля 2021 вводятся единые тарифы на доставку для покупателей. Стоимость доставки будет одинакова независимо от того, кто доставляет заказ: Маркет или сам продавец. Она подставится автоматически из единой тарифной сетки. Данные о стоимости доставки, переданные через API, не будут учитываться. При этом все так же необходимо передавать Маркету информацию о сроках доставки. Подробнее в Справке Маркета для продавцов |
|
type |
Type: OrderDeliveryType Способ доставки заказа:
Enum: |
CartResponseItemDTO
|
Name |
Description |
|
count |
Type: integer Количество товара, которое доступно для заказа. Какое значение передавать: В запросе в параметре В зависимости от наличия верните:
Если вы подключали через поддержку опцию игнорирования остатков, верните любое значение, в том числе |
|
delivery |
Type: boolean Только для модели DBS Доставка товара в указанный в запросе регион:
|
|
feedId |
Type: integer<int64> Идентификатор каталога товаров. Нужно указать тот же идентификатор, что и в запросе от Маркета. |
|
offerId |
Type: string Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Что такое SKU и как его назначать Min length: Max length: Pattern: |
|
sellerInn |
Type: string Только для модели DBS ИНН продавца товара. |
OrderPaymentMethodType
Способ оплаты заказа:
-
Значения, если выбрана оплата при оформлении заказа (
"paymentType": "PREPAID"):-
YANDEX— банковской картой. -
APPLE_PAY— Apple Pay. -
GOOGLE_PAY— Google Pay. -
CREDIT— в кредит. -
TINKOFF_CREDIT— в кредит в Тинькофф Банке. -
TINKOFF_INSTALLMENTS— рассрочка в Тинькофф Банке. -
EXTERNAL_CERTIFICATE— подарочным сертификатом (например, из приложения «Сбербанк Онлайн»). -
SBP— через систему быстрых платежей. -
B2B_ACCOUNT_PREPAYMENT— заказ оплачивает организация.
-
-
Значения, если выбрана оплата при получении заказа (
"paymentType": "POSTPAID"):-
CARD_ON_DELIVERY— банковской картой. -
BOUND_CARD_ON_DELIVERY— привязанной картой при получении. -
BNPL_BANK_ON_DELIVERY— супер Сплитом. -
BNPL_ON_DELIVERY— Сплитом. -
CASH_ON_DELIVERY— наличными. -
B2B_ACCOUNT_POSTPAYMENT— заказ оплачивает организация после доставки.
-
-
UNKNOWN— неизвестный тип.
Значение по умолчанию: CASH_ON_DELIVERY.
|
Type |
Description |
|
Enum: |
CartResponseDeliveryDatesDTO
|
Name |
Description |
|
fromDate |
Type: string<date-dd-MM-yyyy> Ближайшая возможная дата доставки. Формат даты: Дата должна быть не ранее текущей даты и не позднее 31 календарного дня от текущей даты. Example: |
|
intervals |
Type: CartResponseDeliveryIntervalDTO[] Список возможных дат и интервалов времени доставки в указанный день. В параметре можно указать до 7 интервалов для каждой даты. Параметр обязателен для курьерской доставки ( Max items: |
|
toDate |
Type: string<date-dd-MM-yyyy> Самая поздняя дата доставки. Формат: Example: |
CartResponseOutletDTO
|
Name |
Description |
|
code* |
Type: string Идентификатор пункта самовывоза, присвоенный магазином. Если указан несуществующий идентификатор, такой пункт самовывоза не выводится покупателю при оформлении заказа. |
OrderDeliveryType
Способ доставки заказа:
-
DELIVERY— курьерская доставка. -
PICKUP— самовывоз. -
POST— почта. -
DIGITAL— для цифровых товаров. -
UNKNOWN— неизвестный тип.
|
Type |
Description |
|
Enum: |
CartResponseDeliveryIntervalDTO
|
Name |
Description |
|
fromTime* |
Type: string<time> Начало интервала времени доставки. Обязательный параметр.
Формат времени: 24-часовой, |
|
toTime* |
Type: string<time> Конец интервала времени доставки. Обязательный параметр.
Формат времени: 24-часовой, |
|
date |
Type: string<date-dd-MM-yyyy> Возможная дата доставки. Формат даты: Example: |
400 Bad Request
Если магазин считает запрос, поступающий от Маркета, некорректным, магазин должен вернуть статус ответа 400 с описанием причины ошибки в теле ответа. Такие ответы будут анализироваться на предмет нарушений и недоработок API со стороны Маркета.
500 Internal Server Error
В случае технической ошибки на стороне магазина он должен вернуть статус ответа 500. Магазины с большим количеством таких ответов могут быть отключены от Маркета.
No longer supported, please use an alternative and newer version.