客流分析领域服务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);

results matching ""

    No results matching ""