Получить заказ для редактирования и обновить его

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

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

Нужен черновик (draft), который пользователь вправе редактировать. Если заказ участвует в активной сессии оптимизации, остановитесь. Перед записью на рабочем стенде получите подтверждение пользователя.

Порядок вызовов

  1. Вызовите GET /api/orders/v0/transferOrder/getForEdit с параметром id в URL. Используйте поля из data как исходные данные для обновления.
  2. Соберите полную форму data по карточке POST /api/orders/v0/transferOrder/update с тем же data.id. Перенесите сохраняемые значения по схеме запроса и внесите согласованные изменения. Передайте непустые bodyType, shipments и packages в каждой задаче. Оставьте data.distribution без значения при обычном редактировании. Если нужно передать распределение, сначала согласуйте с пользователем переход заказа в торги (matcher) или исполнение (self).
  3. Сверьте data.id ответа с идентификатором заказа. Перечитайте заказ через POST /api/orders/v0/transferOrder/getFlatForCustomer с идентификатором в data.exactOrderIds. Проверьте статус и изменённые поля. Если ответ на запись потерян, сначала проверьте состояние заказа тем же способом.

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