Публичный ресурс
Веб-сервис 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)
Параметр | Тип данных | Обязательное | Пример | Описание | Название подстановки в редакторе шаблонов ценников |
---|---|---|---|---|---|
Параметры печати *- не обязательны для метода, но обязательны, если будут печататься на уценочном стикере | |||||
barcode | string | Да | 4600001000007 | ШК товара | Штрих-код (цифры) |
amount | Integer | Да | 2 | Количество копий | - |
templateCode | string | Нет* | 23 | Код шаблона ценника | - |
printerName | string | Нет* | HP Color LaserJet M552 PCL 6 | Название принтера из SetRetail10 | - |
Подстановки для ценника \ стикера *- не обязательны для метода, но обязательны, если будут печататься на уценочном стикере | |||||
NAME | string | Нет | Новое наименование товара! | Наименование товара | Наименование товара |
FULL_NAME | string | Нет | Новое наименование товара! Полное | Полное наименование товара | Полное название |
PERCENT_DISCOUNT_FOR_RA | string | Нет* | 25 | Процент скидки | Процент скидки по акции |
EXPIRATION_DATE_LENTA | string | Нет* | 231114 | Дата окончания СГ | Срок годности (для клиентов CSI (уточните у менеджера) |
EXPIRATION_DATE_ONLY | string | Нет* | 231114 | Дата окончания СГ для GS1 секция 17 | Дата окончания СГ (GS1 секция 17) |
ERP_CODE | string | Нет | 123123 | ERP-код товара | ERP-код товара |
EMPLOYEE_NUMBER | string | Нет* | 123123 | Табельный номер | Табельный номер |
WEIGHT | string | Нет* | 001500 | Вес продукции (для весового товара) | Вес |
SHOP_NUMBER | string | Нет* | 34 | Номер ТК | Номер ТК |
PRICE_RUB | string | Нет* | 217 | Цена за единицу товара, руб Только часть, которая в рублях! | Цена за единицу товара, руб |
PRICE_COP | string | Нет* | 99 | Цена за единицу товара, коп Только часть, которая в копейках! | Цена за единицу товара, коп |
Логика взаимодействия запроса на печать
Алгоритм работы метода
Пользователь сканирует/вводит на ТСД или через 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, ООО "Кристалл Сервис Интеграция".
Все права защищены.