Управление template

В API v2 значительно расширена функциональность управления template товаров для распознавания. Добавлены новые методы для работы с template, включая импорт/экспорт данных и более гибкое управление жизненным циклом template.

Добавление template товара

Добавить новый регистрационный template, связав id с текущим изображением камеры. Если функция add_item_template отключена режимом обучения, будет возвращена ошибка -6217.

  • URL интерфейса: http://172.22.0.6/api/add_item_template

  • Метод запроса: POST

  • Content-Type: application/json

Параметры тела запроса:

{
    "id": "001"
}

Параметр

Пример значения

Тип

Обязательность

Описание

id

001

String

Да

PLU код товара

Пример успешного ответа:

{
    "code": 0,
    "data": {
        "image": "example_base64",
        "sid": "20250409172600091096974"
    }
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data.image

example_base64

String

Base64 кодирование шаблонного изображения

data.sid

20250527142038229039451

String

Уникальный идентификатор template

Получение списка template товара

Получить все зарегистрированные template для id товара.

  • URL интерфейса: http://172.22.0.6/api/get_item_template_list

  • Метод запроса: POST

  • Content-Type: application/json

Параметры тела запроса:

{
    "id": "001"
}

Параметр

Пример значения

Тип

Обязательность

Описание

id

001

String

Да

PLU код товара

Пример успешного ответа:

{
    "code": 0,
    "data": [
        "20250325182631900286512",
        "20250325182635248390972",
        "center"
    ],
    "max": 30
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Array

Список ID template этого товара

max

30

Number

Максимальное количество template

Удаление template товара

Удалить зарегистрированный template sid товара id. Если функция delete_item_template отключена режимом обучения, будет возвращена ошибка -6217.

  • URL интерфейса: http://172.22.0.6/api/delete_item_template

  • Метод запроса: POST

  • Content-Type: application/json

Параметры тела запроса:

{
    "id": "001",
    "sid": "20250325182635248390972"
}

Параметр

Пример значения

Тип

Обязательность

Описание

id

001

String

Да

PLU код товара

sid

20250325182635248390972

String

Да

Уникальный ID шаблона

Пример успешного ответа:

{
    "code": 0,
    "data": null
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Null

—

Получение списка товаров для распознавания

Получить id товаров и количество template для каждого товара.

  • URL интерфейса: http://172.22.0.6/api/get_item_list

  • Метод запроса: GET

  • Content-Type: none

Пример успешного ответа:

{
    "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[]. count

1

Number

Количество template товара

Удаление всех template товара

Удалить все template указанного товара. Если включена синхронизация загрузки, шаблоны будут загружены снова после удаления.

  • URL интерфейса: http://172.22.0.6/api/delete_item

  • Метод запроса: POST

  • Content-Type: application/json

Параметры тела запроса:

{
    "id": "001"
}

Параметр

Пример значения

Тип

Обязательность

Описание

id

001

String

Да

PLU код товара

Пример успешного ответа:

{
    "code": 0,
    "data": null
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Null

—

Очистка всех template

Очистить все template всех товаров. Если включена синхронизация загрузки, template будут загружены снова после удаления.

  • URL интерфейса: http://172.22.0.6/api/clear_all_template

  • Метод запроса: POST

  • Content-Type: none

Пример успешного ответа:

{
    "code": 0,
    "data": null
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Null

—

Экспорт данных template

Экспортировать данные template. Если передан список ids, будут экспортированы только указанные товары. Если список ids не передан, будут экспортированы все товары. Этот интерфейс возвращает ответ немедленно, используйте export_template_status для получения результата.

  • URL интерфейса: http://172.22.0.6/api/export_template

  • Метод запроса: POST

  • Content-Type: application/json

Параметры тела запроса:

{
    "ids": ["002", "003"]
}

Параметр

Пример значения

Тип

Обязательность

Описание

ids

[«002», «003»]

Array

Нет

Список товаров

Пример успешного ответа:

{
    "code": 0,
    "data": null
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Null

—

Статус экспорта template

Запрос статуса экспорта template. Если пакет готовится, нужно проверять каждую секунду до завершения. Если пакет готов, ссылка для загрузки файла: {host}/download/filename

Коды статуса:

  • 0 — нет задачи экспорта;

  • 1 — пакет готовится;

  • 3 — пакет готов;

  • 6 — ошибка генерации.

  • URL интерфейса: http://172.22.0.6/api/export_template_status

  • Метод запроса: GET

  • Content-Type: none

Пример успешного ответа:

{
    "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

Код статуса

Импорт данных template

Импортировать указанный пакет данных template. Этот интерфейс возвращает ответ немедленно, используйте import_template_status для получения результата.

  • URL интерфейса: http://172.22.0.6/api/import_template

  • Метод запроса: POST

  • Content-Type: form-data

Параметры тела запроса:

Параметр

Пример значения

Тип

Обязательность

Описание

file

D:\12067_20250409.evo

File

Да

Файл для импорта

Пример url:

curl --location 'http://{host}/api/import_template' \
     --form 'file=@"/D:/12067_20250409.evo"'

Пример успешного ответа:

{
    "code": 0,
    "data": null
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

data

—

Null

—

Статус импорта template

Запрос статуса импорта template.

Коды статуса:

  • 0 — нет задачи импорта;

  • 2 — импорт;

  • 3 — проверка целостности пакета;

  • 4 — завершен;

  • 5 — ошибка импорта;

  • 7 — ошибка проверки.

  • URL интерфейса: http://172.22.0.6/api/import_template_status

  • Метод запроса: GET

  • Content-Type: none

Пример успешного ответа:

{
    "code": 0,
    "msg": "Import successful",
    "status": 4
}

Параметр

Пример значения

Тип

Описание

code

0

Number

Код результата: 0 — успех

msg

Import successful

String

Информация о статусе

status

4

Number

Код статуса

Установка на товар отметки «Удалить со всех устройств»

Удаление данных товара на Master-устройстве и всех подчиненных (slave-устройствах).

Примечание

Данный интерфейс доступен для вызова только на Master-устройстве.

На Master-устройстве для указанного товара устанавливается отметка «Удалить со всех устройств». При последующей синхронизации модулей распознавания (slave-устройствах) информация об удалении передается на них, и это запускает процесс локального удаления данных на стороне каждого подключенного устройства.

В ходе этого процесса функция синхронизации для данного конкретного товара отключается, при этом остальные товары обновляются в штатном режиме. Установленные отметки и удаления автоматически сбрасываются после перезагрузки Master-устройства.

  • URL: http://172.22.0.6/api/set_deletion_all_flag

  • Request Method: POST

  • Content-Type: application/json

Параметры тела запроса:

Параметр

Пример

Тип

Обязательность

Описание

id

«001»

String

Да

Идентификатор товара (PLU)

Пример:

{
  "id": "001"
}

Пример успешного ответа:

Параметр

Пример

Тип

Описание

code

0

Number

Успешное выполнение

data

—

Null

—

{
  "code": 0,
  "data": null
}

Сброс отметки «Удалить со всех устройств»

Отметка «Удалить со всех устройств» для данного товара снимается. Распространение данных при синхронизации для данного товара возобновляется в штатном режиме.

  • URL: http://172.22.0.6/api/clear_deletion_all_flag

  • Method: POST

  • Content-Type: application/json

Параметры тела запроса:

Параметр

Пример

Тип

Обязательность

Описание

id

«001»

String

Да

Идентификатор товара (PLU)

Пример:

{
  "id": "001"
}

Пример успешного ответа:

Параметр

Пример

Тип

Описание

code

0

Number

Успешное выполнение

data

Null

{
  "code": 0,
  "data": null
}

Получение прогресса для товаров с отметкой «Удалить со всех устройств»

Проверка прогресса для всех удаляемых товаров.

  • URL: http://172.22.0.6/api/get_deletion_all_progress

  • Method: GET

  • Content-Type: application/json

Параметры тела запроса:

Параметр

Пример

Tип

Описание

code

0

Number

Успешное выполнение

data.id

«001»

String

Удаляемый элемент (товар)

data.SNs

[«10180062»,»10180063»]

Array

Список серийных номеров (SN) устройств, на которых данный товар уже был удален

Пример:

{
  "code": 0,
  "data": {
    "id": "001",
    "SNs": [
      "10180062",
      "10180063"
    ]
  }
}