/Methods/GetArchivedEvents

<< Click to Display Table of Contents >>

Navigation:  API MasterSCADA 4D > Подключение к исполнительной системе по JSON > JSON для HTTP-запросов > Описание JSON-запросов > Сообщения >

/Methods/GetArchivedEvents

GetArchivedEvents - запрос на чтение архива.

Данные запроса

{"sessionId":<ID сессии>,

"archiveId":0 - ID архива сообщений. Если 0, то используется архив, назначенный на объект itemId. Если itemId=0, то основной архив сообщений

"startTime":<время начала>,

"endTime":<время конца>, - если не указано, то до конца архива

"inverse":True, - если True, то будет возвращать сообщения в обратном порядке, начиная с endTime

"maxRecs":0, - максимальное количество возвращаемых записей

"maxSize":0, - максимальный размер ответа на запрос в байтах. Если 0 - ограничение определяется сервером

“timeout”: 60, - максимальное время ожидания в секундах, по умолчанию 60 сек

"continuationPoint":"0000000000", - позиция в архиве, с которой начинать чтение (возвращается командой чтения архива, если все записи по данной выборке не удалось прочитать за один запрос). Если не задано, чтение идет с начала архива

"itemId":<ID>, - ID элемента проекта, генерирующего сообщения

"path":"", - путь внутри составного объекта ItemId (можно не задавать)

"fields":[ - массив полей выборки. В любой выборке должно присутствовать поле eventId (тип - строка):

{"id":1, - ID поля (если поле нестандартное, = 0)

"name":"Field01", - имя поля (для нестандартных полей, не имеющих ID). Пока для стандартных полей тоже задается name

"type":"BOOL", - ST тип поля

"typeHash":3 - хеш типа поля

}]

"filter":[ - фильтр сообщений, массив условий:

"field = value" - условие выборки, передается прозрачно от кодогенератора

]

]}

Данные ответа

{

"hasMore":true, - не все уведомления переданы, можно повторить запрос

"continuationPoint":"0000000100", - позиция в архиве. Если переданы не все сообщения, удовлетворяющие фильтру, передается позиция в архиве, которую надо передать в следующем запросе

"recs":[ - массив записей сообщений:

[ ] - массив значений полей выборки. Значения идут в том порядке, как было задано в запросе, тип значения соответствует типу поля. Могут быть null значения, если для какого-то сообщения не определено некоторое поле в выборке

]

}

Пример

Запрос

{

"sessionId":"1234",

"startTime":"1357002062000",

"endTime":"1357002062000",

"maxRecs":100,

"itemId":28012,

"fields":[

{"name":"EventId", "type":"STRING", "typeHash":4},

{"name":"Time", "type":"DATE_AND_TIME", "typeHash":2},

{"name":"Message", "type":"STRING", "typeHash":4},

{"name":"Severity", "type":"DINT", "typeHash":1},

{"name":"Acked", "type":"BOOL", "typeHash":3}],

"filter":[

"Active=true",

"Severity <= 100 or Severity >= 900"]

}

Ответ

{"code":0,

"continuationPoint":"0000000100",

"hasMore":true,

"recs":[

["12A5EDFFFFFF", "1357002062000", "Превышение уставки", 100.0, false ]

["13A5EDABABAB", "1357002062000", "Авария насоса", 950.0, false ]

]

}