客流分析领域服务ISV接入文档
更新时间:2019-10-10 20:04:35
1. 概述
客流分析领域服务提供客流空间管理、人员及设备基础管理、监控点管理,以及传统客流数据分析、人脸客流数据分析、鱼眼热力数据分析服务。
2. 服务模型
服务列表
接口路径 | 接口名称 | 当前版本 |
---|---|---|
设备绑定监控点 | /CustomerFlowService/addMonitorToDevice | 1.0.0 |
将空间加入分组 | /CustomerFlowService/addSpaceToGroup | 1.0.0 |
添加分组 | /CustomerFlowService/createGroup | 1.0.0 |
创建监控点 | /CustomerFlowService/createMonitor | 1.0.3 |
添加空间 | /CustomerFlowService/createSpace | 1.0.2 |
添加人员 | /CustomerFlowService/createUsers | 1.0.3 |
删除分组 | /CustomerFlowService/deleteGroup | 1.0.0 |
删除监控点 | /CustomerFlowService/deleteMonitor | 1.0.0 |
删除空间 | /CustomerFlowService/deleteSpace | 1.0.0 |
删除人员 | /CustomerFlowService/deleteUsers | 1.0.0 |
获取设备详情 | /CustomerFlowService/getDeviceInfo | 1.0.0 |
获取监控点列表 | /CustomerFlowService/getMonitor | 1.0.1 |
获取指定空间详情 | /CustomerFlowService/getSpace | 1.0.0 |
获取人员详情 | /CustomerFlowService/getUser | 1.0.0 |
编辑分组 | /CustomerFlowService/modifyGroup | 1.0.0 |
创建监控点 | /CustomerFlowService/modifyMonitor | 1.0.1 |
编辑空间 | /CustomerFlowService/modifySpace | 1.0.1 |
编辑人员 | /CustomerFlowService/modifyUsers | 1.0.0 |
获取设备列表 | /CustomerFlowService/queryDeviceList | 1.0.0 |
获取分组列表 | /CustomerFlowService/queryGroup | 1.0.0 |
获取监控点列表 | /CustomerFlowService/queryMonitor | 1.0.1 |
获取空间列表 | /CustomerFlowService/querySpace | 1.0.1 |
设备解绑监控点 | /CustomerFlowService/removeMonitorToDevice | 1.0.0 |
将空间移出分组 | /CustomerFlowService/removeSpaceToGroup | 1.0.0 |
设备绑定监控点 | /CustomerFlowService/addMonitorToDevice | 1.0.0 |
将空间加入分组 | /CustomerFlowService/addSpaceToGroup | 1.0.0 |
添加分组 | /CustomerFlowService/createGroup | 1.0.0 |
接口定义
最新接口定义请参考(请使用阿里云账号登录)
https://iot.console.aliyun.com/lh/config/model/detail?type=service&code=CustomerFlowService&version=1.4&serviceType=SERVICE_MODEL_D_DECLARE
开发包依赖
<dependency>
<groupId>com.aliyun.api.gateway</groupId>
<artifactId>sdk-core-java</artifactId>
<version>1.1.0</version>
</dependency>
示例代码
HttpClientBuilderParams builderParams = new HttpClientBuilderParams();
builderParams.setAppKey("1234567"); // 请填写正确的AppKey
builderParams.setAppSecret("xxxxxx"); // 请填写正确的AppSecret
ApacheHttpClient apacheHttpClient = new ApacheHttpClient(builderParams);
IoTApiRequest request = new IoTApiRequest();
//设置api的版本,并非模型中定义的版本,目前固定为 1.2
request.setApiVer("1.0");
//如果需要登陆,设置当前的会话的token
//设置参数
request.putParam("name", "aaa");
//请求参数域名、path、request
String host = "service-mesh.api-iot.cn-shanghai.aliyuncs.com";
String path = "/CustomerFlowService/createUsers";
System.out.println(JSON.toJSONString(request));
ApiRequest apiRequest = new ApiRequest(HttpScheme.HTTP, host,
HttpMethod.POST_BODY, path, JSON.toJSONBytes(request));
apiRequest.setHttpConnectionMode(HttpConnectionModel.MULTIPLE_CONNECTION);
ApiResponse response = apacheHttpClient.sendSyncRequest(apiRequest);
System.out.println(request.getId());
System.out.println(
"response code = " + response.getCode() + " response message = " + response.getMessage()
+ " response content = " + new String(response.getBody(),
"utf-8"));
示例代码中的path的规则为:
/{moduleid}/{api}
其中moduleid 是使用的模型名称,api是模型中对应的服务接口
3. 数据模型
传统客流分析数据(CustomerFlowData)
属性名称 | 属性标识符 | 数据类型 | 数据描述 | 是否必须 |
---|---|---|---|---|
空间id | spaceId | String | 空间Id | Y |
空间名称 | spaceName | String | 空间名称 | Y |
空间类型 | spaceType | Integer | 1广场 2楼层 3门店 4 区域 | Y |
周期 | period | Integer | 1天 2小时 3十分 | Y |
时间 | recordTime | Date | 分析记录时间 | Y |
进客流 | inNum | Integer | 进客流数量 | Y |
出客流 | outNum | Integer | 出客流数量 | Y |
外部进客流 | outsideInNum | Integer | 外部进客流数量 | N |
外部出客流 | outsideOutNum | Integer | 外部出客流数量 | N |
人脸客流分析数据(CustomerFaceFlowData)
属性名称 | 属性标识符 | 数据类型 | 数据描述 | 是否必须 |
---|---|---|---|---|
人员id | userid | String | 人员id | Y |
设备id | deviceId | String | 拍摄的设备id | Y |
性别 | gender | Integer | 1 男 2女 99未知 | Y |
年龄 | age | Integer | 识别的年龄 | Y |
情绪 | mood | Integer | 情绪 1平静 2高兴 3愤怒 4悲伤 99 未知 | Y |
时间 | recordTime | Date | 记录时间 | Y |
图片地址 | pictureUrl | String | 原始图像地址 | Y |
人员类型 | userType | Integer | 1 店员 2 顾客 99其他 | Y |
鱼眼热力数据(FisheyeThermalData)
属性名称 | 属性标识符 | 数据类型 | 数据描述 | 是否必须 |
---|---|---|---|---|
空间Id | spaceId | String | 空间id | Y |
设备Id | deviceId | String | 设备Id | Y |
记录时间 | recordTime | Date | 记录时间 | Y |
X坐标 | xCoord | Float | 热力X坐标 | Y |
Y坐标 | yCoord | Float | 热力Y坐标 | Y |
开发包依赖
<dependency>
<groupId>com.aliyun.api.gateway</groupId>
<artifactId>sdk-core-java</artifactId>
<version>1.6.0.3</version>
</dependency>
示例代码
SyncApiClient syncClient = SyncApiClient.newBuilder()
.appKey("1234567")
.appSecret("xxxxx")
.build();
IoTApiRequest request = new IoTApiRequest();
//设置api的版本
request.setApiVer("1.0");
Map<String, Object> requstMap = Maps.newHashMap();
requstMap.put("apiVer", "1.0");
request.setRequest(requstMap);
// 接口参数
params.put("modelId", "鱼眼热力数据");
request.setParams(params);
//请求参数域名、path、request
Map<String, String> headerMap = Maps.newHashMap();
ApiResponse response = syncClient.postBody("api.link.aliyun.com",
"/data/model/data/query", request, true, headerMap);
String respBody = new String(response.getBody(), "utf-8");
System.out.println("response code = " + response.getStatusCode() + " response content = " + respBody);