Changing the status of an order
The method is available for models: FBS, Express and DBS.
If you are using an API Key token, one of the accesses in the list is required to call the method
- inventory-and-order-processing — Order processing and inventory
- all-methods — Full account management
Changes the order status. Possible status changes:
- If the store has confirmed and prepared the order for shipment, then the order from the status
"status": "PROCESSING"and the processing stage"substatus": "STARTED"it needs to be converted to the status"status": "PROCESSING"and the processing stage"substatus": "READY_TO_SHIP". - If the store has confirmed the order, but cannot fulfill it (for example, the product is listed in the database, but is not in stock or does not have the desired color), then the order status is
"status": "PROCESSING"and the processing stage"substatus": "STARTED"it needs to be converted to the status"status": "CANCELLED"with the reason for the cancellation of the order"substatus": "SHOP_FAILED". - If the store has prepared an order for shipment, but cannot complete it (for example, the last item was damaged or defective), then the order status is
"status": "PROCESSING"and the processing stage"substatus": "READY_TO_SHIP"it needs to be converted to the status"status": "CANCELLED"with the reason for the cancellation of the order"substatus": "SHOP_FAILED".
| ⚙️ Limit: 100,000 requests per hour |
|---|
Request
PUT
https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/orders/{orderId}/status
Path parameters
|
Name |
Description |
|
campaignId |
Type: integer The ID of the campaign (store) — The technical identifier that represents your store in the Yandex Market system when working through the API. It is uniquely linked to your store, but it is intended only for automated interaction. You can find it using a query GET v2/campaigns or find it in the seller's office on the Market. Click on your account icon → Settings and in the menu on the left, select APIs and modules:
⚠️ Do not confuse it with:
Min value: |
|
orderId |
Type: integer The order ID. |
Body
application/json
{
"order": {
"status": "PLACING",
"substatus": "RESERVATION_EXPIRED",
"delivery": {
"dates": {
"realDeliveryDate": "2025-01-01"
}
}
}
}
|
Name |
Description |
||||||||||
|
order |
Type: object
Order. Example
|
Responses
200 OK
If the order status is successfully changed, the updated order information is returned.
Body
application/json
{
"order": {
"id": 0,
"externalOrderId": "example",
"status": "PLACING",
"substatus": "RESERVATION_EXPIRED",
"creationDate": "23-09-2022 09:12:41",
"updatedAt": "23-09-2022 09:12:41",
"currency": "RUR",
"itemsTotal": 0.5,
"deliveryTotal": 0.5,
"buyerItemsTotal": 0.5,
"buyerTotal": 0.5,
"buyerItemsTotalBeforeDiscount": 0.5,
"buyerTotalBeforeDiscount": 0.5,
"paymentType": "PREPAID",
"paymentMethod": "CASH_ON_DELIVERY",
"fake": true,
"items": [
{
"id": 0,
"offerId": "example",
"offerName": "example",
"price": 0.5,
"buyerPrice": 0.5,
"buyerPriceBeforeDiscount": 0.5,
"priceBeforeDiscount": 0.5,
"count": 0,
"vat": "NO_VAT",
"shopSku": "example",
"subsidy": 0.5,
"partnerWarehouseId": "example",
"promos": [
{}
],
"instances": [
{}
],
"details": [
{}
],
"subsidies": [
{}
],
"requiredInstanceTypes": [
"CIS"
],
"tags": [
"ULTIMA"
]
}
],
"subsidies": [
{
"type": "YANDEX_CASHBACK",
"amount": 0.5
}
],
"delivery": {
"id": "example",
"type": "DELIVERY",
"serviceName": "example",
"price": 0.5,
"deliveryPartnerType": "SHOP",
"courier": {
"fullName": "example",
"phone": "example",
"phoneExtension": "example",
"vehicleNumber": "example",
"vehicleDescription": "example"
},
"dates": {
"fromDate": "23-09-2022",
"toDate": "23-09-2022",
"fromTime": "12:00:00",
"toTime": "12:00:00",
"realDeliveryDate": "23-09-2022"
},
"region": {
"id": 0,
"name": "example",
"type": "OTHER",
"parent": null
},
"address": {
"country": "example",
"postcode": "example",
"city": "example",
"district": "example",
"subway": "example",
"street": "example",
"house": "example",
"estate": "example",
"block": "example",
"building": "example",
"entrance": "example",
"entryphone": "example",
"floor": "example",
"apartment": "example",
"phone": "example",
"recipient": "example",
"gps": {
"latitude": 0.5,
"longitude": 0.5
}
},
"vat": "NO_VAT",
"deliveryServiceId": 0,
"logisticPointId": 1,
"liftType": "NOT_NEEDED",
"liftPrice": 0.5,
"outletCode": "example",
"outletStorageLimitDate": "23-09-2022",
"dispatchType": "UNKNOWN",
"tracks": [
{
"trackCode": "example",
"deliveryServiceId": 0
}
],
"shipments": [
{
"id": 0,
"shipmentDate": "23-09-2022",
"shipmentTime": "example",
"tracks": [
null
],
"boxes": [
null
]
}
],
"estimated": true,
"eacType": "MERCHANT_TO_COURIER",
"eacCode": "example",
"receiveCode": "example"
},
"buyer": {
"id": "example",
"lastName": "example",
"firstName": "example",
"middleName": "example",
"email": "example",
"type": "PERSON"
},
"notes": "example",
"taxSystem": "OSN",
"cancelRequested": true,
"expiryDate": "23-09-2022 09:12:41",
"sourcePlatform": "MARKET"
},
"operation": {
"id": "example",
"type": "ORDER_RECIPIENT_UPDATE"
}
}
|
Name |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
operation |
Type: object
Information about the operation. Example
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
order |
Type: object
Order. Example
|
400 Bad Request
The request contains incorrect data. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
401 Unauthorized
The authorization data is not specified in the request. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
403 Forbidden
The authorization data is incorrect or access to the resource is prohibited. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
404 Not Found
The requested resource was not found. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
420 Method Failure
The resource access limit has been exceeded. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
500 Internal Server Error
Internal error of the Market. More information about the error
Body
application/json
{
"status": "OK"
}
Type: object
pathParams:
- description: "The ID of the campaign (store) — The technical identifier that represents your store in the Yandex Market system when working through the API. It is uniquely linked to your store, but it is intended only for automated interaction.\n\nYou can find it using a query [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md) or find it in the seller's office on the Market. Click on your account icon → **Settings** and in the menu on the left, select **APIs and modules**:\n\n* block **Campaign ID**;\n* tab **Query log** → drop-down list in the block **Show logs**.\n\n⚠️ Do not confuse it with:\n- the store's identifier, which is displayed in the merchant's personal account.\n- advertising campaigns.\n"
name: campaignId
in: path
required: true
schema:
type: integer
format: int64
minimum: 1
- description: The order ID.
name: orderId
in: path
required: true
schema:
type: integer
format: int64
searchParams: []
headers: []
body: |-
{
"order": {
"status": "PLACING",
"substatus": "RESERVATION_EXPIRED",
"delivery": {
"dates": {
"realDeliveryDate": "2025-01-01"
}
}
}
}
schema:
type: object
required:
- order
properties:
order:
description: Order.
type: object
required:
- status
properties:
status:
description: >
Order status:
* `PLACING` — It is being processed
and is being prepared for reservation.
* `RESERVED` — reserved, but
under-booked.
* `UNPAID` — issued, but not yet paid
(if payment is selected at checkout).
* `PROCESSING` — it is under
processing.
* `DELIVERY` — transferred to the
delivery service.
* `PICKUP` — delivered to the pick-up
point.
* `DELIVERED` — received by the buyer.
* `CANCELLED` — cancelled.
* `PENDING` — awaiting processing by
the seller.
* `PARTIALLY_RETURNED` — partially
returned.
* `RETURNED` — returned in full.
* `UNKNOWN` — unknown status.
Other values may also be returned. You don't need to process them.
type: string
enum:
- PLACING
- RESERVED
- UNPAID
- PROCESSING
- DELIVERY
- PICKUP
- DELIVERED
- CANCELLED
- PENDING
- PARTIALLY_RETURNED
- RETURNED
- UNKNOWN
substatus:
description: >
Order processing stage (status `PROCESSING`) or the
reason for the cancellation of the order (status
`CANCELLED`).
* Order values in the status `PROCESSING`:
* `STARTED` — The order has been confirmed, and it can be processed.
* `READY_TO_SHIP` — the order is assembled and ready for shipment.
* Order values in the status `CANCELLED`:
* `RESERVATION_EXPIRED` — The customer did not complete the reserved order within 10 minutes.
* `USER_NOT_PAID` — the buyer did not pay for the order (for the payment type `PREPAID`) for 30 minutes.
* `USER_UNREACHABLE` — couldn't contact the buyer. To cancel with this reason, the following conditions must be met:
* at least 3 calls from 8 to 21 in the buyer's time zone;
* the break between the first and third calls is at least 90 minutes;
* the connection is no shorter than 5 seconds.
If at least one of these conditions is not met (except when the number is unavailable), you will not be able to cancel the order. A response with the error code 400 will be returned.
* `USER_CHANGED_MIND` — the customer cancelled the order for personal reasons.
* `USER_REFUSED_DELIVERY` — the buyer was not satisfied with the terms of delivery.
* `USER_REFUSED_PRODUCT` — the product did not fit the buyer.
* `SHOP_FAILED` — the store cannot complete the order.
* `USER_REFUSED_QUALITY` — the buyer was not satisfied with the quality of the product.
* `REPLACING_ORDER` — the buyer decided to replace the product with another one on his own initiative.
* `PROCESSING_EXPIRED` — the value is no longer used.
* `PICKUP_EXPIRED` — The shelf life of the order at the pick-up point has expired.
* `TOO_MANY_DELIVERY_DATE_CHANGES` — the order has been postponed too many times.
* `TOO_LONG_DELIVERY` — The order is taking too long to be delivered.
* `INCORRECT_PERSONAL_DATA` — For an order from abroad, the recipient's information is incorrect, and the order will not be checked at customs.
* `TECHNICAL_ERROR` — a technical
error on the Market's side. Contact support.
Other values may also be returned. You don't need to process them.
type: string
enum:
- RESERVATION_EXPIRED
- USER_NOT_PAID
- USER_UNREACHABLE
- USER_CHANGED_MIND
- USER_REFUSED_DELIVERY
- USER_REFUSED_PRODUCT
- SHOP_FAILED
- USER_REFUSED_QUALITY
- REPLACING_ORDER
- PROCESSING_EXPIRED
- PENDING_EXPIRED
- SHOP_PENDING_CANCELLED
- PENDING_CANCELLED
- USER_FRAUD
- RESERVATION_FAILED
- USER_PLACED_OTHER_ORDER
- USER_BOUGHT_CHEAPER
- MISSING_ITEM
- BROKEN_ITEM
- WRONG_ITEM
- PICKUP_EXPIRED
- DELIVERY_PROBLEMS
- LATE_CONTACT
- CUSTOM
- DELIVERY_SERVICE_FAILED
- WAREHOUSE_FAILED_TO_SHIP
- DELIVERY_SERVICE_UNDELIVERED
- PREORDER
- AWAIT_CONFIRMATION
- STARTED
- PACKAGING
- READY_TO_SHIP
- SHIPPED
- ASYNC_PROCESSING
- WAITING_USER_INPUT
- WAITING_BANK_DECISION
- BANK_REJECT_CREDIT_OFFER
- CUSTOMER_REJECT_CREDIT_OFFER
- CREDIT_OFFER_FAILED
- AWAIT_DELIVERY_DATES_CONFIRMATION
- SERVICE_FAULT
- DELIVERY_SERVICE_RECEIVED
- USER_RECEIVED
- WAITING_FOR_STOCKS
- AS_PART_OF_MULTI_ORDER
- READY_FOR_LAST_MILE
- LAST_MILE_STARTED
- ANTIFRAUD
- DELIVERY_USER_NOT_RECEIVED
- DELIVERY_SERVICE_DELIVERED
- DELIVERED_USER_NOT_RECEIVED
- USER_WANTED_ANOTHER_PAYMENT_METHOD
- USER_RECEIVED_TECHNICAL_ERROR
- USER_FORGOT_TO_USE_BONUS
- DELIVERY_SERVICE_NOT_RECEIVED
- DELIVERY_SERVICE_LOST
- SHIPPED_TO_WRONG_DELIVERY_SERVICE
- DELIVERED_USER_RECEIVED
- WAITING_TINKOFF_DECISION
- COURIER_SEARCH
- COURIER_FOUND
- COURIER_IN_TRANSIT_TO_SENDER
- COURIER_ARRIVED_TO_SENDER
- COURIER_RECEIVED
- COURIER_NOT_FOUND
- COURIER_NOT_DELIVER_ORDER
- COURIER_RETURNS_ORDER
- COURIER_RETURNED_ORDER
- WAITING_USER_DELIVERY_INPUT
- PICKUP_SERVICE_RECEIVED
- PICKUP_USER_RECEIVED
- CANCELLED_COURIER_NOT_FOUND
- COURIER_NOT_COME_FOR_ORDER
- DELIVERY_NOT_MANAGED_REGION
- INCOMPLETE_CONTACT_INFORMATION
- INCOMPLETE_MULTI_ORDER
- INAPPROPRIATE_WEIGHT_SIZE
- TECHNICAL_ERROR
- SORTING_CENTER_LOST
- COURIER_SEARCH_NOT_STARTED
- LOST
- AWAIT_PAYMENT
- AWAIT_LAVKA_RESERVATION
- USER_WANTS_TO_CHANGE_ADDRESS
- FULL_NOT_RANSOM
- PRESCRIPTION_MISMATCH
- DROPOFF_LOST
- DROPOFF_CLOSED
- DELIVERY_TO_STORE_STARTED
- USER_WANTS_TO_CHANGE_DELIVERY_DATE
- WRONG_ITEM_DELIVERED
- DAMAGED_BOX
- AWAIT_DELIVERY_DATES
- LAST_MILE_COURIER_SEARCH
- PICKUP_POINT_CLOSED
- LEGAL_INFO_CHANGED
- USER_HAS_NO_TIME_TO_PICKUP_ORDER
- DELIVERY_CUSTOMS_ARRIVED
- DELIVERY_CUSTOMS_CLEARED
- FIRST_MILE_DELIVERY_SERVICE_RECEIVED
- AWAIT_AUTO_DELIVERY_DATES
- AWAIT_USER_PERSONAL_DATA
- NO_PERSONAL_DATA_EXPIRED
- CUSTOMS_PROBLEMS
- AWAIT_CASHIER
- WAITING_POSTPAID_BUDGET_RESERVATION
- AWAIT_SERVICEABLE_CONFIRMATION
- POSTPAID_BUDGET_RESERVATION_FAILED
- AWAIT_CUSTOM_PRICE_CONFIRMATION
- READY_FOR_PICKUP
- TOO_MANY_DELIVERY_DATE_CHANGES
- TOO_LONG_DELIVERY
- DEFERRED_PAYMENT
- POSTPAID_FAILED
- INCORRECT_PERSONAL_DATA
- UNKNOWN
delivery:
description: Delivery information.
type: object
properties:
dates:
description: The range of delivery dates.
type: object
properties:
realDeliveryDate:
description: "**For the model only DBS**\n\nThe actual delivery date.\n<br><br>\nWhen to pass the parameter `realDeliveryDate`:\n\n* Do not pass the parameter if:\n * transfer the order to any status except `PICKUP` or `DELIVERED`;\n * changing the order status to `PICKUP` or `DELIVERED` on the day of delivery — the request completion date will be indicated.\n* Transmit the delivery date if you are converting the order to the status `PICKUP` or `DELIVERED` not on the day of delivery. You cannot specify a future delivery date.\n\n {% note warning \"Transferring the status after the deadline reduces the quality index\" %}\n\n Read about the deadlines [in the Help of the Market for sellers](https://yandex.ru/support2/marketplace/ru/quality/tech#dbs).\n\n {% endnote %}\n\n \_\nDate format: `YYYY-MM-DD`.\n"
type: string
format: date
bodyType: application/json
method: put
security:
- type: apiKey
name: 'Api-Key'
in: header
- type: oauth2
x-inline: true
flows:
implicit:
authorizationUrl: https://oauth.yandex.ru/authorize
scopes:
market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
path: v2/campaigns/{campaignId}/orders/{orderId}/status
host: https://api.partner.market.yandex.ru
No longer supported, please use an alternative and newer version.