API используется для работы с устройствами
POST /devices/approve HTTP/1.1
Запрос позволяет одобрить устройству взаимодействия с сервером
В теле передается серийные номера устройств с разделителем \n.
Пример:
xxxxxxxxxxxxxxx
yyyyyyyyyyyyyyy
zzzzzzzzzzzzzzz
Ответ
OK 200
POST /devices/disapprove?deviceId:int HTTP/1.1
Запрос позволяет отозвать у устройства разрешение на взаимодействие с сервером
Параметры запросы:
deviceId - порядковый номер устройстваОтвет
OK 200
GET /devices/get-approved HTTP/1.1
Возвращает список всех одобренных устройств сети.
Ответ
json[serial: string] // набор серийных номеров
GET /devices/get-alived HTTP/1.1
Возвращает список устройств сети с которыми установлено соединения.
Ответ
json[serial:string] // набор серийных номеров
GET /devices/list-not-approved HTTP/1.1
Возвращает список устройств сети с которыми установлено соединения, но которые не получили аккредитацию и ожидают одобрения.
Ответ
json[{ ip:string, // входящий ip запроса, seviceSerial: string, // серийный номер machineName: string // DNS имя машины, со слов самого устройства }] // набор серийных номеров
GET /devices/get-state?deviceId:number HTTP/1.1
Возвращает дерево последнего состояния устройства.
Параметры запросы:
deviceId:number порядковый номер устройстваОтвет
json[{ path:string, // адрес/идентифиактор состояния, val:{ val:number?, // численное значение соответствующее состоянию sval:string? // строковое значение соответствующее состоянию } }]
GET /devices/query-state?path:string?&deviceId:number? HTTP/1.1
Возвращает выборку из дерево последних состояния устройств.
Параметры запросы:
path:string? ветка идентификаторовdeviceId:number? порядковый номер устройстваОтвет
json{ deviceSerial:{ // для каждого серийного номера устройства path:string, // адрес/идентифиактор состояния, val:{ val:number?, // численное значение соответствующее состоянию sval:string? // строковое значение соответствующее состоянию } } }
GET /devices/get-device-info?deviceId:number? HTTP/1.1
Возвращает детальную информацию об устройстве.
Параметры запросы:
deviceId:number порядковый номер устройстваОтвет
json{ isAlived: bool, // установленно ли с устройством соединение approveDate:string, // дата аккредитации ISO8601 deviceId: number, // порядковый номер deviceSerial: string, // серийный номер устройства friendlyName: string, // дружественное имя устройства lastOnline: string, // дата последнего выхода на связь machineName: string, // DNS имя машины ip: string, // последний входящий ip адрес tags: string[], // список ярлыков userGroup: string, // пользовательская группа requestIpAvailable: bool, // дотсупен ли входящий IP со стороны сервера requestIpAvailableLastCheck: string // дата последней проверки доступности IP, ISO8601 }
GET /devices/list HTTP/1.1
Получение списка всех устройств.
Ответ
json[{ isAlived:bool, // установленно ли с устройством соединение approveDate:string, // дата аккредитации ISO8601 deviceId:number, // порядковый номер deviceSerial:string, // серийный номер устройства friendlyName:string, // дружественное имя устройства lastOnline:string, // дата последнего выхода на связь machineName:string, // DNS имя машины ip:string, // последний входящий ip адрес tags:string[], // список ярлыков userGroup:string, // пользовательская группа requestIpAvailable:bool, // дотсупен ли входящий IP со стороны сервера requestIpAvailableLastCheck:string // дата последней проверки доступности IP, ISO8601 }]
POST /devices/update-info?deviceId:number? HTTP/1.1
Запрос позволяет поменять:
Тело запросы: json:
{
friendlyName:string?, // новое пользовательское имя
tags:string[]?, // новый список ярлыков
userGroup:string? // пользовательская группа
}
При выполнение запроса, будут изменены все поля имеющие отличное от null значения.
Ответ
OK 200
GET /devices/commands-list?deviceId:number? HTTP/1.1
Запросить список поддерживаем команд напрямую с устройства.
Ответ
json[{ path:string, // идентфиикатор команды settings:any, // параметры, для исполнения команды meta:{} // дополнительные мета данные }]
POST /devices/command-exec?deviceId:number&cmd:string HTTP/1.1
Запрос позволят послать устройству команду на выполнение и получить результат.
Параметры запросы:
deviceId:number порядковый номер устройстваcmd:string string идентификатор команды, см. полуить список командТело запрос json, которые описывает параметры команды.
Обычно это settings полученные из списка команд.
Ответ: зависит от комманды, может быть любой ответ, в соответствии с командой.