---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.0
alternate:
  - https://yandex.com/dev/market/partner-api/doc/en/step-by-step/express.md
  - https://yandex.com/dev/market/partner-api/doc/ru/step-by-step/express.md
  - https://yandex.com/dev/market/partner-api/doc/zh/step-by-step/express.md
  - href: en/step-by-step/express.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/market/partner-api/doc/en/llms.txt

# Processing Express-orders

Yandex Market API it allows you to perform all the same actions that are performed in the cabinet: view new orders, receive labels for them, change something in them if necessary, and so on.

{% note tip "To understand how everything happens" %}

Read it [an article about order fulfillment](https://yandex.ru/support/marketplace/ru/orders/express/process).

{% endnote %}

## Step 1. Getting information about orders {#new-orders}

Read the instructions: [Receiving orders](https://yandex.com/dev/market/partner-api/doc/en/step-by-step/orders-receive.md)


## Step 2. Transmission of marking codes {#marking-codes}

{% note info "Labeling of goods in the system ["An honest SIGN"](https://честныйзнак.рф/) optional for orders from individuals" %}

 

{% endnote %}

<!-- source: en/_includes/mermaid/express-marking-code.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as Your store
    participant Market as Yandex Market

    rect rgb(251, 243, 232)
        note right of Merchant: Transfer of marking codes, if provided

        Merchant ->> Market: PUT v2/campaigns/{campaignId}/orders/{orderId}/boxes
        Market -->> Merchant: OK
    end
    opt
        rect rgb(251, 243, 232)
            note right of Merchant: Optional step
            note right of Merchant: Receiving marking code verification statuses
            Merchant ->> Market: POST v2/campaigns/{campaignId}/orders/{orderId}/identifiers/status
            Market -->> Merchant: OK: verification information.
        end
    end
```
<!-- endsource: en/_includes/mermaid/express-marking-code.md -->

If the product is marked in «Честном знаке» or other labeling systems, give the Market the code of each sold copy.

This information is transmitted by request [PUT v2/campaigns/{campaignId}/orders/{orderId}/boxes](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/setOrderBoxLayout.md).

If the order contains jewelry or goods marked in the Honest Sign system, after transmitting the codes, the Market will begin checking them. [How to get verification statuses](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/getOrderIdentifiersStatus.md)


## Step 3. Label printing and "Ready for shipment" status transmission {#label}

<!-- source: en/_includes/mermaid/express-label.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as Your store
    participant Market as Yandex Market

    opt
      rect rgb(251, 243, 232)
        note right of Merchant: Optional step
        note right of Merchant: Passing external order ID
        Merchant ->> Market: POST v2/campaigns/{campaignId}/orders/{orderId}/external-id
        Market -->>+ Merchant: OK
      end
    end

    rect rgb(251, 243, 232)
      note right of Merchant: Getting labels
      Merchant ->> Market: GET v2/campaigns/{campaignId}/orders/{orderId}/delivery/labels
      Market -->> Merchant: OK: labels.
    end

    rect rgb(251, 243, 232)
      Merchant ->> Merchant: Attaches labels<br>to the order.
      note right of Merchant: Passing status «Ready to ship» ("status": "PROCESSING" "substatus": "READY_TO_SHIP")
      Merchant ->> Market: PUT v2/campaigns/{campaignId}/orders/{orderId}/status
      Market -->> Merchant: OK
    end
```
<!-- endsource: en/_includes/mermaid/express-label.md -->

1. Pack the assembled order according to the rules described in detail in [Yandex.Market Help for sellers](https://yandex.ru/support/marketplace/ru/orders/express/packaging/rules).

1. While the order is in the status `PROCESSING` with a sub-status `STARTED`, you can pass its external ID — [POST v2/campaigns/{campaignId}/orders/{orderId}/external-id](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/updateExternalOrderId.md).

1. Get shortcuts using a request [GET v2/campaigns/{campaignId}/orders/{orderId}/delivery/labels](https://yandex.com/dev/market/partner-api/doc/en/reference/order-labels/generateOrderLabels.md) and stick them on the packaged order.

1. Set the order to the status **Ready for shipment** (`"status": "PROCESSING" "substatus": "READY_TO_SHIP"`) — request [PUT v2/campaigns/{campaignId}/orders/{orderId}/status](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/updateOrderStatus.md).

## Step 4. Sending the confirmation code and the order to the courier {#verifyOrderEac}

<!-- source: en/_includes/mermaid/express-verifyOrderEac.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as Your store
    participant Market as Yandex Market

    rect rgb(251, 243, 232)
        Merchant ->> Merchant: Receives code from courier.
        note right of Merchant: Confirmation code transfer
        Merchant ->> Market: PUT v2/campaigns/{campaignId}/orders/{orderId}/verifyEac
        Market -->>+ Merchant: OK
        Merchant ->>- Merchant: Gives order to courier.
    end
```
<!-- endsource: en/_includes/mermaid/express-verifyOrderEac.md -->

1. Send the confirmation code that the courier gave you in the request. [PUT v2/campaigns/{campaignId}/orders/{orderId}/verifyEac](https://yandex.com/dev/market/partner-api/doc/en/reference/order-delivery/verifyOrderEac.md).

1. If the code verification is successful, send the order to the courier.

## If the product is not enough: cancel and reduce the order. {#cancel-by-seller}

If, during the preparation of an order, you find that one or more items are missing, cancel it in whole or in part. This is done by separate requests.

<!-- source: en/_includes/mermaid/express-cancel.md -->
```mermaid
%%{
  init: {
    'theme': 'base',
    'themeVariables': {
      'primaryColor': '#FDF3E8',
      'primaryTextColor': '#000000',
      'primaryBorderColor': '#BA9C80',
      'lineColor': '#BA9C80',
      'secondaryColor': '#94E1C4',
      'tertiaryColor': '#F84E57',
      'noteBkgColor': '#FED58D'
    }
  }
}%%

sequenceDiagram
    participant Merchant as Your store
    participant Market as Yandex Market

    opt
      note right of Merchant: Optional steps

      rect rgb(251, 243, 232)
        note right of Merchant: If the warehouse doesn't have many needed items, you can cancel the order
        Merchant ->> Market: "status": "CANCELLED", "substatus": "SHOP_FAILED"<br>PUT v2/campaigns/{campaignId}/orders/{orderId}/status
        Market -->> Merchant: OK
      end

      rect rgb(251, 243, 232)
        note right of Merchant: If the warehouse is missing some items, you can remove them from the order
        Merchant ->> Market: PUT v2/campaigns/{campaignId}/orders/{orderId}/boxes
        Market -->> Merchant: OK
      end
    end
```
<!-- endsource: en/_includes/mermaid/express-cancel.md -->

#|
||**Order action**| **Request**||
||Complete cancellation of the order|[PUT v2/campaigns/{campaignId}/orders/{orderId}/status](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/updateOrderStatus.md).

Transfer the order to `"status":"CANCELLED"` `"substatus": "SHOP_FAILED"`.||
||Exclusion of the product from the order|[PUT v2/campaigns/{campaignId}/orders/{orderId}/boxes](https://yandex.com/dev/market/partner-api/doc/en/reference/orders/setOrderBoxLayout.md)||
|#

{% note warning "You can't do that often." %}

Any of these actions will lower the [quality index](*quality-index) the store. When the quality index decreases, the store faces limitations.

{% endnote %}

[*quality-index]: Индекс качества — число от 0 до 100. Если магазин работает по модели FBY, индекс качества показывает, насколько хорошо продавец делает поставки на склады Маркета, а в моделях FBS, DBS и Экспресс индекс оценивает работу с заказами. [Узнать больше](https://yandex.ru/support/marketplace/quality/score/index.html)