API - Получение данных для события
Для получения данных из лога событий необходимо выполнить 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-й секунде каждой минуты. В лог записываются данные один раз за все событие. В лог записывается время начала события и последнее значение интервального регистра I60. Скриншоты иллюстрируют настройку этого события.
Второе событие является дочерним событием для первого. Поэтому оно может выполнятся только когда выполняется первое событие. Помимо этого условием оно ограничено так что начинает выполнятся на 25-й секунде каждой минуты и заканчивается на 35-й. Данные для него записываются в лог каждые 2 секунды. В лог пишется текущее значение регистра I60. Скриншоты иллюстрируют настройку этого события.
Пример запроса данных о событии номер 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": "1", "start_time": "1422797405", "end_time": "1422797440", "xtra_regs": [ { "E1.0": 1422797405 }, { "E1.1": 39 } ] }, { "rowid": "3052", "event_id": "1", "start_time": "1422797465", "end_time": "1422797500", "xtra_regs": [ { "E1.0": 1422797465 }, { "E1.1": 39 } ] }, { "rowid": "3054", "event_id": "1", "start_time": "1422797525", "end_time": "1422797560", "xtra_regs": [ { "E1.0": 1422797525 }, { "E1.1": 39 } ] }, { "rowid": "3056", "event_id": "1", "start_time": "1422797585", "end_time": "1422797680", "xtra_regs": [ { "E1.0": 1422797585 }, { "E1.1": 39 } ] }, { "rowid": "3058", "event_id": "1", "start_time": "1422797705", "end_time": "1422797740", "xtra_regs": [ { "E1.0": 1422797705 }, { "E1.1": 39 } ] }, { "rowid": "3060", "event_id": "1", "start_time": "1422797765", "end_time": "1422797800", "xtra_regs": [ { "E1.0": 1422797765 }, { "E1.1": 39 } ] }, { "rowid": "3062", "event_id": "1", "start_time": "1422797825", "end_time": "0", "xtra_regs": [ { "E1.0": 1422797825 }, { "E1.1": 39 } ] } ]
Атрибуты данных события:
rowid | int | Уникальный идентификатор события в базе данных |
event_id | int | ID события |
start_time | int | Время начала события |
end_time | int | Время окончания события. Если событие еще не окончилось то end_time = 0 |
xtra_regs | object | Объект с данными о дополнительных регистрах которые сохраняются в логе событий. Ключ-значение. |
Формат имени дополнительных регистров:
"E" + ID события + "." + порядковый номер регистра в событии начиная с нуля
Пример запроса данных для события номер 2:
URL: http://192.168.1.1/api/event-data/2
Method: GET
Заголовки:
Accept: application/json Content-Type: application/json Accept-Encoding: gzip, deflate, sdch X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7 X-WH-START: 1422804505 X-WH-END: 1422800200
Пример ответа:
[ { "rowid": "3201", "event_id": "2", "start_time": "1422804505", "end_time": "1422804515", "xtra_regs": [ { "E2.0": 25 } ] }, { "rowid": "3201", "event_id": "2", "start_time": "1422804505", "end_time": "1422804515", "xtra_regs": [ { "E2.0": 27 } ] }, { "rowid": "3201", "event_id": "2", "start_time": "1422804505", "end_time": "1422804515", "xtra_regs": [ { "E2.0": 29 } ] }, { "rowid": "3201", "event_id": "2", "start_time": "1422804505", "end_time": "1422804515", "xtra_regs": [ { "E2.0": 31 } ] }, { "rowid": "3201", "event_id": "2", "start_time": "1422804505", "end_time": "1422804515", "xtra_regs": [ { "E2.0": 33 } ] } ]