Завершить исполнение заказа или отказаться от него

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

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

Нужны роль исполнителя и назначенный выбранной организации заказ или рейс в исполнении. Для завершения заказа проверьте право exec_complete_order, для отзыва — exec_revoke_order. Перед действием на рабочем стенде сверьте идентификатор и получите подтверждение пользователя.

Если действие относится к заказу, вызовите POST /api/orders/v0/transferOrder/getFlatForExecutor с идентификатором в data.exactOrderIds. Проверьте, что в data.orders есть нужный заказ со статусом onExecute.

Завершить исполнение заказа

После доставки вызовите POST /api/orders/onExecute/completeByExecutor/v0 с идентификатором заказа в data.id.

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

Если перевозку выполнить невозможно, получите код причины из GET /api/dicts/order/v0/reasonOrderRevokeExec и согласуйте его с пользователем. Вызовите POST /api/orders/onExecute/revokeByExecutor/v0 с идентификатором в data.id и обязательным кодом в data.cancelReasonKey. Комментарий можно передать в data.cancelComment. Если причина не определена, остановитесь.

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

После завершения или отзыва перечитайте заказ. Сообщите HTTP-статус операции и текущее состояние заказа, если карточка ещё доступна.

Завершить рейс

Получите рейс через POST /api/flights/v1/listForExecutor с идентификатором в data.ids. Сверьте executerId с выбранной организацией и проверьте право exec_flight_complete.

Завершение рейса проставляет незавершённым активным задачам окончание выгрузки и выезд, переводя их в departureUnloading. Проверьте data.flights[].tasks и подтвердите с пользователем фактическую доставку по всем активным задачам, которые ещё не завершены. Если список задач неполный или доставку нельзя подтвердить, остановитесь.

После подтверждения вызовите POST /api/flights/complete/v0 с тем же идентификатором в data.flightId. Перечитайте рейс, проверьте status: complete и состояние затронутых задач.

Ошибки

  • При 400 Bad Request проверьте текущий статус и обязательные поля.
  • При 403 Forbidden проверьте назначенного исполнителя и права профиля.
  • При 404 Not Found сверьте идентификатор заказа или рейса.