Содержание

Обзор веб-API UniServer AUTO

Введение

Веб-приложение UniServer AUTO это автономный веб-сервер с модульной архитектурой. Каждый модуль-плагин системы (журнал, камера, УДВВ, весовой индикатор, считыватель меток и т.п.) имеет свой набор функции и параметров. Для доступа к параметрам и функциям установленных в UniServer AUTO модулей-плагинов существует веб-API, основанный на HTTP POST/GET-запросах.

Веб-API позволяет разработчикам сторонних систем интегрировать ПО UniServer AUTO в единую программную экосистему предприятия. Методы веб-API UniServer AUTO можно использовать для взаимодействия с любым плагином системы.

Список доступных функций веб-API основных плагинов UniServer AUTO представлен здесь.

Различные методы веб-API UniServer AUTO возвращают ответ либо в формате JSON, либо строку в формате text/plain. Точный формат ответа представлен в описании к конкретному методу. Список кодов состояния HTTP ответов здесь.

Для доступа к API существует формат HTTP-запросов с набором обязательных и необязательных параметров.

Доступ к методам API производится двумя способами:

  1. Через опубликованный список команд на сервере;
  2. Напрямую к плагинам (модулям) системы.

Способ 1. Формат запроса к опубликованным методам плагина

Данный способ представляет собой механизм взаимодействия через ядро сервера UniServer AUTO с плагинами приложения с помощью методов, опубликованных в настройках Core.CommandMap.

Такой механизм удобен при большом количестве клиентов, так как снижает нагрузку на WEB интерфейс плагина, все команды поступают в ядро сервера и выполняются в основном обработчике каждого плагина в порядке очереди. Обработчик команд WEB интерфейса плагина при этом не используется.

Имеется возможность не публиковать команду или изменить наименование команды, что повышает степень защищенности системы. Если происходит обращение к неопубликованной команде, система вернет ошибку с кодом состояния 500.

Формат запроса к опубликованным методам плагина:

http://<адрес сервера>:<порт>/core/SendMsg?Name=<наименование метода>&Value=<набор параметров в формате JSON>

Пример запроса к опубликованному методу плагина Весовой индикатор - WeightIndicator1_GetMassa:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=WeightIndicator1_GetMassa&auth_user=user&auth_password=user

Пример запроса к опубликованному методу плагина Камера - Camera1_GetFrameJpg:
http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetFrameJpg&Value={"w":800,"h":600}&auth_user=user&auth_password=user

В данном примере выполняется запрос на получение текущей картинки с камеры плагина Camera1 в формате JPG:

По умолчанию при установке системы список опубликованных команд содержит все имеющиеся команды плагинов. Отредактировать список опубликованных команд, их наименования можно через меню ПараметрыCoreCore.CommandMap.

Способ 2. Формат прямого запроса к WEB интерфейсу плагина

Данный способ позволяет клиенту обратиться напрямую в обработчик WEB интерфейса плагина. Для каждого клиента создается отдельный обработчик, в котором команды выполняются сразу, без помещения в очередь.

Формат запроса к WEB интерфейсу плагина:

http://<адрес сервера>:<порт>/core/plugins/<наименование плагина>/<наименование метода>?<параметр_1>=<значение_параметра_1>&<параметр_2>=<значение_параметра_2>
&<параметр_n>=<значение_параметра_n>

Пример запроса к плагину WeightIndicator1:
http://uniserver.vesysoft.ru:8123/core/plugins/WeightIndicator1/Massa?auth_user=user&auth_password=user

В данном примере выполняется запрос на получение значения массы к плагину весового индикатора Weightindicator1, метод Massa.

Пример запроса к плагину Camera1:
http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Video?Width=600&Height=400&auth_user=user&auth_password=user

В данном примере выполняется запрос к плагину камеры Camera1 на получение текущей картинки формате JPG, набор параметров включает в себя 2 параметра:

Авторизация

В случае, если запрос выполняется от неавторизованного клиента, к запросу необходимо добавить два параметра: auth_user (имя пользователя) и auth_password (пароль пользователя).

Список веб-API основных плагинов

В данном разделе представлен актуальный перечень всех основных плагинов системы UniServer AUTO, поддерживающих работу с WEB-API.

Наименование плагина Описание
WEIGHTINDICATOR Плагин для подключения весового индикатора
CAMERA Плагин для подключения камер
RECOGNIZE Плагин «Система распознавания номеров ТС»
UDVV Плагин для подключения устройства дискретного ввода-вывода
LEDPANEL Плагин для подключения LED панелей
AUTOSCALE Плагин автовесов AutoScale
JOURNAL Плагин универсального журнала(справочника) Journal