/Methods/PublishHistoryData

<< Click to Display Table of Contents >>

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

/Methods/PublishHistoryData

PublishHistoryData - запрос на получение архивных данных по подписке. Если новых уведомлений нет, то поле data не передается. Также не передается поле sequenceNumber (в следующем запросе нужно указать предыдущее значение ackSequenceNumber).

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

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

"subscriptionId":<ID созданной подписки>,

"ackSequenceNumber":1 - последний полученный клиентом номер пакета по данной подписке. Для первого запроса не указывается

}

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

{"subscriptionId":<ID созданной подписки>,

"sequenceNumber":<текущий номер пакета> - сервер отправляет пакет с номером, следующим после ackSequenceNumber (если он уже удален из очереди передачи, то отправляется первый из очереди)

"serverTime":<текущее время сервера>,

"hasMore":true - не все уведомления переданы, можно повторить запрос (либо сервер еще отрабатывает запросы к архиву, либо не все запрошенные данные влезли в данный пакет)

"recs":[ - массив ответов по каждому запросу (порядок такой же, как в запросе):

{

"clientHandle":<ID> - ID запроса, заданный клиентом

"hasMore":true - не все уведомления по данному запросу переданы (либо сервер еще отрабатывает запросы к архиву, либо не все запрошенные данные по данному запросу влезли в данный пакет)

"data": [{ - набор данных по одному параметру, количество и порядок записей должно совпадать с количеством запрошенных параметров в данном запросе:

"archiveItemId":<ID>, - ID архивного параметра

"statusCode":0, - код ошибки, если параметр не найден (если 0, то может не задаваться)

"values":[ - массив архивных записей по данному параметру

[ - каждая запись приходит как массив из 3 полей:

метка времени,

значение,

признак качества значения

]]

}]

}

Пример

Запрос

{"sessionId":"1234",

"subscriptionId":1,

"ackSequenceNumber":0

}

Ответ

{"code":0,

"subscriptionId":1,

"sequenceNumber":1,

"serverTime": "1411149604245",

"hasMore":false,

"recs":[{

"clientHandle":1,

"hasMore":false,

"data":[{

"clientHandle":1

"archiveItemId":111,

"areMoreValues":true,

"values":[

["1357002072000", 12.0, 0],

["1357002082000", 13.0, 0],

["1357002092000", 14.0, 0]]

}],

}]}