Публичный ресурс

Веб-сервис REST для печати ценников через подстановки своих значений из ERP или ТСД

SRTS-1787 - Получение подробных данных проблемы… СТАТУС

CR-9221 - Получение подробных данных проблемы… СТАТУС

10.3.26.0

Описание

Веб-сервис позволяет печатать ценники на товар по веб-запросу, например ТСД или принтеры магазина, при этом подставлять значения из ERP, игнорируя подстановки из SetRetail10

Такая возможность  позволяет редактировать и печатать уценоцные стикеры через модуль печати SetRetail10, чтобы сократить время на оформление уценки товаров.

Метод веб-сервиса для задания на печать ценника с входными данными для подстановок

Формирование задания на печать этикеток по параметрам указанным в запросе

Методprint
URLhttp://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

Цена за единицу товара, коп

Только часть, которая в копейках!

Цена за единицу товара, коп


Логика взаимодействия запроса на печать


Алгоритм работы метода

  1. Пользователь сканирует/вводит на ТСД или через ERP параметры, которые необходимы для печати/

  2. ТСД/ERP вызывает метод API по печати ценников в модуле печати SetRetail10 с нужными для печати параметрами/

  3. Модуль печати принимает эти данные

    • Находит товар по ШК.

    • Находит шаблон стикера по коду шаблона.

    • Формирует стикер, заполняя подстановки, полученными данными.

      • Шаблон формируется в 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, ООО "Кристалл Сервис Интеграция".
Все права защищены.

Политика обработки персональных данных