---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
vcsPath: >-
  motorway/magacg/support/docs/src/ru-x-ai/catalog/executor/executor-complete-or-revoke-execution.md
updatedAt: '2026-11-12T12:16:53.000Z'
alternate:
  - href: >-
      https://yamagistrali.ru/docs/ru-x-ai/catalog/executor/executor-complete-or-revoke-execution.md
    type: text/markdown
    title: Markdown version
  - href: https://yamagistrali.ru/docs/ru-x-ai/llms.txt
    rel: describedby
---
<!-- Сгенерировано командой api-docs export-site. -->

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

Стенд по умолчанию — `test`. Сценарий изменяет данные. [Порядок работы для агента](https://yamagistrali.ru/docs/ru-x-ai/concepts/agent-workflow.md).

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

Если действие относится к заказу, вызовите [`POST /api/orders/v0/transferOrder/getFlatForExecutor`](https://yamagistrali.ru/docs/ru-x-ai/methods/orders.transfer-order.get-flat-for-executor.v0.md) с идентификатором в `data.exactOrderIds`. Проверьте, что в `data.orders` есть нужный заказ со статусом `onExecute`.

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

После доставки вызовите [`POST /api/orders/onExecute/completeByExecutor/v0`](https://yamagistrali.ru/docs/ru-x-ai/methods/post-api-orders-onexecute-completebyexecutor-v0.md) с идентификатором заказа в `data.id`.

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

Если перевозку выполнить невозможно, получите код причины из [`GET /api/dicts/order/v0/reasonOrderRevokeExec`](https://yamagistrali.ru/docs/ru-x-ai/methods/get-api-dicts-order-v0-reasonorderrevokeexec.md) и согласуйте его с пользователем. Вызовите [`POST /api/orders/onExecute/revokeByExecutor/v0`](https://yamagistrali.ru/docs/ru-x-ai/methods/post-api-orders-onexecute-revokebyexecutor-v0.md) с идентификатором в `data.id` и обязательным кодом в `data.cancelReasonKey`. Комментарий можно передать в `data.cancelComment`. Если причина не определена, остановитесь.

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

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

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

Получите рейс через [`POST /api/flights/v1/listForExecutor`](https://yamagistrali.ru/docs/ru-x-ai/methods/post-api-flights-v1-listforexecutor.md) с идентификатором в `data.ids`. Сверьте `executerId` с выбранной организацией и проверьте право `exec_flight_complete`.

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

После подтверждения вызовите [`POST /api/flights/complete/v0`](https://yamagistrali.ru/docs/ru-x-ai/methods/post-api-flights-complete-v0.md) с тем же идентификатором в `data.flightId`. Перечитайте рейс, проверьте `status: complete` и состояние затронутых задач.

## Ошибки

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