Сценарии сборщика
Методы и структуры находятся в справочнике, группа picker.
Вход выполняется через /api/picker/auth/login, обновление токенов — через
/api/picker/auth/refresh. Покупательский JWT не предоставляет права сборщика.
Рабочая сессия
- После входа прочитайте
/api/picker/auth/meи/api/picker/session/active. Ответ204означает отсутствие активной сессии. - Получите очередь
/api/picker/ordersи начните выбранный заказ командой/api/picker/orders/{order_id}/start. - Выполняйте сканирование, подтверждение количества или веса, замену и уточнения через соответствующие команды API. Каждый ответ применяйте как серверный снимок.
- Завершайте сборку явной командой
/finishпосле готовности всех позиций. Состояниеready_to_finishещё не означаетcompleted.
Активная сессия задаёт магазин товаров и остатков. Не переносите позиции между
магазинами на основании локальных настроек. История сборки доступна через
/api/picker/history/; детали завершённой сессии отражают состав на момент завершения.
Идемпотентность и конфликты
Изменяющие команды требуют Idempotency-Key с UUID. Один ключ обозначает одно
действие с неизменным телом и сохраняется при timeout, повторе и перезапуске клиента.
Ответ операции может включать session; используйте её для восстановления экрана.
Несовпадение штрихкода может прийти как HTTP 200 со статусом mismatch:
проверяйте бизнес-результат, а не только HTTP-код.
При конфликте занятого заказа обновите очередь и активную сессию. При ошибке
готовности завершения покажите незакрытые позиции. Сетевой timeout, 404 или 410
не подтверждает завершение либо отмену действия.
Отмена
POST /api/picker/orders/{order_id}/cancel — отдельная команда сборщика с причиной
по схеме запроса. Сохраняйте ключ до получения определённого результата и после
восстановления связи перечитывайте сессию. Не смешивайте её с покупательской отменой.
Если сервер сообщил order_cancelled, примените актуальную сессию, обновите очередь
и активную сборку. Подтверждение прочтения отмены отправляется через
/api/picker/orders/{order_id}/cancelled/ack; оно возвращает 204 и не является
новой отменой заказа.
Версия: a0f83a6f89d582854b126a89a7623bb1d484a004 · TEST. Markdown