简要描述:

  • 获取设备统计信息,包含子公司设备

接口版本:

版本号 制定人 制定日期 修订日期
2.0.0 lenny 2022-06-06

请求URL:

请求方式:

  • 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   作者:刘家帅