Отмены
Сценарии отмены заказа со стороны покупателя и мерчанта.
Отмена заказа
Отмена в DBS реализуется двумя путями. Запрос покупателя идёт через витрину → заявка в cancellation/*, которую мерчант одобряет или отклоняет. Если отменяет мерчант — он меняет статус заказа напрямую через POST /v1/order/dbs/status/update → CANCELLED.
Путь A — отмена по запросу покупателя (через витрину)
- Покупатель инициирует отмену на витрине; витрина создаёт заявку.
- POST
/v1/cancellation/list—CancellationListRequest.required:filter,limit. Пример:filter.status: ["NEW"]. - POST
/v1/cancellation/update—status: "APPROVED_CANCEL"или"DECLINED". Полеcomment— опционально. - При одобрении заказ переходит в CANCELLED на стороне витрины.
Витрина и мерчант могут согласовать отмену без подтверждения заявки до отгрузки — условия обсуждаются при интеграции.
Путь B — отмена мерчантом
- Мерчант принимает решение об отмене (товар недоступен, ошибка и т.д.).
- POST
/v1/order/dbs/status/update—status: "CANCELLED",changed_by: "MERCHANT". - Отдельная заявка
cancellation/*не требуется.
JSON — POST /v1/cancellation/list
{
"cursor": "",
"limit": 100,
"filter": {
"status": ["NEW"]
}
}
JSON — POST /v1/cancellation/update
CancellationUpdateRequest.required: cancellation_id, status. comment опционален.
{
"cancellation_id": 10042,
"status": "APPROVED_CANCEL",
"comment": "Товар не собран, отмена одобрена"
}
Поле
commentвcancellation/update— необязательное. Его можно передать при отклонении заявки для пояснения покупателю.
В dbs.json нет enum причин отмены. В cancellation/list причина приходит свободным текстом description; при решении мерчанта — опциональный comment.
JSON — отмена мерчантом через статус
{
"merchant_order_id": "ORD-DBS-2026-301",
"status": "CANCELLED",
"changed_at": "2026-06-14T12:00:00+03:00",
"changed_by": "MERCHANT"
}