简要描述:
- 获取设备统计信息,包含子公司设备
接口版本:
版本号 | 制定人 | 制定日期 | 修订日期 |
---|---|---|---|
2.0.0 | lenny | 2022-06-06 |
请求URL:
- 国际客户:http://icloud.assetscontrols.com:8092/OpenApi/Monitor
- 国内客户:http://cloud.assetscontrols.com:8092/OpenApi/Monitor
请求方式:
- POST
请求头:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
Content-Type | 是 | string | 请求类型: application/json |
请求参数:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
FTokenID | 是 | string | 令牌ID |
FAction | 是 | string | 方法名 (QueryAssetStatusData) |
返回示例:
正确时返回:
{
"Result": 200,
"Message": "check token success",
"FObject": {
"FTotalCount": 212,
"FOnlineCount": 6,
"FOfflineCount": 36,
"FInactiveCount": 165,
"FMotionCount": 0,
"FStationaryCount": 6,
"FIdlingCount": 0,
"FExpiringCount": 0,
"FExpiredCount": 5,
"FUnLockCount": 7,
"FLockCount": 31,
"FDoorOpenCount": 0,
"FDoorCloseCount": 1,
"FAlarmCount": 1,
"FLowBatteryCount": 17
}
}
错误时返回:
{
"Result": 102,
"Message": "Action is error",
"FObject": []
}
返回参数说明:
参数名 | 类型 | 说明 |
---|---|---|
FTotalCount | Int | 设备总数量,(总数量=离线数量+在线数量+未激活数量+已过期数量) |
FOfflineCount | Int | 离线设备数量( 设备最后接收数据的时间 + 当前公司设置的设备离线时长 < 当前时间 ,满足上面这个条件则表示设备离线) |
FOnlineCount | Int | 在线设备数量 (非离线设备,则表示在线) |
FIdlingCount | Int | 怠速中设备数量(设备ACC状态为开,且速度为0,则表示怠速中,此状态主要是在车载设备中用到) |
FStationaryCount | Int | 停止中设备数量(设备速度为0,则表示停止中) |
FMotionCount | Int | 运行中设备数量(设备速度大于0,则表示运行中) |
FInactiveCount | Int | 未激活设备数量(没有联网过的设备数量) |
FExpiringCount | Int | 即将过期设备数量(过期时间在1个月内) |
FExpiredCount | Int | 已过期设备数量 |
FUnLockCount | Int | 已开锁数量(当前锁状态为开的统计) |
FLockCount | Int | 已上锁数量(当前锁状态为关的统计) |
FAlarmCount | Int | 当前设备报警数量(当前有设备上传报警数据的统计) |
FLowBatteryCount | Int | 当前低电设备数量(低电阀值小于20%) |
FDoorOpenCount | Int | 开门数量(当前设备门状态为开的统计,没有门状态设备,可忽略此字段) |
FDoorCloseCount | Int | 关门数量(当前设备门状态为关的统计,没有门状态设备,可忽略此字段) |
备注:
- 更多返回错误代码如下:
- 104:token错误或过期
- 105:系统异常
- 102:请求参数错误
请求示例:
Java:
String result = "";
//请求路径
String url = "http://cloud.assetscontrols.com:8092/OpenApi/Monitor";
//请求参数 ,json格式参数,建议用对象传入
String body = "{FAction:\"QueryAssetStatusData\",FTokenID:\"3acef045-d302-4032-b40a-d9ee6c1519cd\"}";
URL realUrl = new URL(url);
// 设置通用请求的属性
URLConnection conn = realUrl.openConnection();
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "keep-Alive");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setRequestProperty("method", "post");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
PrintWriter pw = new PrintWriter(conn.getOutputStream());
// 发送请求参数
pw.print(body);
// flush输出流的缓冲
pw.flush();
// 定义BufferedReader输入流来读取URL的响应
BufferedReader bufReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
// 定义BufferedReader输入流来读取URL的响应
String line;
while ((line = bufReader.readLine()) != null) {
result += line;
}
//返回的是json字符串
return result;
C#:
//请求路径
string url = "http://cloud.assetscontrols.com:8092/OpenApi/Monitor";
//请求参数 ,json格式参数,建议用对象传入
string body = "{FAction:\"QueryAssetStatusData\",FTokenID:\"3acef045-d302-4032-b40a-d9ee6c1519cd\"}";
Encoding encoding = Encoding.UTF8;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
//请求方式 post / get
request.Method = "post";
request.Accept = "*/*";
request.ContentType = "application/json";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
byte[] buffer = encoding.GetBytes(body);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
//返回的是json字符串
return reader.ReadToEnd();
}
Python:
url = 'http://cloud.assetscontrols.com:8092/OpenApi/Monitor'
data = {
'FAction': 'QueryAssetStatusData',
'FTokenID': '3acef045-d302-4032-b40a-d9ee6c1519cd'
}
data = parse.urlencode(data).encode('utf-8')
headers = {
'User-Agent': r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
r'Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',
'Connection': 'keep-alive'
}
req = request.Request(url, headers=headers, data=data)
page = request.urlopen(req).read()
page = page.decode('utf-8')
# json_array = json.loads(page)
return page;
文档更新时间: 2024-12-20 15:21 作者:刘家帅