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

Импорт пик-листов из ERP в SetRetail10

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

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

10.3.12.0

Метод импорта пик-листа

Загрузка пик-листа
URLhttp://IP-адрес сервера SetRetail10:8090/SetCashMenu-API/json/load
МетодPOST
Request Content-TypesJSON
ОписаниеЗагрузка пик-листа на сервер 
ПолеТип данныхОписаниеОбязательное
Принимаемые параметры
requestjsonЗапрос на создание или обновление пик-листа в формате JSONДа
Возвращаемые параметры
returnjson
Результат запроса. В случае успеха результатом будет строка "Загрузка шаблона меню произведена успешно"

Описание формата данных пик-листа

Входящие параметры метода (JSON)

ПараметрТип данныхОписаниеОбязательное
templateTypeString

Тип шаблона

Допустимые значения:

  • SCHEDULED - меню по расписанию
  • PERMANENT - постоянное меню
Да для типов касс Touch
templateNameString

Название шаблона

Если не заполнено - по умолчанию создается шаблон с названием "Шаблон пик-листов"

Нет
templateGuidInteger

Код шаблона пик-листа

Если не указан или не существует, то создается новый с произвольным кодом

Если указан  существующий код, то происходит обновление шаблона

Нет
cashTemplatesArray

Код шаблона кассы

В случае отсутствия шаблон пик-листа не будет привязан  к шаблону кассы. Если шаблон кассы привязан к шаблону пик-листа и загрузилась новая привязка - привязка обновится

Нет
menuTemplatesArrayШаблон пик-листаДа

menuNameStringНазвание, указанное на странице шаблона пик-листаНет
shopNumbersArray

Номер магазина. Можно указать несколько магазинов через запятую.

Если не указан или указан пустой массив - шаблон действует для всех магазинов.

Нет
cashTypeString

Тип касс

Допустимые значения:

  • TOUCH_2
  • CSI_K
Да
dateFromString

Дата, с которой действует шаблон

В случае отсутствия будет проставлена сегодняшняя дата

Формат даты: 2022-05-09

Нет
dayOfWeekInteger

Дни недели, в которые действует меню для SetTouch с типом пик-листа  SCHEDULED

Если не указан, то пик-лист будет для всех дней недели

Указываются в битах. Примеры значений :

  • 1 - ПН
  • 2 - ВТ
  • 4 - СР
  • 8 - ЧТ
  • 16 - ПТ
  • 32 - СБ
  • 64 - ВС
  • 64 + 32 = 96 [СБ и ВС]
Нет
contentString

Содержимое пик-листа 

Для типа меню TOUCH структуру необходимо передавать как массив

Да

Структура поля "content" для устройств CSI-K

Для содержимого поля "content" необходимо экранировать спецсимволы (кавычки)

ЭлементТип данныхОписаниеОбязательное
sortTypeString

Тип сортировки плиток шаблона меню.

Допустимые значения:

  • manual - расположение плиток вручную
  • alphabetic - расстановка плиток по алфавиту

Алфавитная сортировка при импорте из ERP действует только в рамках каждой отдельной страницы, т.е. внутри массива tiles с индексами от 0 до 15.

Для вложенных страниц меню (групп товаров) алфавитную сортировку следует назначить отдельно для конкретной страницы (группы).

Сквозная алфавитная сортировка по всей группе товаров с несколькими страницами выполняется на стороне ERP до загрузки пик-листа. После загрузки сортировка может быть выполнена из визуализации сервера, подробнее в статье Расстановка в алфавитном порядке.

Да
pagesArray

Страницы меню

Каждая страница меню содержит 16 плиток товаров (групп товаров) с индексами от 0 до 15.
Индекс в пределах одной страницы (массива tiles) должен начинаться с 0 и не превышать значения 15. Если, например, начать с 1, то первая плитка на странице будет пустой (при ручной расстановке). Если внутри папки имеется больше 16 объектов, следует при загрузке самостоятельно разбить их на страницы.

Пример поля content, содержащего 18 товаров с разбивкой на 2 страницы

Да

tilesObjectПлиткиДа

Плитка с типом "Товар"


indexInteger

Порядковый номер плитки для отображения на экране

Допустимые значения: от 0 до 15.

Да
nameStringНазвание плитки для отображения на экранеДа
barcodeStringШтрих-код товараДа
skuStringАртикул товараДа

Плитка с типом "Группа товаров"
indexInteger

Порядковый номер плитки для отображения на экране

Допустимые значения: от 0 до 15.

Да
nameStringНазвание плитки для отображения на экранеДа
sortTypeString

Тип сортировки плиток шаблона меню.

Допустимые значения:

  • manual - расположение плиток вручную
  • alphabetic - расстановка плиток по алфавиту

Алфавитная сортировка при импорте из ERP действует только в рамках каждой отдельной страницы, т.е. внутри массива tiles с индексами от 0 до 15.

Для вложенных страниц меню (групп товаров) алфавитную сортировку следует назначить отдельно для конкретной страницы (группы).

Сквозная алфавитная сортировка по всей группе товаров с несколькими страницами выполняется на стороне ERP до загрузки пик-листа. После загрузки сортировка может быть выполнена из визуализации сервера, подробнее в статье Расстановка в алфавитном порядке.

Да
pagesArrayМассив вложенных в группу товаров плиток (могут быть плитки типа “товар” и “группа товаров”)Да
Пример заполнения элемента content для устройств CSI-K
{
    "sortType": "manual",
    "pages": [
        {
            "tiles": [
                {
                    "index": 0,
                    "name": "Сок виноградный кислый (Россия)",
                    "barcode": "4600127000004",
                    "sku": "00127"
                },
                {
                    "index": 1,
                    "name": "Фрукты",
                    "sortType": "manual",
                    "pages": [
                        {
                            "tiles": [
                                {
                                    "index": 0,
                                    "name": "Хлеб апельсиновый соленый (Россия)",
                                    "barcode": "4600234000003",
                                    "sku": "00234"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Структура поля "content" для устройств SetTouch

Для содержимого поля "content" необходимо экранировать спецсимволы (кавычки)

ЭлементТип данныхОписаниеОбязательное
nameStringНазвание вкладкиДа
columnsIntegerКоличество колонок в раскладкеДа
typeString

Тип вкладки

GT - goods type (тип вкладки продукты)

Да
tilesObjectПлитки. Могут быть двух типов - товар и группа товаровДа

Плитка с типом "Товар"
indexIntegerПорядковый номер плитки для отображения на экранеДа
nameStringНазвание плитки для отображения на экранеДа
tilesArrayВложенные плитки, для плитки типа “товар” пустой массивДа
barcodeStringШтрих-код товараДа
itemIdStringАртикул товараДа
imgStringПуть к изображению товара на плиткеДа
Плитка с типом "Группа товаров"
indexIntegerПорядковый номер плитки для отображения на экранеДа
nameStringНазвание плитки для отображения на экранеДа
tilesArrayВложенные плитки, для группы товаров могут быть как товары, так и другие группы товаровДа
IconIdStringТип элемента (DIR - тип “Группа товаров“)Да
imgStringПуть к изображению группы товаров на плиткеДа
Пример заполнения элемента content для устройств SetTouch
[
    {
        "name": "Вкладка",
        "columns": 6,
        "type": "GT",
        "tiles": [
            {
                "index": 0,
                "name": "Пряник клубничный терпкий (Россия)",
                "tiles": [],
                "img": "",
                "itemId": "00345",
                "barcode": "4600345000008"
            },
            {
                "index": 1,
                "name": "Группа",
                "tiles": [
                    {
                        "index": 0,
                        "name": "Кефир виноградный терпкий (Россия)",
                        "tiles": [],
                        "img": "",
                        "itemId": "00321",
                        "barcode": "4600321000008"
                    }
                ],
                "img": "",
                "iconId": "DIR"
            }
        ]
    },
    {
        "name": "Вкладка №2",
        "columns": 6,
        "type": "GT",
        "tiles": [
            {
                "index": 0,
                "name": "Йогурт яблочный кислый (Россия)",
                "tiles": [],
                "img": "",
                "itemId": "00112",
                "barcode": "4600112000002"
            }
        ]
    }
]

Примеры запросов

CSI-K

Пример запроса для устройств CSI-K
{   
   "templateType": "PERMANENT",
    "templateName": "Шаблон CSI",
    "templateGuid": 75370,
    "cashTemplates": [73526],
    "menuTemplates": [
        {
            "menuName": "шаблон",
			"shopNumbers": [1654,1655,1656,1657,1658],
            "cashType": "CSI_K",
            "dateFrom": "2022-05-09",
            "content": "{\"sortType\":\"manual\",\"pages\":[{\"tiles\":[{\"index\":0,\"name\":\"товар 1\",\"barcode\":\"00017\",\"sku\":\"0\"},{\"index\":15,\"name\":\"товар 2\",\"barcode\":\"00008\",\"sku\":\"00008\"}]},{\"tiles\":[{\"index\":4,\"name\":\"товар 1\",\"barcode\":\"00017\",\"sku\":\"00017\"},{\"index\":2,\"name\":\"товар 2\",\"barcode\":\"00008\",\"sku\":\"00008\"}]}]}"
        }
    ]
}

SetTouch

Пример запроса для устройств SetTouch
{
    "templateType": "SCHEDULED",
    "templateName": "Шаблон TOUCH",
    "templateGuid": 75355,
    "cashTemplates": [5],    
    "menuTemplates": [
        {
            "menuName": "Шаблон",
			"shopNumbers": [1654,1655,1656,1657,1658],
            "cashType": "TOUCH_2",
            "dateFrom": "2022-05-09",
            "dayOfWeek": "19",
            "content": "[{\"name\":\"1\",\"columns\":6,\"type\":\"GT\",\"tiles\":[{\"index\":0,\"name\":\"Товар\",\"tiles\":[],\"img\":\"\",\"itemId\":\"0000888\",\"barcode\":\"0000888\"}]}]"
        }
    ]
}

Пример работы запроса в Postman

1. На вкладке запроса выберите POST → введите адрес следующего формата для загрузки пик-листа http://IP-адрес сервера SetRetail:8090/SetCashMenu-API/json/load → выберите тип данных JSON → вставьте JSON-запрос для формирования пик-листа → кликните SEND

2. При успешной загрузке пик-листа в блоке ответа от сервера появится сообщение "Загрузка шаблона меню произведена успешно".

© 1994-2024, ООО "Кристалл Сервис Интеграция".
Все права защищены.

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