API - Список событий — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Новая страница: «Для получения списка всех событий необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/ap…»)
 
Строка 113: Строка 113:
  
 
<table>
 
<table>
<tr><td>'''id'''</td><td>int</td><td>Уникальный идентификатор тренда</td></tr>
+
<tr><td>'''id'''</td><td>int</td><td>Уникальный идентификатор события</td></tr>
<tr><td>'''title'''</td><td>string</td><td>Название тренда</td></tr>
+
<tr><td>'''title'''</td><td>string</td><td>Название события</td></tr>
<tr><td>'''regsid'''</td><td>string</td><td>Список идентификаторов регистров которые необходимо отображать на тренде. Регистры разделены запятыми.</td></tr>
+
<tr><td>'''hasDuration'''</td><td>string</td><td>0 = событие срабатывает при каждом выполнении условия, 1 = событие имеет продолжительность во времени</td></tr>
<tr><td>'''height'''</td><td>int</td><td>Высота тренда в пикселях</td></tr>
+
<tr><td>'''start'''</td><td>string</td><td>Условие начала события</td></tr>
<tr><td>'''min_val'''</td><td>double</td><td>Минимальное значение оси Y</td></tr>
+
<tr><td>'''end'''</td><td>string</td><td>Условие окончания события</td></tr>
<tr><td>'''max_val'''</td><td>double</td><td>Максимальное значение оси Y</td></tr>
+
<tr><td>'''hasEndCondition'''</td><td>int</td><td>0 = у события нет условия его окончания, 1 = у события есть условие его окончания</td></tr>
 +
<tr><td>'''saveToLog'''</td><td>int</td><td>0 = не сохранять событие в лог, 1 = сохранять событие в лог</td></tr>
 +
<tr><td>'''report_title'''</td><td>string</td><td>Заголовок отчета о событии</td></tr>
 +
<tr><td>'''report_menu_title'''</td><td>string</td><td>Заголов пункта меню для отчета о событии</td></tr>
 +
<tr><td>'''extra_regs'''</td><td>string</td><td>Список дополнительных регистров для сохранения в лог события.</td></tr>
 +
<tr><td>'''color'''</td><td>string</td><td>Цвет для отображения события на TimeLine</td></tr>
 +
<tr><td>'''savetologtype'''</td><td>int</td><td>0 = сохранять данные в лог один раз для события, 1 = сохранять данные в лог каждые Х секунд</td></tr>
 +
<tr><td>'''loginterval'''</td><td>int</td><td>Интервал сохранения данных в лог, секунды</td></tr>
 +
<tr><td>'''parentid'''</td><td>int</td><td>Идентификатор родительского события. Дочернее событие может выполнятся только когда выполняется родительское событие.</td></tr>
 +
<tr><td>'''showontimeline'''</td><td>int</td><td>0 = не отображать событие на TimeLine, 1 = отображать событие на TimeLine</td></tr>
 +
<tr><td>'''description'''</td><td>string</td><td>Комментарии с описание события. Предназначены для операторов и пользователей системы.</td></tr>
 
</table>
 
</table>

Версия 12:17, 31 января 2015

Для получения списка всех событий необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/events.

Для получения информации о конкретном событии необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/events/1. Здесь 1 - это ID нужного события.

В заголовках запроса необходимо передать API key. Например:

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом JSON.

Accept: application/json
Content-Type: application/json


Пример запроса списка всех событий:

URL: http://192.168.1.1/api/events
Method: GET

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

Пример ответа:

[
  {
    "id": "2",
    "title": "Интервал",
    "hasDuration": "1",
    "start": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"-499\" y=\"14\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"wh_reg\" id=\"3\"><field name=\"REG\">8</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"4\"><field name=\"NUM\">5</field></block></value></block></value></block></xml>",
    "end": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"-596\" y=\"16\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"wh_reg\" id=\"3\"><field name=\"REG\">8</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"4\"><field name=\"NUM\">10</field></block></value></block></value></block></xml>",
    "hasEndCondition": "1",
    "saveToLog": "1",
    "report_title": "Отчет \"интервал\"",
    "report_menu_title": "Интервал",
    "extra_regs": "-1^last^^Y-m-d H:i:s|2^last^^Y-m-d H:i:s",
    "color": "#ff0000",
    "savetologtype": "0",
    "loginterval": "",
    "parentid": "0",
    "showontimeline": "0",
    "description": ""
  },
  {
    "id": "3",
    "title": "Нажата кнопка А",
    "hasDuration": "1",
    "start": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"-613\" y=\"10\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"wh_reg\" id=\"4\"><field name=\"REG\">2</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"11\"><field name=\"NUM\">1</field></block></value></block></value></block></xml>",
    "end": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"10\" y=\"10\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field></block></value></block></xml>",
    "hasEndCondition": "0",
    "saveToLog": "1",
    "report_title": "Нажатие кнопки А",
    "report_menu_title": "Кнопка А",
    "extra_regs": "-1^last^^Y-m-d H:i:s|-2^last^^Y-m-d H:i:s",
    "color": "#0084ff",
    "savetologtype": "0",
    "loginterval": "",
    "parentid": "0",
    "showontimeline": "1",
    "description": "Событие срабатывает при нажатии на кнопку А"
  }
]


Пример запроса информации о событии номер 2:

URL: http://192.168.1.1/api/events/2
Method: GET

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

Пример ответа:

{
  "id": "2",
  "title": "Интервал",
  "hasDuration": "1",
  "start": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"-499\" y=\"14\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"wh_reg\" id=\"3\"><field name=\"REG\">8</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"4\"><field name=\"NUM\">5</field></block></value></block></value></block></xml>",
  "end": "<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"wh_rules\" id=\"1\" inline=\"false\" deletable=\"false\" x=\"-596\" y=\"16\"><value name=\"IF\"><block type=\"logic_compare\" id=\"2\" inline=\"true\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"wh_reg\" id=\"3\"><field name=\"REG\">8</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"4\"><field name=\"NUM\">10</field></block></value></block></value></block></xml>",
  "hasEndCondition": "1",
  "saveToLog": "1",
  "report_title": "Отчет \"интервал\"",
  "report_menu_title": "Интервал",
  "extra_regs": "-1^last^^Y-m-d H:i:s|2^last^^Y-m-d H:i:s",
  "color": "#ff0000",
  "savetologtype": "0",
  "loginterval": "",
  "parentid": "0",
  "showontimeline": "0",
  "description": ""
}


Атрибуты события:

idintУникальный идентификатор события
titlestringНазвание события
hasDurationstring0 = событие срабатывает при каждом выполнении условия, 1 = событие имеет продолжительность во времени
startstringУсловие начала события
endstringУсловие окончания события
hasEndConditionint0 = у события нет условия его окончания, 1 = у события есть условие его окончания
saveToLogint0 = не сохранять событие в лог, 1 = сохранять событие в лог
report_titlestringЗаголовок отчета о событии
report_menu_titlestringЗаголов пункта меню для отчета о событии
extra_regsstringСписок дополнительных регистров для сохранения в лог события.
colorstringЦвет для отображения события на TimeLine
savetologtypeint0 = сохранять данные в лог один раз для события, 1 = сохранять данные в лог каждые Х секунд
logintervalintИнтервал сохранения данных в лог, секунды
parentidintИдентификатор родительского события. Дочернее событие может выполнятся только когда выполняется родительское событие.
showontimelineint0 = не отображать событие на TimeLine, 1 = отображать событие на TimeLine
descriptionstringКомментарии с описание события. Предназначены для операторов и пользователей системы.