Удаление товара из заказа или уменьшение числа единиц
Этот запрос только для DBS
Если вы работаете по модели FBS, пользуйтесь PUT campaigns/{campaignId}/orders/{orderId}/boxes.
Изменяет состав заказа, если позволяет выбранная служба доставки, в случаях:
- покупатель уменьшил количество товара;
- магазин не может поставить все товары в заказе.
Для этого заказ должен находится в статусе "status": "PROCESSING"
этапа обработки "substatus": "STARTED"
. После передачи статуса "substatus": "READY_TO_SHIP"
изменить состав невозможно.
Если одинаковых товаров несколько, для уменьшения количества передайте обновленное значение в атрибуте count
параметра item
.
Чтобы полностью удалить товар из заказа:
- передайте значение
0
; или - не передавайте параметр
item
.
Нельзя удалить или уменьшить количество товара, если он:
- добавлен по акции;
- составляет 99% стоимости заказа;
- единственный товар в заказе.
Если необходимо удалить такой товар, отмените заказ. Для этого отправьте запрос методом PUT campaigns/{campaignId}/orders/{orderId}/status и передайте статус заказа CANCELLED
с причиной отмены SHOP_FAILED
.
Увеличить заказ нельзя
С помощью запроса нельзя увеличить количество одинаковых товаров, добавить новые товары в заказ или заменить один товар другим.
Возврат денег покупателю
Если покупатель оплатил товар при оформлении, Маркет вернет ему деньги за удаленные из заказа товары в течение двух дней:
-
при оплате банковской картой — с момента, когда магазин переведет заказ в статус
SHIPPED
; -
при оплате через Apple Pay или Google Pay — с момента, когда магазин удалит товар из заказа.
⚙️ Лимит: 100 000 запросов в час |
---|
Request
PUT
https://api.partner.market.yandex.ru/campaigns/{campaignId}/orders/{orderId}/items
Path parameters
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор кампании в API и магазина в кабинете. Каждая кампания в API соответствует магазину в кабинете. Чтобы узнать идентификаторы своих магазинов, воспользуйтесь запросом GET campaigns. ℹ️ Что такое кабинет и магазин на Маркете
Min value: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
Body
application/json
{
"items": [
{
"id": 0,
"count": 0,
"instances": [
{
"cis": "string",
"uin": "string",
"rnpt": "string",
"gtd": "string"
}
]
}
],
"reason": "PARTNER_REQUESTED_REMOVE"
}
Name |
Description |
items* |
Type: OrderItemModificationDTO[] Список товаров в заказе. Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа. Обязательный параметр.
Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа. Обязательный параметр. Min items: |
reason |
Type: OrderItemsModificationRequestReasonType Причина обновления состава заказа. Enum: |
OrderItemModificationDTO
Список товаров в заказе.
Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа.
Обязательный параметр.
Name |
Description |
count* |
Type: integer<int32> Новое количество товара. |
id* |
Type: integer<int64> Идентификатор товара в рамках заказа. Получить идентификатор можно с помощью ресурсов GET campaigns/{campaignId}/orders или GET campaigns/{campaignId}/orders/{orderId}. Обязательный параметр. |
instances |
Type: BriefOrderItemInstanceDTO[] Информация о маркировке единиц товара. Передавайте в запросе все единицы товара, который подлежит маркировке. Обязательный параметр, если в заказе есть товары, подлежащие маркировке в системе «Честный ЗНАК».
Заполните только одно поле в зависимости от того, в какой системе маркирован товар. Подробно о работе с маркируемыми товарами рассказано в Справке Маркета для продавцов. |
OrderItemsModificationRequestReasonType
Причина обновления состава заказа.
Type |
Description |
Enum: |
BriefOrderItemInstanceDTO
Идентификатор единицы товара.
Заполните только одно поле в зависимости от того, в какой системе маркирован товар.
Подробно о работе с маркируемыми товарами рассказано в Справке Маркета для продавцов.
Name |
Description |
cis |
Type: string Код идентификации единицы товара в системе «Честный ЗНАК». Важно Не экранируйте косую черту в коде символа-разделителя ✅ ❌ Косые черты и кавычки в других местах экранируйте по правилам JSON: |
gtd |
Type: string Грузовая таможенная декларация. Представляет собой строку из трех чисел, разделенных косой чертой: ХХХХХХХХ/ХХХХХХ/ХХХХХХХ. Первая часть — код таможни, которая зарегистрировала декларацию на ввезенные товары. Далее — дата и номер декларации. |
rnpt |
Type: string Регистрационный номер партии товара. Представляет собой строку из четырех чисел, разделенных косой чертой: ХХХХХХХХ/ХХХХХХ/ХХХХХХХ/ХХХ. Первая часть — код таможни, которая зарегистрировала декларацию на партию товара. Далее — дата, номер декларации и номер маркированного товара в декларации. |
uin |
Type: string Уникальный идентификационный номер ювелирного изделия. Представляет собой число из 16 цифр. |
Responses
200 OK
Маркет успешно обработал ваш запрос. Выходные данные не ожидаются.
400 Bad Request
Запрос содержит неправильные данные.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |
ApiErrorDTO
Общий формат ошибки.
Name |
Description |
code* |
Type: string Код ошибки. |
message |
Type: string Описание ошибки. |
401 Unauthorized
В запросе не указаны данные для авторизации.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |
403 Forbidden
Данные для авторизации неверны или доступ к ресурсу запрещен.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |
404 Not Found
Запрашиваемый ресурс не найден.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |
420 Method Failure
Превышено ограничение на доступ к ресурсу.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |
500 Internal Server Error
Внутренняя ошибка сервера.
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] Список ошибок. |
status |
Type: ApiResponseStatusType Тип ответа. Enum: |