Web-сервис для сборки заказов СМ
Назначение этого web- сервиса - обработка запросов от приложений сборки заказов СМ, изменение состояний заказа и отправка уведомлений (нотификаций) в СМ. В качестве приложения для сборки заказа может выступать как Домино, так и отдельное приложение (в том числе на мобильном устройстве), которое поддерживает протокол обмена с сервисом сборки заказов. Сервис реализуется в виде Домино web-сервера, при необходимости масштабирования при увеличении нагрузки может быть развернут пул из нескольких однородных web-серверов с балансировкой нагрузки через nginx.
Обрабатывает следующие запросы:
- getOrdersList - возвращает заказы указанного магазина/сборщика, с ограничением по статусу или без (для сборщика допустимые статусы «новый», «в сборке», «собран»)
- collectOrder - переводит заказ, находящийся в статусе «новый» в состояние «в сборке», назначает сборщика на заказ, отправляет в СМ уведомление order.in_work, создаёт телеграмм-уведомление для сборщика и магазина о назначении заказа в сборку
- completeOrder - переводит заказ, находящийся в статусе «с сборке» в состояние «собран», отправляет в СМ уведомление order.ready_for_delivery, создаёт телеграмм-уведомление для сборщика и магазина о завершении сборки заказа
- cancelOrder - переводит заказ в состояние «отменен», отправляет в СМ уведомление order.canceled, создаёт телеграмм-уведомление для сборщика и магазина об отмене заказа
- getOrder - возвращает содержимое заказа, включая информацию об уже собранных позициях
- collectPosition - добавляет товар (SKU) к списку собранных по заказу, добавление возможно по ШК, КМ или ID (коду товара); поддерживаются весовые ШК и КМ, ШК и КМ упаковок; возможно явное указание собранного количества/веса; изменяет количество собранных единиц в строке заказа; регистрирует код маркировки,
- changePosition - изменяет согласованное количество по позиции заказа,
- appendPosition - добавляет в заказ новый товар,
- replacePosition - регистрирует замену по позиции заказа,
- clearPosition - удаляет из заказа информацию о сборке конкретной позиции, очищает собранное количество, удаляет информацию о кодах маркировки
- clearAllPositions - удаляет из заказа информацию о сборке по всем позициям заказа
- assignCollector - назначает нового сборщика на заказ, находящийся в состоянии «в сборке», создаёт телеграмм-уведомление о передаче заказа для старого и нового сборщиков и магазина (применимо и для перевода заказа с магазина на конкретного сборщика, и со сборщика на магазин); новый сборщик должен иметь открытую смену по магазину
- beginSession - начинает смену сборщика с указанием планируемой продолжительности, создаёт телеграмм-уведомление сборщику и магазину
- endSession - принудительно завершает смену сборщика, сборщик не должен иметь назначенных заказов со статусом «в сборке», создаёт телеграмм-уведомление сборщику и магазину
- getSessions - возвращает список активных смен по указанному магазину
Перечень уведомлений, которые сервис для сборки заказов отправляет в СМ
- in_work - заказ взят в работу (сборку)
- ready_for_delivery - сборка заказа завершена, заказ готов к передаче курьеру
- canceled - заказ отменен магазином
Нет комментариев