Отменить или отозвать заказ заказчика

Статья обновлена November 12, 2026

Стенд по умолчанию — test. Сценарий изменяет данные. Порядок работы для агента.

Нужны идентификатор заказа и доступ к нему от имени заказчика. Перед записью на рабочем стенде получите подтверждение пользователя. По возможности согласуйте отзыв исполняемого заказа с исполнителем.

Получите карточку через POST /api/orders/v0/transferOrder/getFlatForCustomer с идентификатором в data.exactOrderIds. Выберите нужный заказ в data.orders и проверьте его status. Если карточки нет, остановитесь и уточните заказ или организацию.

Отменить черновик

Если заказ находится в draft, получите причины через GET /api/dicts/order/v0/reasonOrderCancel. Согласуйте причину с пользователем и возьмите её reasonKey из data.reasons. Вызовите POST /api/orders/draft/cancel/v0 с идентификатором в data.id и обязательным кодом в data.cancelReasonKey. Комментарий можно передать в data.cancelComment. Если причина не определена, остановитесь.

Отозвать заказ в исполнении

Если исполнитель назначен и заказ находится в onExecute, получите и согласуйте причину из GET /api/dicts/order/v0/reasonOrderRevokeFwd. Если причина не определена, остановитесь. При вызове POST /api/orders/onExecute/revokeByForwarder/v0 передайте data.id и обязательный data.cancelReasonKey.

data.cancelActiveTasks управляет отменой активных задач АРУ. Задачи рейса могут быть отозваны отдельно, если первая погрузка ещё не завершена, даже при cancelActiveTasks: false. Перед отзывом согласуйте с пользователем оба последствия.

Проверить результат

Перечитайте карточку. После отмены черновика ожидается статус cancel, после отзыва исполнения — revoke. Если исходный статус не подходит или API отклонил действие, сообщите текущий статус и остановитесь.