Удаление товара из заказа или уменьшение числа единиц (DBS)

Этот запрос только для 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 — с момента, когда магазин удалит товар из заказа.

⚙️ Лимит: 1 000 000 запросов в час

Request

PUT

https://api.partner.market.yandex.ru/campaigns/{campaignId}/orders/{orderId}/items

Path parameters

Name

Type

Description

campaignId*

integer<int64>

Идентификатор кампании в API и магазина в кабинете. Каждая кампания в API соответствует магазину в кабинете.

Чтобы узнать идентификаторы своих магазинов, воспользуйтесь запросом GET campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

orderId*

integer<int64>

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

Body

application/json
{
    "items": [
        {
            "id": 0,
            "count": 0,
            "instances": [
                {
                    "cis": "string",
                    "uin": "string",
                    "rnpt": "string",
                    "gtd": "string"
                }
            ]
        }
    ],
    "reason": "PARTNER_REQUESTED_REMOVE"
}

Name

Type

Description

items*

OrderItemModificationDTO[]

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

Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа.

Обязательный параметр.
Список товаров в заказе.

Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа.

Обязательный параметр.

reason

OrderItemsModificationRequestReasonType

Причина обновления состава заказа.
Enum: PARTNER_REQUESTED_REMOVE, USER_REQUESTED_REMOVE

OrderItemModificationDTO

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

Если магазин не передал информацию о товаре во входных данных, он будет удален из заказа.

Обязательный параметр.

Name

Type

Description

id*

integer<int64>

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

Получить идентификатор можно с помощью ресурсов GET campaigns/{campaignId}/orders или GET campaigns/{campaignId}/orders/{orderId}.

Обязательный параметр.

count*

integer<int32>

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

instances

BriefOrderItemInstanceDTO[]

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

Передавайте в запросе все единицы товара, который подлежит маркировке.

Обязательный параметр, если в заказе есть товары, подлежащие маркировке в системе «Честный ЗНАК».
Идентификатор единицы товара.

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

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

OrderItemsModificationRequestReasonType

Причина обновления состава заказа.

Type

Description

OrderItemsModificationRequestReasonType

Enum: PARTNER_REQUESTED_REMOVE, USER_REQUESTED_REMOVE

BriefOrderItemInstanceDTO

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

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

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

Name

Type

Description

cis

string

Код идентификации единицы товара в системе «Честный ЗНАК».

Важно

Не экранируйте косую черту в коде символа-разделителя \u001d!

01030410947874432155Qbag!\u001d93Zjqw

01030410947874432155Qbag!\\u001d93Zjqw

Косые черты и кавычки в других местах экранируйте по правилам JSON: \\ и \"

uin

string

Уникальный идентификационный номер ювелирного изделия.

Представляет собой число из 16 цифр.

rnpt

string

Регистрационный номер партии товара.

Представляет собой строку из четырех чисел, разделенных косой чертой: ХХХХХХХХ/ХХХХХХ/ХХХХХХХ/ХХХ.

Первая часть — код таможни, которая зарегистрировала декларацию на партию товара. Далее — дата, номер декларации и номер маркированного товара в декларации.

gtd

string

Грузовая таможенная декларация.

Представляет собой строку из трех чисел, разделенных косой чертой: ХХХХХХХХ/ХХХХХХ/ХХХХХХХ.

Первая часть — код таможни, которая зарегистрировала декларацию на ввезенные товары. Далее — дата и номер декларации.

Responses

200 OK

Маркет успешно обработал ваш запрос. Выходные данные не ожидаются.

400 Bad Request

Запрос содержит неправильные данные.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

ApiErrorDTO

Общий формат ошибки.

Name

Type

Description

code*

string

Код ошибки.

message

string

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

401 Unauthorized

В запросе не указаны данные для авторизации.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

404 Not Found

Запрашиваемый ресурс не найден.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

420 Method Failure

Превышено ограничение на доступ к ресурсу.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

500 Internal Server Error

Внутренняя ошибка сервера.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.