API для IoT устройств

Удаленный доступ к данным для сторонних сервисов доступен только для устройств с открытым доступом и реализовать в виде URL запроса на сервер. Тип запроса GET или POST неважен.

Параметры для получения данных за определённый период времени:

Результатом выполнения запроса будет JSON строка с параметрами:

Запрос: https://viziot.com:48654/?action=getDataOpenDeviceByPeriod&ampampampampampampampampamp;keyPublicDevice=8UNT6XZY9Y6VC48Q5S6HP9JHDK4XVII7UWHJSYU3MLPG&timeStampStart=1613825023&timeStampEnd=1613835023
Ответ: {"type":"ok","points":[{"date":"1543838492","param":{"f1":"-57","f2":"0.00","f3":"0.00","f4":"0.00","f5":"0.00"}},{"date":"1543838507","param":{"f1":"-56","f2":"0.00","f3":"0.00","f4":"0.00","f5":"0.00"}}]}

Параметры для получения последних данных от IoT устройства:

Результатом выполнения запроса будет JSON строка с параметрами:

Запрос: https://viziot.com:48654?action=getLastDataOpenDevice&keyPublicDevice=8UNT6XZY9Y6VC48Q5S6HP9JHDK4XVII7UWHJSYU3MLPG
Ответ: {"type":"ok","point":{"date":"1543839005","param":{"f1":"-56","f2":"0.00","f3":"0.00","f4":"0.00","f5":"0.00"}}}

Тип данных «point»

Тип данных «point» состоит из двух параметров:

Пример JavaScript кода с библиотекой jQuery:

function getDataOpenDeviceByPeriod() {
    $.ajax({
        type:"POST",
        dataType:'json',
        url:'https://viziot.com:48654',
        timeout: 10000,
        data:{
            'action':'getDataOpenDeviceByPeriod',
            "keyPublicDevice" : "XPHQM555HIB8P7USMGZM7YFLLRMAP7YIFJZQJY0CTSCV",
            "timeStampStart" : parseInt(new Date().getTime()/1000) - (60*60*24),
            "timeStampEnd" : parseInt(new Date().getTime()/1000),
        },
        success: function(json){
            var data = eval(json);
            switch(data.type) {
                case 'ok':
                    console.log('ok', data);
                    break;
                case 'error':
                    console.log("error", data);
                    break;
                default :
                    console.log(json);
            }
        }
    });
}
function getLastDataOpenDevice() {
    $.ajax({
        type:"POST",
        dataType:'json',
        url:'https://viziot.com:48654',
        timeout: 10000,
        data:{
            'action':'getLastDataOpenDevice',
            "keyPublicDevice" : "XPHQM555HIB8P7USMGZM7YFLLRMAP7YIFJZQJY0CTSCV",
        },
        success: function(json){
            var data = eval(json);
            switch(data.type) {
                case 'ok':
                    console.log('ok', data);
                    break;
                case 'error':
                    console.log("error", data);
                    break;
                default :
                    console.log(json);
            }
        }
    });
}
$(function(){
    getDataOpenDeviceByPeriod();
    getLastDataOpenDevice();
})