Обновление статуса заявки на отмену заказа

POST /v1/cancellation/update

POST/v1/cancellation/update

Обновляет статус заявки на отмену заказа.

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

Некоторые заказы могут быть отменены без участия мерчанта (например, в течение X часов с момента оформления). Для отслеживания таких заказов используйте метод получения статусов заказов или /v1/order/dbs/list.

Тело запроса

cancellation_id
integer
required

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

status
string
required

NEW: Ожидает обновления со стороны продавца

APPROVED_CANCEL: Одобрено

DECLINED: Отклонено

Допустимые значения
NEWAPPROVED_CANCELDECLINED
comment
string

Комментарий.

Успешный ответ

200Успех. Тело ответа — пустой JSON-объект `{}`.
application/json
object
cancellation_id
integer
required

Идентификатор заявки на отмену. Всегда присутствует (успех и ошибка).

status
string

Актуальный статус заявки на отмену (только при успехе).

NEW: Ожидает обновления со стороны продавца

APPROVED_CANCEL: Одобрено

DECLINED: Отклонено

Допустимые значения
NEWAPPROVED_CANCELDECLINED
errors
array

Структурированные ошибки (только при неуспехе). Коды — CancellationUpdateValidationErrorCode.

При ошибке — только cancellation_id + errors; status отсутствует.

Ошибка валидации/бизнеса поля для scope «CancellationUpdate». Допустимые field: cancellation_id, status, comment. Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.

Ошибка валидации/бизнеса поля для scope «CancellationUpdate». Допустимые field: cancellation_id, status, comment. Для бизнес-правил витрины: code=STOREFRONT_RULE_VIOLATION.

Показать свойства
field
string
required

Путь к полю. Ожидаемые: cancellation_id, status, comment.

code
string
required

Код ошибки.

REQUIRED: Поле отсутствует или пустое, но обязательно

INVALID_TYPE: Неверный JSON-тип

INVALID_FORMAT: Неверный формат значения

INVALID_ENUM: Значение не из допустимого набора

NOT_FOUND: Сущность не найдена (уточняется полем field)

INVALID_STATUS_TRANSITION: Недопустимый переход статуса

CONFLICT: Конфликт состояния

STOREFRONT_RULE_VIOLATION: Отклонено бизнес-правилом витрины (детали в message)

Допустимые значения
REQUIREDINVALID_TYPEINVALID_FORMATINVALID_ENUMNOT_FOUNDINVALID_STATUS_TRANSITIONCONFLICTSTOREFRONT_RULE_VIOLATION
message
string
required

Текст для клиента. Для STOREFRONT_RULE_VIOLATION — описание правила.

Ошибки

400Некорректный запрос
application/json
object
error_type
string

Класс транспортной ошибки запроса (HTTP 4xx/5xx).

Поэлементные и бизнес-ошибки сущности приходят в HTTP 200 в errors/failed, не в этом поле.

  • ERROR_TYPE_UNSPECIFIED: не используется
  • ERROR_TYPE_UNAUTHORIZED: HTTP 401
  • ERROR_TYPE_RATE_LIMIT: HTTP 429
  • ERROR_TYPE_INTERNAL: HTTP 500
  • ERROR_TYPE_BAD_REQUEST: HTTP 400 (уровень запроса)
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string

Машинный код ошибки. Уточняет error_type.

message
string

Человекочитаемое сообщение об ошибке.

details
object
401Ошибка авторизации
application/json
object
error_type
string

Класс транспортной ошибки запроса (HTTP 4xx/5xx).

Поэлементные и бизнес-ошибки сущности приходят в HTTP 200 в errors/failed, не в этом поле.

  • ERROR_TYPE_UNSPECIFIED: не используется
  • ERROR_TYPE_UNAUTHORIZED: HTTP 401
  • ERROR_TYPE_RATE_LIMIT: HTTP 429
  • ERROR_TYPE_INTERNAL: HTTP 500
  • ERROR_TYPE_BAD_REQUEST: HTTP 400 (уровень запроса)
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string

Машинный код ошибки. Уточняет error_type.

message
string

Человекочитаемое сообщение об ошибке.

details
object
429Превышен лимит запросов
application/json
object
error_type
string

Класс транспортной ошибки запроса (HTTP 4xx/5xx).

Поэлементные и бизнес-ошибки сущности приходят в HTTP 200 в errors/failed, не в этом поле.

  • ERROR_TYPE_UNSPECIFIED: не используется
  • ERROR_TYPE_UNAUTHORIZED: HTTP 401
  • ERROR_TYPE_RATE_LIMIT: HTTP 429
  • ERROR_TYPE_INTERNAL: HTTP 500
  • ERROR_TYPE_BAD_REQUEST: HTTP 400 (уровень запроса)
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string

Машинный код ошибки. Уточняет error_type.

message
string

Человекочитаемое сообщение об ошибке.

details
object
500Внутренняя ошибка сервера
application/json
object
error_type
string

Класс транспортной ошибки запроса (HTTP 4xx/5xx).

Поэлементные и бизнес-ошибки сущности приходят в HTTP 200 в errors/failed, не в этом поле.

  • ERROR_TYPE_UNSPECIFIED: не используется
  • ERROR_TYPE_UNAUTHORIZED: HTTP 401
  • ERROR_TYPE_RATE_LIMIT: HTTP 429
  • ERROR_TYPE_INTERNAL: HTTP 500
  • ERROR_TYPE_BAD_REQUEST: HTTP 400 (уровень запроса)
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNALERROR_TYPE_BAD_REQUEST
code
string

Машинный код ошибки. Уточняет error_type.

message
string

Человекочитаемое сообщение об ошибке.

details
object
POST/v1/cancellation/update
1curl https://api.omninet.ru/v1/cancellation/update \2  --request POST \3  --header 'Content-Type: application/json' \4  --data '{5  "cancellation_id": 0,6  "status": "NEW",7  "comment": "string"8}'
{
  "cancellation_id": 0,
  "status": "NEW",
  "errors": [
    {
      "field": "cancellation_id",
      "code": "NOT_FOUND",
      "message": "Заявка на отмену не найдена"
    }
  ]
}

Успех. Тело ответа — пустой JSON-объект `{}`.