Описание функции
Manager API для отгрузки заказа (создать, сменить статус, записать трек) и штатная вкладка tracking в Vue-карточке заказа.
Проблема, которую решает
#591 закладывал manager CRUD/patch shipment по order_id и переход plugin tab tracking (#166) на поля core. PR #605 дал lifecycle, webhook и cabinet shipments[]. Без экрана менеджера магазины без курьерского API не создают отгрузку и не вводят трек из админки. Плагины по-прежнему кладут трек в ad-hoc properties.
Предлагаемое решение
- Manager REST: GET/PATCH shipment по
order_id (v1 одна запись). Tracking и статус через ShipmentLifecycleService, не прямой status_id.
- Vue
order entry: вкладка tracking на ShipmentPublicDto плюс поля, нужные менеджеру (без secrets из meta).
- Права менеджера как у заказа. Лексиконы ru+en в
vue.inc.php.
Магазины с ms3_shipment_enabled=false видят пустое состояние и могут создать shipment вручную, либо вкладка скрыта setting'ом.
Альтернативные варианты
Оставить только plugin tab из #166. Тогда core-поля есть, а UI снова у каждого пакета свой.
Только REST без Vue. Headless-админки закрыты, штатный менеджер нет.
Примеры использования
Менеджер открывает заказ, вкладка «Отслеживание», вводит трек, ставит shipped. Статус заказа уходит в ms3_status_sent только если lifecycle включён и OrderStatusService разрешает переход.
Дополнительный контекст
Описание функции
Manager API для отгрузки заказа (создать, сменить статус, записать трек) и штатная вкладка tracking в Vue-карточке заказа.
Проблема, которую решает
#591 закладывал manager CRUD/patch shipment по
order_idи переход plugin tabtracking(#166) на поля core. PR #605 дал lifecycle, webhook и cabinetshipments[]. Без экрана менеджера магазины без курьерского API не создают отгрузку и не вводят трек из админки. Плагины по-прежнему кладут трек в ad-hocproperties.Предлагаемое решение
order_id(v1 одна запись). Tracking и статус черезShipmentLifecycleService, не прямойstatus_id.orderentry: вкладка tracking наShipmentPublicDtoплюс поля, нужные менеджеру (без secrets изmeta).vue.inc.php.Магазины с
ms3_shipment_enabled=falseвидят пустое состояние и могут создать shipment вручную, либо вкладка скрыта setting'ом.Альтернативные варианты
Оставить только plugin tab из #166. Тогда core-поля есть, а UI снова у каждого пакета свой.
Только REST без Vue. Headless-админки закрыты, штатный менеджер нет.
Примеры использования
Менеджер открывает заказ, вкладка «Отслеживание», вводит трек, ставит shipped. Статус заказа уходит в
ms3_status_sentтолько если lifecycle включён иOrderStatusServiceразрешает переход.Дополнительный контекст
shipments[]. Этот issue про mgr, не про api.php