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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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