Удаление товара из заказа или уменьшение числа единиц (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

Description

campaignId*

Type: integer<int64>

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

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

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

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[]

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

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

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

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

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

reason

Type: OrderItemsModificationRequestReasonType

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

Enum: PARTNER_REQUESTED_REMOVE, USER_REQUESTED_REMOVE

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

OrderItemsModificationRequestReasonType

Enum: PARTNER_REQUESTED_REMOVE, USER_REQUESTED_REMOVE

BriefOrderItemInstanceDTO

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

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

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

Name

Description

cis

Type: string

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

Важно

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

01030410947874432155Qbag!\u001d93Zjqw

01030410947874432155Qbag!\\u001d93Zjqw

Косые черты и кавычки в других местах экранируйте по правилам 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: OK, ERROR

ApiErrorDTO

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

Name

Description

code*

Type: string

Код ошибки.

message

Type: string

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

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

401 Unauthorized

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

status

Type: ApiResponseStatusType

Тип ответа.

Enum: OK, ERROR

403 Forbidden

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

status

Type: ApiResponseStatusType

Тип ответа.

Enum: OK, ERROR

404 Not Found

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

status

Type: ApiResponseStatusType

Тип ответа.

Enum: OK, ERROR

420 Method Failure

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

status

Type: ApiResponseStatusType

Тип ответа.

Enum: OK, ERROR

500 Internal Server Error

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

status

Type: ApiResponseStatusType

Тип ответа.

Enum: OK, ERROR

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


      Чтобы узнать идентификаторы своих магазинов, воспользуйтесь запросом [GET
      campaigns](../../reference/campaigns/getCampaigns.md).


      ℹ️ [Что такое кабинет и магазин на
      Маркете](https://yandex.ru/support/marketplace/account/introduction.html)
    name: campaignId
    in: path
    required: true
    schema:
      type: integer
      format: int64
  - description: Идентификатор заказа.
    name: orderId
    in: path
    required: true
    schema:
      type: integer
      format: int64
searchParams: []
headers: []
body: |-
  {
    "items": [
      {
        "id": 0,
        "count": 0,
        "instances": [
          {
            "cis": "string",
            "uin": "string",
            "rnpt": "string",
            "gtd": "string"
          }
        ]
      }
    ],
    "reason": "PARTNER_REQUESTED_REMOVE"
  }
schema:
  description: Запрос на обновление состава заказа.
  type: object
  properties:
    items:
      description: >
        Список товаров в заказе.


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


        Обязательный параметр.
      type: array
      items:
        description: >
          Список товаров в заказе.


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


          Обязательный параметр.
        type: object
        properties:
          id:
            description: >
              Идентификатор товара в рамках заказа.


              Получить идентификатор можно с помощью ресурсов [GET
              campaigns/{campaignId}/orders](../../reference/orders/getOrders.md)
              или [GET
              campaigns/{campaignId}/orders/{orderId}](../../reference/orders/getOrder.md).


              Обязательный параметр.
            type: integer
            format: int64
          count:
            description: Новое количество товара.
            type: integer
            format: int32
            minimum: 0
          instances:
            description: >
              Информация о маркировке единиц товара.


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


              Обязательный параметр, если в заказе есть товары, подлежащие
              маркировке [в системе «Честный ЗНАК»](https://честныйзнак.рф/).
            type: array
            items:
              description: >
                Идентификатор единицы товара.


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


                Подробно о работе с маркируемыми товарами рассказано [в Справке
                Маркета для
                продавцов](https://yandex.ru/support/marketplace/orders/cz.html).
              type: object
              properties:
                cis:
                  description: >
                    Код идентификации единицы товара [в системе «Честный
                    ЗНАК»](https://честныйзнак.рф/).


                    {% note warning %}


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


                    ✅ `01030410947874432155Qbag!\u001d93Zjqw`


                    ❌ `01030410947874432155Qbag!\\u001d93Zjqw`


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


                    {% endnote %}
                  type: string
                uin:
                  description: |
                    Уникальный идентификационный номер ювелирного изделия.

                    Представляет собой число из 16 цифр.
                  type: string
                rnpt:
                  description: >
                    Регистрационный номер партии товара.


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


                    Первая часть — код таможни, которая зарегистрировала
                    декларацию на партию товара. Далее — дата, номер декларации
                    и номер маркированного товара в декларации.
                  type: string
                gtd:
                  description: >
                    Грузовая таможенная декларация.


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


                    Первая часть — код таможни, которая зарегистрировала
                    декларацию на ввезенные товары. Далее — дата и номер
                    декларации.
                  type: string
        required:
          - id
          - count
    reason:
      description: Причина обновления состава заказа.
      type: string
      enum:
        - PARTNER_REQUESTED_REMOVE
        - USER_REQUESTED_REMOVE
  required:
    - items
bodyType: application/json
method: put
security:
  - type: oauth2
    flows:
      implicit:
        authorizationUrl: https://oauth.yandex.ru/authorize
        scopes:
          market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
path: campaigns/{campaignId}/orders/{orderId}/items
host: https://api.partner.market.yandex.ru