Skip to content

Core: manager shipment REST and Vue tracking tab #607

Description

@Ibochkarev

Описание функции

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 разрешает переход.

Дополнительный контекст

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions