WEB REST API

Материал из TekonWiki
Перейти к навигацииПерейти к поиску


Введение 

Данное API позволяет получить доступ к данными циркулирующим в ПО АСУД.SCADA посредством выполнения запросов по HTTP(S) протоколу к специализированному WEB-сервису.

WEB-сервис поставляется отдельно или может входить в дистрибутив ПО АСУД.SCADA

Для работы WEB-сервиса требуется отдельная лицензия записанная на USB-ключ защиты

WEB-сервис предоставляет доступ к данным:

  • Учета ресурсов (расход воды, тепла, электроэнергии и т.д.)  - данные аккумулированные в БД учета ресурсов
    WEB-сервис не предоставляет доступа непосредственно к прибору учета.

Общие сведения

Самый простой способ вызвать серверный метод - выполнить GET-запрос со следующим URL-адресом, без содержимого в теле сообщения:

http://host:port/rest/api/[ClassName]/[MethodName]/[ParamValue]

Регистр 

  • ClassName
  • MethodName

- не имеет значения.

Следующие параметры не являются обязательными:

  • port
  • ParamValue

ParamValue - представляет собой список значений параметров, разделенных косой чертой (/), которые соответствуют входным параметрам, необходимым для вызываемого метода сервера.

Если серверный метод не имеет входных параметров, ничего не должно следовать за именем метода в URL-адресе.

Две косые черты (//) в части URL-адреса, представляющей значения параметров, устанавливают значение параметра в этом индексе, как пустую строку.

Значения, передаваемые таким образом, должны быть закодированы, по правилам представления URL-адреса.

Значения являющиеся объектами JSON или массивами JSON должны быть переданы в теле HTTP(S)-запроса.  А тип запроса должен быть POST или PUT. 

Ответ, возвращаемый на запроса, будет содержать в тексте ответа строковое представление JSON-объекта :

{"result":["123456"]}

Если во время вызова на сервере возникает ошибка, такая как истекший сеанс, неавторизованный пользователь или недопустимые входные значения, то вместо свойства result возвращаемый объект JSON будет содержать свойство error или SessionExpired, например:

{"SessionExpired": "Срок действия указанного сеанса истек из-за бездействия или был недопустимым"}
{"error": "Неожиданная ошибка"}

Доступ к данным учета ресурсов

Общий вид запрос для доступа к данным системы учета ресурсов выглядит следующим образом

http://host:port/rest/api/ASKUE/[MethodName]/[ParamValue]


Данные сервера

http://host:port/rest/api/ASKUE/ServerInformation

Ответ:

{
  "result":
  [
        {
      "startime":"2020-11-01T00:00:03.572+03:00",
      "currenttime":"2020-11-01T13:33:03.604+03:00",
      "version":"1.0"
    }
  ]
}

starttime - время старта WEB-сервера
currenttime - текущее время WEB-сервера
version - версия ПО WEB-сервера

Данные справочников базы данных

Указанные ниже запросы позволяют получить информацию о конфигурации системы учета ресурсов.

Типовая форма ответа на запросы: 

{
  "result":
  [
        {
      "DBData":
      [
      ]
       }
 ]
}

Объект DBData представляет собой массив, значения которого зависят от выполняемого запроса.

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

Список идентификаторов параметров системы учета ресурсов.

http://host:port/rest/api/ASKUE/DirectoryParams

Ответ:

{
...  
 "DBData":
      [
                {
          "PARAM":60,
          "NAME":"Время наработки",
          "SMALLNAME":"tнар",
          "UNIT":"ч"
        },
      ...
     ]
...
}

где, 
PARAM - идентификатор учетного параметра.

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

Код параметра Описание Примечание Пример
1.99 Значение расхода или усредненного значения параметра за час Показание на 01.09.20 11:00 означает расход (или усреднение) параметра с 10:00 до 11:00

код - 60  (время наработки)
время - 01.09.20 11:00  
значение 1

Время наработки канала (устройства) с 10 до 11 часов составило 1 час

код - 31 (температура подающая)
время - 01.09.20 11:00  
значение 15,1

Средняя температура подающей трубы  с 10 до 11 часов составила 15,1 градуса цельсия

101..199 Значение расхода или усредненного значения параметра за сутки

Время всегда 00:00


Показание на 01.09.20 00:00 означает расход (или усреднение) параметра с 01.09.20 00:00 по 01.09.20 23:59

код - 60 
время - 01.09.20 00:00
значение 24

Время наработки канала (устройства) за 01.09.2020  составило 24 час

201..299

Значение расхода или усреднение параметра за месяц 

Дата всегда 01.хх.yy
Время всегда 00:00


Показание на 01.09.20 00:00 означает расход (или усредленени)  параметра с 01.09.20 00:00 по 30.09.20 23:59

 
Код + 1000 Значение параметра нарастающим итогом  

код - 1060 
время - 01.09.20 11:00  
значение - 15687

Время наработки канала (устройства) на  01.09.20 11:00 часов составило 15687 часов

Код + 10000 Текущее значение параметра (на момент запроса или последнего измерения)    

Форма представления параметра: значением расхода или нарастающим итогом, зависит от канала (устройства) измерения.