Управление шаблонами -------------------- В API v2 значительно расширена функциональность управления шаблонами товаров для распознавания. Добавлены новые методы для работы с шаблонами, включая импорт/экспорт данных и более гибкое управление жизненным циклом шаблонов. Добавление шаблона товара ========================= Добавить новый регистрационный шаблон, связав **id** с текущим изображением камеры. Если функция **add_item_template** отключена режимом обучения, будет возвращена ошибка -6217. **URL интерфейса:** http://172.22.0.6/api/add_item_template **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "id": "001" } +----------+-----------+---------+-----------+-------------------+ |Параметр |Пример |Тип |Обязательно|Описание | | |значения | |? | | +==========+===========+=========+===========+===================+ |id |001 |String |Да |PLU код товара | +----------+-----------+---------+-----------+-------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": { "image": "example_base64", "sid": "20250409172600091096974" } } +----------+-----------------------+---------+-------------------------+ |Параметр |Пример значения |Тип |Описание | +==========+=======================+=========+=========================+ |code |0 |Number |Код результата: 0 - | | | | |успех | +----------+-----------------------+---------+-------------------------+ |data.image|example_base64 |String |Base64 кодирование | | | | |шаблонного изображения | +----------+-----------------------+---------+-------------------------+ |data.sid |20250527142038229039451|String |Уникальный идентификатор | | | | |шаблона | +----------+-----------------------+---------+-------------------------+ Получение списка шаблонов товара ================================== Получить все зарегистрированные шаблоны для **id** товара. **URL интерфейса:** http://172.22.0.6/api/get_item_template_list **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "id": "001" } +----------+-----------+---------+-----------+-------------------+ |Параметр |Пример |Тип |Обязательно|Описание | | |значения | |? | | +==========+===========+=========+===========+===================+ |id |001 |String |Да |PLU код товара | +----------+-----------+---------+-----------+-------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": [ "20250325182631900286512", "20250325182635248390972", "center" ], "max": 30 } +----------+-----------+---------+----------------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+==================================+ |code |0 |Number |Код результата: 0 - успех | +----------+-----------+---------+----------------------------------+ |data |- |Array |Список ID шаблонов этого товара | +----------+-----------+---------+----------------------------------+ |max |30 |Number |Максимальное количество шаблонов | +----------+-----------+---------+----------------------------------+ Удаление шаблона товара ========================= Удалить зарегистрированный шаблон **sid** товара **id**. Если функция **delete_item_template** отключена режимом обучения, будет возвращена ошибка -6217. **URL интерфейса:** http://172.22.0.6/api/delete_item_template **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "id": "001", "sid": "20250325182635248390972" } +----------+-----------------------+---------+-----------+-----------------------+ |Параметр |Пример значения |Тип |Обязательно|Описание | | | | |? | | +==========+=======================+=========+===========+=======================+ |id |001 |String |Да |PLU код товара | +----------+-----------------------+---------+-----------+-----------------------+ |sid |20250325182635248390972|String |Да |Уникальный ID шаблона | +----------+-----------------------+---------+-----------+-----------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Получение списка товаров для распознавания ============================================ Получить **id** товаров и количество шаблонов для каждого товара. **URL интерфейса:** http://172.22.0.6/api/get_item_list **Метод запроса:** GET **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "data": [ { "count": 3, "id": "001" }, { "count": 1, "id": "002" }, { "count": 1, "id": "003" }, { "count": 1, "id": "004" } ] } +----------+-----------+---------+---------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+===========================+ |code |0 |Number |Код результата: 0 - успех | +----------+-----------+---------+---------------------------+ |data[].id |001 |String |PLU код товара | +----------+-----------+---------+---------------------------+ |data[]. |1 |Number |Количество шаблонов товара | |count | | | | +----------+-----------+---------+---------------------------+ Удаление всех шаблонов товара =============================== Удалить все шаблоны указанного товара. Если включена синхронизация загрузки, шаблоны будут загружены снова после удаления. **URL интерфейса:** http://172.22.0.6/api/delete_item **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "id": "001" } +----------+-----------+---------+-----------+-------------------+ |Параметр |Пример |Тип |Обязательно|Описание | | |значения | |? | | +==========+===========+=========+===========+===================+ |id |001 |String |Да |PLU код товара | +----------+-----------+---------+-----------+-------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Очистка всех шаблонов ===================== Очистить все шаблоны всех товаров. Если включена синхронизация загрузки, шаблоны будут загружены снова после удаления. **URL интерфейса:** http://172.22.0.6/api/clear_all_template **Метод запроса:** POST **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Экспорт данных шаблонов ========================= Экспортировать данные шаблонов. Если передан список **ids**, будут экспортированы только указанные товары. Если список **ids** не передан, будут экспортированы все товары. Этот интерфейс возвращает ответ немедленно, используйте **export_template_status** для получения результата. **URL интерфейса:** http://172.22.0.6/api/export_template **Метод запроса:** POST **Content-Type:** json **Параметры тела запроса:** .. code:: { "ids": ["002", "003"] } +----------+-------------------+---------+-----------+----------------------+ |Параметр |Пример значения |Тип |Обязательно|Описание | | | | |? | | +==========+===================+=========+===========+======================+ |ids |["002", "003"] |Array |Нет |Список товаров | +----------+-------------------+---------+-----------+----------------------+ **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Статус экспорта шаблонов ========================== Запрос статуса экспорта шаблонов. Если пакет готовится, нужно проверять каждую секунду до завершения. Если пакет готов, ссылка для загрузки файла: {host}/download/**filename** Коды статуса: 0 : нет задачи экспорта 1 : пакет готовится 3 : пакет готов 6 : ошибка генерации **URL интерфейса:** http://172.22.0.6/api/export_template_status **Метод запроса:** GET **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "filename": "12067_20250409.evo", "msg": "Export completed", "status": 3 } +----------+-------------------+---------+----------------------------+ |Параметр |Пример значения |Тип |Описание | | | | | | +==========+===================+=========+============================+ |code |0 |Number |Код результата: 0 - успех | +----------+-------------------+---------+----------------------------+ |msg |Export completed |String |Информация о статусе | +----------+-------------------+---------+----------------------------+ |filename |12067_20250409.evo |String |Имя файла (опционально) | +----------+-------------------+---------+----------------------------+ |status |3 |Number |Код статуса | +----------+-------------------+---------+----------------------------+ Импорт данных шаблонов ======================= Импортировать указанный пакет данных шаблонов. Этот интерфейс возвращает ответ немедленно, используйте **import_template_status** для получения результата. **URL интерфейса:** http://172.22.0.6/api/import_template **Метод запроса:** POST **Content-Type:** form-data **Параметры тела запроса:** +----------+-----------------------+---------+-----------+-------------------+ |Параметр |Пример значения |Тип |Обязательно|Описание | | | | |? | | +==========+=======================+=========+===========+===================+ |file |D:\\12067_20250409.evo |File |Да |Файл для импорта | +----------+-----------------------+---------+-----------+-------------------+ **Пример url:** .. code-block:: bash curl --location 'http://{host}/api/import_template' \ --form 'file=@"/D:/12067_20250409.evo"' **Пример успешного ответа:** .. code:: { "code": 0, "data": null } +----------+-----------+---------+-------------------------+ |Параметр |Пример |Тип |Описание | | |значения | | | +==========+===========+=========+=========================+ |code |0 |Number |Код результата: 0 - успех| +----------+-----------+---------+-------------------------+ |data |- |Null |- | +----------+-----------+---------+-------------------------+ Статус импорта шаблонов ========================= Запрос статуса импорта шаблонов. Коды статуса: 0 : нет задачи импорта 2 : импорт 3 : проверка целостности пакета 4 : завершен 5 : ошибка импорта 7 : ошибка проверки **URL интерфейса:** http://172.22.0.6/api/import_template_status **Метод запроса:** GET **Content-Type:** none **Пример успешного ответа:** .. code:: { "code": 0, "msg": "Import successful", "status": 4 } +----------+------------------+---------+----------------------------+ |Параметр |Пример значения |Тип |Описание | | | | | | +==========+==================+=========+============================+ |code |0 |Number |Код результата: 0 - успех | +----------+------------------+---------+----------------------------+ |msg |Import successful |String |Информация о статусе | +----------+------------------+---------+----------------------------+ |status |4 |Number |Код статуса | +----------+------------------+---------+----------------------------+