/Methods/PublishData

<< Click to Display Table of Contents >>

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

/Methods/PublishData

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

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

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

"subscriptionId":"ID подписки",

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

}

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

{"subscriptionId":"ID подписки",

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

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

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

"recs":[ - массив уведомлений:

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

     "value":<значение параметра> - может иметь сложную структуру

     "sourceTime":<метка времени значения>

     "statusCode":<признак качества значения> - указывается только в случае, если != 0

     “type” : <tData(0), tHi(1), tHiHi(2), tLo(3), tLoLo(4), tUseHi(5), tUseHiHi(6), tUseLo(7), tUseLoLo> - тип значения в случае tData type не передаётся

     }]}

Пример

Запрос

{"sessionId":"1234","subscriptionId":1,

"ackSequenceNumber":0}

Ответ

{"code":0,

"subscriptionId":1,

"sequenceNumber":1,

"serverTime": "1411149604245",

"hasMore":true,

"recs":[

     {"clientHandle":1, "value":123.0}

     ]

}