API - Получение данных для события — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Новая страница: «Для получения списка всех графиков необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/…»)
 
Строка 1: Строка 1:
Для получения списка всех графиков необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/api/graphs'''.
+
Для получения данных из лога событий необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/api/event-data/2'''. Здесь 2 - это ID нужного события.
  
Для получения информации о конкретном графике необходимо выполнить GET-запрос на URL вида '''http://192.168.1.1/api/graphs/1'''. Здесь 1 - это ID нужного графика.
+
В заголовках запроса необходимо передать API key и границы интересуещего временного интервала.  X-WH-START и X-WH-END передаются в формате UnixTime. Например:
 
+
В заголовках запроса необходимо передать API key. Например:
+
 
<pre>
 
<pre>
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 +
X-WH-START: 1422797440
 +
X-WH-END: 1422997405
 
</pre>
 
</pre>
  
Строка 15: Строка 15:
 
----
 
----
  
 +
Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуте.
 +
<br>
 +
[[Файл:Event-data-1.png|700px|thumb]]<br>
 +
[[Файл:Event-data-2.png|700px|thumb]]
  
Пример запроса списка всех графиков:
+
Пример запроса данных о событии номер 1:
  
'''URL''': http://192.168.1.1/api/graphs<br>
+
'''URL''': http://192.168.1.1/api/event-data/1<br>
 
'''Method''': GET
 
'''Method''': GET
  
Строка 27: Строка 31:
 
Accept-Encoding: gzip, deflate, sdch
 
Accept-Encoding: gzip, deflate, sdch
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
 +
X-WH-START: 1422797440
 +
X-WH-END: 1422997405
 
</pre>
 
</pre>
  
Строка 33: Строка 39:
 
[
 
[
 
   {
 
   {
     "id": "1",
+
     "rowid": "3050",
     "regsid": "10,11",
+
    "event_id": "2",
     "title": "Горелка 1 и 2",
+
    "start_time": "1422797405",
     "height": "350",
+
    "end_time": "1422797440",
     "min_val": "0",
+
    "xtra_regs": [
     "max_val": ""
+
      {
 +
        "E2.0": 1422797405
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 +
  },
 +
  {
 +
     "rowid": "3052",
 +
    "event_id": "2",
 +
     "start_time": "1422797465",
 +
    "end_time": "1422797500",
 +
    "xtra_regs": [
 +
      {
 +
        "E2.0": 1422797465
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 +
  },
 +
  {
 +
    "rowid": "3054",
 +
    "event_id": "2",
 +
     "start_time": "1422797525",
 +
     "end_time": "1422797560",
 +
    "xtra_regs": [
 +
      {
 +
        "E2.0": 1422797525
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 +
  },
 +
  {
 +
     "rowid": "3056",
 +
    "event_id": "2",
 +
    "start_time": "1422797585",
 +
    "end_time": "1422797680",
 +
    "xtra_regs": [
 +
      {
 +
        "E2.0": 1422797585
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 +
  },
 +
  {
 +
    "rowid": "3058",
 +
    "event_id": "2",
 +
    "start_time": "1422797705",
 +
    "end_time": "1422797740",
 +
    "xtra_regs": [
 +
      {
 +
        "E2.0": 1422797705
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 +
  },
 +
  {
 +
    "rowid": "3060",
 +
    "event_id": "2",
 +
    "start_time": "1422797765",
 +
    "end_time": "1422797800",
 +
    "xtra_regs": [
 +
      {
 +
        "E2.0": 1422797765
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 
   },
 
   },
 
   {
 
   {
     "id": "2",
+
     "rowid": "3062",
     "regsid": "8",
+
     "event_id": "2",
     "title": "Температура в печи",
+
     "start_time": "1422797825",
     "height": "350",
+
     "end_time": "0",
     "min_val": "0",
+
     "xtra_regs": [
    "max_val": "200"
+
      {
 +
        "E2.0": 1422797825
 +
      },
 +
      {
 +
        "E2.1": 39
 +
      }
 +
    ]
 
   }
 
   }
 
]
 
]

Версия 13:43, 1 февраля 2015

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

В заголовках запроса необходимо передать API key и границы интересуещего временного интервала. X-WH-START и X-WH-END передаются в формате UnixTime. Например:

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422797440
X-WH-END: 1422997405

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

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

Рассмотрим пример из двух событий. Событие номер 1 является родительским. Оно начинается на 5-й секунде каждой минуты и заканчивается на 40-й секунде каждой минуте.

Event-data-1.png

Event-data-2.png

Пример запроса данных о событии номер 1:

URL: http://192.168.1.1/api/event-data/1
Method: GET

Заголовки:

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

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

[
  {
    "rowid": "3050",
    "event_id": "2",
    "start_time": "1422797405",
    "end_time": "1422797440",
    "xtra_regs": [
      {
        "E2.0": 1422797405
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3052",
    "event_id": "2",
    "start_time": "1422797465",
    "end_time": "1422797500",
    "xtra_regs": [
      {
        "E2.0": 1422797465
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3054",
    "event_id": "2",
    "start_time": "1422797525",
    "end_time": "1422797560",
    "xtra_regs": [
      {
        "E2.0": 1422797525
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3056",
    "event_id": "2",
    "start_time": "1422797585",
    "end_time": "1422797680",
    "xtra_regs": [
      {
        "E2.0": 1422797585
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3058",
    "event_id": "2",
    "start_time": "1422797705",
    "end_time": "1422797740",
    "xtra_regs": [
      {
        "E2.0": 1422797705
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3060",
    "event_id": "2",
    "start_time": "1422797765",
    "end_time": "1422797800",
    "xtra_regs": [
      {
        "E2.0": 1422797765
      },
      {
        "E2.1": 39
      }
    ]
  },
  {
    "rowid": "3062",
    "event_id": "2",
    "start_time": "1422797825",
    "end_time": "0",
    "xtra_regs": [
      {
        "E2.0": 1422797825
      },
      {
        "E2.1": 39
      }
    ]
  }
]


Пример запроса информации о графике номер 2:

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

Заголовки:

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

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

{
  "id": "2",
  "regsid": "8",
  "title": "Температура в печи",
  "height": "350",
  "min_val": "0",
  "max_val": "200"
}


Атрибуты графика:

idintУникальный идентификатор графика
titlestringНазвание графика
regsidstringСписок идентификаторов регистров которые необходимо отображать на графике. Регистры разделены запятыми.
heightintВысота графика в пикселях
min_valdoubleМинимальное значение оси Y
max_valdoubleМаксимальное значение оси Y