Отмена заказа покупателем

Метод доступен для модели DBS.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

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

Покупатель может отменить заказ в течение его обработки или доставки. Если заказ еще обрабатывается (статус PROCESSING), вам не нужно подтверждать отмену заказа — он будет отменен автоматически.

Если заказ уже передан службе доставки (статус DELIVERY или PICKUP) и пользователь отменил его, вы можете предупредить службу об отмене в течение 48 часов.

  • Служба доставки узнала об отмене до передачи заказа покупателю — подтвердите отмену с помощью запроса PUT campaigns/{campaignId}/orders/{orderId}/cancellation/accept.
  • Заказ уже доставлен — отклоните отмену с помощью этого же запроса. Тогда у покупателя останется заказ, и деньги за него возвращаться не будут.

Как узнать об отмененных заказах:

  • Отправьте запрос GET campaigns/{campaignId}/orders. В его URL добавьте входной параметр onlyWaitingForCancellationApprove=true.
  • В кабинете или через почту — на нее придет уведомление об отмене.
  • Подключите API-уведомления. Маркет отправит вам запрос POST notification, когда появится новая заявка на отмену заказа. Как работать с уведомлениями

Если в течение 48 часов вы не подтвердите или отклоните отмену, заказ будет отменен автоматически.

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

Request

PUT

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

Path parameters

Name

Description

campaignId*

Type: integer<int64>

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

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

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

Min value: 1

orderId*

Type: integer<int64>

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

Body

application/json
{
    "accepted": false,
    "reason": "ORDER_DELIVERED"
}

Name

Description

accepted*

Type: boolean

Решение об отмене заказа:

  • true — заказ отменяется, служба доставки узнала об отмене до передачи заказа покупателю.
  • false — заказ не отменяется, так как он уже доставлен покупателю курьером или передан в пункт выдачи заказов.

reason

Type: OrderCancellationReasonType

Причина, по которой заказ не может быть отменен (она сообщается покупателю).

Обязательный параметр, если вы передаете accepted="false".

Enum: ORDER_DELIVERED, ORDER_IN_DELIVERY

OrderCancellationReasonType

Варианты причин, по которым заказ не может быть отменен.

  • ORDER_DELIVERED — заказ уже доставлен.
  • ORDER_IN_DELIVERY — заказ уже у курьера.

Type

Description

OrderCancellationReasonType

Enum: ORDER_DELIVERED, ORDER_IN_DELIVERY

Responses

200 OK

Ответ на отмену заказа был успешно передан.

Body

application/json
{
    "status": "OK"
}

Name

Description

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

400 Bad Request

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

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

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

403 Forbidden

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

404 Not Found

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

420 Method Failure

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

500 Internal Server Error

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR