Публичный ресурс
Веб-сервис REST для печати ценников через подстановки своих значений из ERP или ТСД
- SRTS-1787Получение подробных данных проблемы… СТАТУС
- CR-9221Получение подробных данных проблемы… СТАТУС
10.3.26.0
Описание
Веб-сервис позволяет печатать ценники на товар по веб-запросу, например ТСД или принтеры магазина, при этом подставлять значения из ERP, игнорируя подстановки из SetRetail10
Такая возможность позволяет редактировать и печатать уценоцные стикеры через модуль печати SetRetail10, чтобы сократить время на оформление уценки товаров.
Метод веб-сервиса для задания на печать ценника с входными данными для подстановок
Формирование задания на печать этикеток по параметрам указанным в запросе | |
Метод | |
URL | http://IP-адрес сервера SetRetail10:8090/SET-PrintPriceTags-REST/v1/pricetags/print |
Тип запроса | POST |
Комментарий | Создать задание на печать ценников по параметрам указанным в запросе. |
Входящие параметры метода (JSON)
Логика взаимодействия запроса на печать
Алгоритм работы метода
Пользователь сканирует/вводит на ТСД или через ERP параметры, которые необходимы для печати/
ТСД/ERP вызывает метод API по печати ценников в модуле печати SetRetail10 с нужными для печати параметрами/
Модуль печати принимает эти данные
Находит товар по ШК.
Находит шаблон стикера по коду шаблона.
Формирует стикер, заполняя подстановки, полученными данными.
Шаблон формируется в SET по аналогии с обычным ценником.
Если в SET есть значение для подстановки и для нее же пришло значение из ТСД/ERP, то значение из ТСД/ERP будет приоритетней (к примеру подстановка % скидки, которая может быть как рассчитана, так и передана с ТСД)
Находит принтер по полученному названию.
Отправляет стикер на найденный принтер.
Возвращает в ответ результат выполнения метода.
Ограничения
Входные параметры работают только для подстановок, описанных выше.
Для того, чтобы цена на стикере и на кассе были равны, необходимо завести рекламную акцию на скидку и на товар с истекающим сроком годности.
Данное решение не предусматривает возможности печатать на стикере GS1 databar без дополнительных доработок.
На стороне SetRetail10 не проводится валидация полученных в запросе значений!
Пример запросов
[{ "barcode": "4607141310331", "amount": 1, "templateCode": "34453", "printerName": "MyPrint", "substitutions": { "SHOP_NUMBER": "329847", "EMPLOYEE_NUMBER": "070757" } }]
[{ "barcode": "4606068478339", "amount": 1, "templateCode": "333", "printerName": "StorePrinter", "substitutions": { "EXPIRATION_DATE_ONLY": "241201", "PRICE_RUB": "222", "PRICE_COP": "33", "SHOP_NUMBER": "1235", "ERP_CODE": "test_erp_code", "EMPLOYEE_NUMBER": "test_emp_number", "WEIGHT": "199.99", "EXPIRATION_DATE_LENTA": "test dt", "NAME": "Имя товара", "FULL_NAME": "Полное имя товара", "PERCENT_DISCOUNT_FOR_RA": "12" } }]
Статусы ответов
Печать произведена успешно.
{ "result": "Печать запустилась." }
Ценник не напечатан из-за ошибки входных параметров:
Возможные причины:
- неверно указан штрих-код товара;
- не привязан шаблон к принтеру;
- расхождение размеров ценника и размеров бумаги принтера.
- любые другие ошибки, которые влияют на печать ценника или отсутствие данных по товару на сервере.
{ "result": "Произошла ошибка во время печати. Один или несколько ценников не напечатались." }
Пример печати с Postman
На вкладке запроса выберите POST → введите адрес следующего формата для генерации изображения ценников http://IP-адрес сервера SetRetail:8090/SET-PrintPriceTags-REST/v1/pricetags/print → вставьте JSON-запрос для формирования ценника → кликните SEND → появится ответ от сервера со ссылкой на изображение ценника.
В данном примере, настроена печать на PNG-принтер, распечатанные ценники будут находится в папке на сервере.
Дополнительная информация
Папка рисунков PNG-принтера на сервере nginx
Все сохраненные изображения согласно настройке хранения изображений в папке сервера nginx:
- Windows: {Disk}:\Папка SetRetail10\nginx\html\image-printer-output
- Linux: /var/lib/jboss/nginx/html/image-printer-output
© 1994-2024, ООО "Кристалл Сервис Интеграция".
Все права защищены.