Уведомление об отмене заказа покупателем
Описание
POST /order/cancellation/notify
Уведомляет магазин о создании покупателем заявки на отмену заказа, который находится в статусе DELIVERY или PICKUP.
Чтобы подтвердить или отклонить заявку на отмену заказа, отправьте запрос PUT /campaigns/{campaignId}/orders/{orderId}/cancellation/accept. Если вы не сделаете этого в течение 48 часов, заказ будет отменен автоматически.
URL ресурса:
https://<URL_запроса>/order/cancellation/notify
Таймаут на получение ответа: 10 секунд.
Передаваемые магазину данные
Структура данных в теле запроса приведена ниже. Порядок следования параметров не гарантируется.
{
"order":
{
"businessId": {int64},
"creationDate": "{date}",
"currency": "{enum}",
"fake": {boolean},
"id": {int64},
"itemsTotal": {double},
"paymentType": "{enum}",
"paymentMethod": "{enum}",
"status": "{enum}",
"substatus": "{enum}",
"taxSystem": "{enum}",
"total": {double},
"subsidyTotal": {double},
"buyer":
{
"id": "{string}",
"lastName": "{string}",
"firstName": "{string}",
"middleName": "{string}",
},
"delivery":
{
"deliveryPartnerType": "{enum}",
"deliveryServiceId": {int64},
"shopDeliveryId": "{string}",
"price": {double},
"serviceName": "{string}",
"type": "{enum}",
"dispatchType": "{enum}",
"vat": "{enum}",
"address":
{
"country": "{string}",
"city": "{string}",
"subway": "{string}",
"street": "{string}",
"house": "{string}",
"block": "{string}",
"entrance": "{string}",
"entryphone": "{string}",
"floor": "{string}",
"apartment": "{string}",
"recipient": "{string}"
},
"dates":
{
"fromDate": "{date}",
"toDate": "{date}",
"fromTime": "{time}",
"toTime": "{time}"
},
"outlet":
{
"code": "{string}"
},
"region":
{
"id": {int32},
"name": "{string}",
"type": "{enum}",
"parent":
{
"id": {int32},
"name": "{string}",
"type": "{enum}",
"parent":
{
...
}
}
}
},
"items":
[
{
"id": {int64},
"feedId": {int64},
"offerId": "{string}",
"offerName": "{string}",
"feedCategoryId": "{string}",
"count": {int32},
"price": {double},
"subsidy": {double},
"vat": "{enum}",
"promos":
[
{
"type": "{enum}",
"marketPromoId": "{string}",
"subsidy": {float}
},
...
]
},
...
]
}
}
Описание параметров:
Параметр | Тип | Значение |
---|---|---|
order | Описание заказа. | |
Параметры, вложенные в order | ||
businessId | Int64 | Идентификатор бизнеса-аккаунта. Объединяет внутри себя набор параметров partnerId. |
creationDate | Date | Дата оформления заказа. Формат даты: ДД-ММ-ГГГГ ЧЧ:ММ:СС. |
currency | Enum | Валюта, в которой выражены цены товаров в заказе. Возможные значения:
|
fake | Boolean | Тип заказа:
|
id | Int64 | Идентификатор заказа. |
itemsTotal | Double | Общая сумма заказа в валюте заказа без учета стоимости доставки и вознаграждения партнеру за скидки по промокодам, купонам и акциям (параметр Для отделения целой части от дробной используется точка. |
paymentType | Enum | Тип оплаты заказа:
|
paymentMethod | Enum | Способ оплаты заказа. Возможные значения, если выбрана оплата при оформлении заказа (
Возможные значения, если выбрана оплата при получении заказа (
|
status | Enum | Статус заказа:
Также могут передаваться другие значения. Обрабатывать их не требуется. |
substatus | Enum | Причина отмены заказа:
Также могут передаваться другие значения. Обрабатывать их не требуется. |
taxSystem | Enum | Система налогообложения (СНО) магазина на момент оформления заказа:
|
total | Double | Общая сумма заказа в валюте заказа с учетом стоимости доставки, но без учета вознаграждения партнеру за скидки по промокодам, купонам и акциям (параметр Для отделения целой части от дробной используется точка. |
subsidyTotal | Double | Общее вознаграждение партнеру за скидки по промокодам, купонам и акциям. Передается в валюте, указанной в параметре currency. Для отделения целой части от дробной используется точка. |
buyer | Информация о покупателе. | |
delivery | Информация о доставке. | |
items | Список товаров в заказе. | |
Параметры, вложенные в buyer | ||
id | String | Идентификатор покупателя. |
lastName | String | Фамилия покупателя. |
firstName | String | Имя покупателя. |
middleName | String | Отчество покупателя. |
Параметры, вложенные в delivery | ||
dispatchType | Enum | Способ отгрузки:
|
deliveryPartnerType | Enum | Тип сотрудничества со службой доставки в рамках конкретного заказа:
|
deliveryServiceId | Enum | Идентификатор службы доставки. Информацию о службе доставки можно получить с помощью запроса GET /delivery/services. |
shopDeliveryId | String | Идентификатор доставки, присвоенный магазином. Передается, только если магазин передал данный идентификатор в ответе на запрос POST /cart, в параметре id, вложенном в deliveryOptions. |
price | Double | Маркет всегда передает в этом поле 0 — поле устарело и не используется, в будущем будет удалено. До 1 июля 2021 в нем возвращалась ваша стоимость доставки заказа. Сейчас Маркет рассчитывает ее автоматически, по единому тарифу на доставку: нажмите, чтобы прочитать подробности. |
serviceName | String | Наименование службы доставки. |
type | Enum | Способ доставки заказа. Возможные значения:
|
vat | Enum | Ставка налога на добавленную стоимость (НДС) на услугу доставки заказа:
|
address | Адрес доставки. Передается, если параметр | |
dates | Диапазон дат доставки. | |
outlet | Пункт самовывоза, выбранный покупателем для получения заказа. Не возвращается в ответе, если покупатель выбрал получение заказа в брендированном пункте выдачи заказов Маркета (значение MARKET_BRANDED_OUTLET параметра | |
region | Регион доставки. | |
Параметры, вложенные в address | ||
country | String | Страна. |
city | String | Город или населенный пункт. |
subway | String | Станция метро. |
street | String | Улица. |
house | String | Дом или владение. |
block | String | Корпус или строение. |
entrance | String | Подъезд. |
entryphone | String | Код домофона. |
floor | String | Этаж. |
apartment | String | Квартира или офис. |
recipient | String | Фамилия, имя и отчество получателя заказа. |
Параметры, вложенные в dates | ||
fromDate | Date | Ближайшая возможная дата доставки. Формат даты: ДД-ММ-ГГГГ. |
toDate | Date | Самая поздняя дата доставки. Формат: ДД-ММ-ГГГГ. |
fromTime | Time | Начало интервала времени доставки. Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда указано 00 (исключение — 23:59). |
toTime | Time | Конец интервала времени доставки. Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда указано 00 (исключение — 23:59). |
Параметры, вложенные в outlet | ||
code | String | Идентификатор пункта самовывоза, присвоенный магазином. |
Параметры, вложенные в region | ||
id | Int32 | Идентификатор региона. |
name | String | Название региона. |
type | Enum | Тип региона. Возможные значения:
|
parent | Родительский регион. Указываются родительские регионы до уровня страны включительно ( | |
Параметры, вложенные в parent | ||
id | Int32 | Идентификатор родительского региона. |
name | String | Название родительского региона. |
type | Enum | Тип родительского региона. Возможные значения:
|
parent | Рекурсивно вложенный элемент для указания родительских регионов более высокого уровня. | |
Параметры, вложенные в items | ||
id | Int64 | Идентификатор товара в заказе. |
feedId | Int64 | Идентификатор прайс-листа, содержащего предложение. |
offerId | String | Идентификатор предложения из прайс-листа. |
offerName | String | Название товара. |
feedCategoryId | String | Идентификатор категории, указанной в прайс-листе. |
count | Int32 | Количество единиц товара. |
price | Double | Цена товара в валюте заказа. Для отделения целой части от дробной используется точка. |
subsidy | Double | Общее вознаграждение партнеру за все скидки на товар по промокодам, купонам и акциям. Передается в валюте заказа, для отделения целой части от дробной используется точка. |
vat | Enum | Ставка налога на добавленную стоимость (НДС) на товар. Используется только совместно с параметром Возможные значения:
|
promos | Информация о вознаграждениях партнеру за скидки на товар по промокодам, купонам и акциям. | |
Параметры, вложенные в promos | ||
type | Enum | Тип скидки:
|
marketPromoId | String | Идентификатор акции в рамках соглашения на оказание услуг по продвижению сервиса между Маркетом и партнером. Параметр передается, только если параметр |
subsidy | Float | Вознаграждение партнеру за скидку. Передается в валюте заказа, для отделения целой части от дробной используется точка. |
Параметр | Тип | Значение |
---|---|---|
order | Описание заказа. | |
Параметры, вложенные в order | ||
businessId | Int64 | Идентификатор бизнеса-аккаунта. Объединяет внутри себя набор параметров partnerId. |
creationDate | Date | Дата оформления заказа. Формат даты: ДД-ММ-ГГГГ ЧЧ:ММ:СС. |
currency | Enum | Валюта, в которой выражены цены товаров в заказе. Возможные значения:
|
fake | Boolean | Тип заказа:
|
id | Int64 | Идентификатор заказа. |
itemsTotal | Double | Общая сумма заказа в валюте заказа без учета стоимости доставки и вознаграждения партнеру за скидки по промокодам, купонам и акциям (параметр Для отделения целой части от дробной используется точка. |
paymentType | Enum | Тип оплаты заказа:
|
paymentMethod | Enum | Способ оплаты заказа. Возможные значения, если выбрана оплата при оформлении заказа (
Возможные значения, если выбрана оплата при получении заказа (
|
status | Enum | Статус заказа:
Также могут передаваться другие значения. Обрабатывать их не требуется. |
substatus | Enum | Причина отмены заказа:
Также могут передаваться другие значения. Обрабатывать их не требуется. |
taxSystem | Enum | Система налогообложения (СНО) магазина на момент оформления заказа:
|
total | Double | Общая сумма заказа в валюте заказа с учетом стоимости доставки, но без учета вознаграждения партнеру за скидки по промокодам, купонам и акциям (параметр Для отделения целой части от дробной используется точка. |
subsidyTotal | Double | Общее вознаграждение партнеру за скидки по промокодам, купонам и акциям. Передается в валюте, указанной в параметре currency. Для отделения целой части от дробной используется точка. |
buyer | Информация о покупателе. | |
delivery | Информация о доставке. | |
items | Список товаров в заказе. | |
Параметры, вложенные в buyer | ||
id | String | Идентификатор покупателя. |
lastName | String | Фамилия покупателя. |
firstName | String | Имя покупателя. |
middleName | String | Отчество покупателя. |
Параметры, вложенные в delivery | ||
dispatchType | Enum | Способ отгрузки:
|
deliveryPartnerType | Enum | Тип сотрудничества со службой доставки в рамках конкретного заказа:
|
deliveryServiceId | Enum | Идентификатор службы доставки. Информацию о службе доставки можно получить с помощью запроса GET /delivery/services. |
shopDeliveryId | String | Идентификатор доставки, присвоенный магазином. Передается, только если магазин передал данный идентификатор в ответе на запрос POST /cart, в параметре id, вложенном в deliveryOptions. |
price | Double | Маркет всегда передает в этом поле 0 — поле устарело и не используется, в будущем будет удалено. До 1 июля 2021 в нем возвращалась ваша стоимость доставки заказа. Сейчас Маркет рассчитывает ее автоматически, по единому тарифу на доставку: нажмите, чтобы прочитать подробности. |
serviceName | String | Наименование службы доставки. |
type | Enum | Способ доставки заказа. Возможные значения:
|
vat | Enum | Ставка налога на добавленную стоимость (НДС) на услугу доставки заказа:
|
address | Адрес доставки. Передается, если параметр | |
dates | Диапазон дат доставки. | |
outlet | Пункт самовывоза, выбранный покупателем для получения заказа. Не возвращается в ответе, если покупатель выбрал получение заказа в брендированном пункте выдачи заказов Маркета (значение MARKET_BRANDED_OUTLET параметра | |
region | Регион доставки. | |
Параметры, вложенные в address | ||
country | String | Страна. |
city | String | Город или населенный пункт. |
subway | String | Станция метро. |
street | String | Улица. |
house | String | Дом или владение. |
block | String | Корпус или строение. |
entrance | String | Подъезд. |
entryphone | String | Код домофона. |
floor | String | Этаж. |
apartment | String | Квартира или офис. |
recipient | String | Фамилия, имя и отчество получателя заказа. |
Параметры, вложенные в dates | ||
fromDate | Date | Ближайшая возможная дата доставки. Формат даты: ДД-ММ-ГГГГ. |
toDate | Date | Самая поздняя дата доставки. Формат: ДД-ММ-ГГГГ. |
fromTime | Time | Начало интервала времени доставки. Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда указано 00 (исключение — 23:59). |
toTime | Time | Конец интервала времени доставки. Формат времени: 24-часовой, ЧЧ:ММ. В качестве минут всегда указано 00 (исключение — 23:59). |
Параметры, вложенные в outlet | ||
code | String | Идентификатор пункта самовывоза, присвоенный магазином. |
Параметры, вложенные в region | ||
id | Int32 | Идентификатор региона. |
name | String | Название региона. |
type | Enum | Тип региона. Возможные значения:
|
parent | Родительский регион. Указываются родительские регионы до уровня страны включительно ( | |
Параметры, вложенные в parent | ||
id | Int32 | Идентификатор родительского региона. |
name | String | Название родительского региона. |
type | Enum | Тип родительского региона. Возможные значения:
|
parent | Рекурсивно вложенный элемент для указания родительских регионов более высокого уровня. | |
Параметры, вложенные в items | ||
id | Int64 | Идентификатор товара в заказе. |
feedId | Int64 | Идентификатор прайс-листа, содержащего предложение. |
offerId | String | Идентификатор предложения из прайс-листа. |
offerName | String | Название товара. |
feedCategoryId | String | Идентификатор категории, указанной в прайс-листе. |
count | Int32 | Количество единиц товара. |
price | Double | Цена товара в валюте заказа. Для отделения целой части от дробной используется точка. |
subsidy | Double | Общее вознаграждение партнеру за все скидки на товар по промокодам, купонам и акциям. Передается в валюте заказа, для отделения целой части от дробной используется точка. |
vat | Enum | Ставка налога на добавленную стоимость (НДС) на товар. Используется только совместно с параметром Возможные значения:
|
promos | Информация о вознаграждениях партнеру за скидки на товар по промокодам, купонам и акциям. | |
Параметры, вложенные в promos | ||
type | Enum | Тип скидки:
|
marketPromoId | String | Идентификатор акции в рамках соглашения на оказание услуг по продвижению сервиса между Маркетом и партнером. Параметр передается, только если параметр |
subsidy | Float | Вознаграждение партнеру за скидку. Передается в валюте заказа, для отделения целой части от дробной используется точка. |
параметры apartment, entrance, entryphone и recipient, вложенные в параметр address;
параметр buyer и все вложенные в него параметры.
Ответные данные от магазина
Не ожидаются.
Описание ошибок
Магазин может вернуть следующие статусы ответов:
Описание | Пояснение |
---|---|
Ошибка | Если магазин считает запрос, поступающий от Маркета, некорректным, магазин должен вернуть статус ответа 400 с описанием причины ошибки в теле ответа. Такие ответы будут анализироваться на предмет нарушений и недоработок API со стороны Маркета. |
Ошибка | Если магазин не реализует метод, то может вернуть статус ответа 404. Такие ответы не будут рассматриваться Маркетом как нарушение реализации API. |
Ошибка | В случае технической ошибки на стороне магазина он должен вернуть статус ответа 500. Магазины с большим количеством таких ответов могут быть отключены от Маркета. |
Описание | Пояснение |
---|---|
Ошибка | Если магазин считает запрос, поступающий от Маркета, некорректным, магазин должен вернуть статус ответа 400 с описанием причины ошибки в теле ответа. Такие ответы будут анализироваться на предмет нарушений и недоработок API со стороны Маркета. |
Ошибка | Если магазин не реализует метод, то может вернуть статус ответа 404. Такие ответы не будут рассматриваться Маркетом как нарушение реализации API. |
Ошибка | В случае технической ошибки на стороне магазина он должен вернуть статус ответа 500. Магазины с большим количеством таких ответов могут быть отключены от Маркета. |
Примеры
Запрос от Маркета:
POST /order/cancellation/notify
Тело POST-запроса:
{
"order":
{
"businessId": 495291,
"creationDate": "15-09-2020 00:42:42",
"currency": "RUR",
"fake": false,
"id": 12345,
"itemsTotal": 3400,
"paymentType": "PREPAID",
"paymentMethod": "YANDEX",
"status": "PROCESSING",
"taxSystem": "OSN",
"total": 3750,
"subsidyTotal": 300,
"buyer":
{
"id": "LEgMQuuxR8",
"lastName": "Иванов",
"firstName": "Иван",
"middleName": "Иванович",
},
"delivery":
{
"price": 350,
"serviceName": "СПСР",
"type": "DELIVERY",
"dispatchType": "BUYER",
"vat": "VAT_10",
"address":
{
"country": "Россия",
"city": "Москва",
"subway": "Проспект Вернадского",
"street": "Ленинский проспект",
"house": "90",
"floor": "6"
},
"dates":
{
"fromDate": "15-09-2020",
"toDate": "15-09-2020",
"fromTime": "09:00",
"toTime": "21:00"
},
"region":
{
"id": 213,
"name": "Москва",
"type": "CITY",
"parent":
{
"id": 1,
"name": "Москва и Московская область",
"type": "SUBJECT_FEDERATION",
"parent":
{
"id": 3,
"name": "Центральный федеральный округ",
"type": "COUNTRY_DISTRICT",
"parent":
{
"id": 225,
"name": "Россия",
"type": "COUNTRY"
}
}
}
}
},
"items":
[
{
"count": 1,
"feedCategoryId": "35",
"feedId": 12345,
"offerId": "4609283881",
"offerName": "Чайник электрический 100 W",
"price": 1200,
"vat": "VAT_20",
"promos":
[
{
"marketPromoId": "abc",
"subsidy": 300,
"type": "MARKET_DEAL",
}
]
},
{
"count": 1,
"feedCategoryId": "41",
"feedId": 12345,
"offerId": "4607632101",
"offerName": "Тостер",
"price": 2200,
"vat": "VAT_20"
}
]
}
}
Ответ магазина:
HTTP/1.1 200 OK