Http API调用说明
使用说明
- 1、Http版本统计原始数据上报接口和统计结果查询接口从v2.2.8版本起支持。
- 2、如果您对API使用安全性有更高要求,可以在本接口的基础上额外增加数据加密或签名验证等处理流程。
- 3、接口需要使用POST请求方式,并将请求参数以json字符串格式放入body中。
- 4、如果您通过公网访问,请首先放开防火墙18101端口和4061端口的访问权限。
接口地址
http://10.206.6.31:18101/api/rpc/v1/stat
单机模式部署IP为当前部署节点,集群模式IP为lighthouse-ice服务的部署IP,默认为集群的前两个节点,您可以使用任意一个或多个作为服务地址。
调用示例
- 模拟调用:
- 以下使用Java方式调用Http接口
@Test public void testStat() throws Exception { String apiUrl = "http://10.206.6.31:18101/api/rpc/v1/stat"; Map<String,Object> requestMap = new HashMap<>(); requestMap.put("token","_demo_feed_behavior_stat"); requestMap.put("secretKey","dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH"); requestMap.put("timestamp",System.currentTimeMillis()); Map<String,Object> paramsMap = new HashMap<>(); paramsMap.put("imei", UUID.randomUUID()); paramsMap.put("behavior_type","3"); requestMap.put("params",paramsMap); String requestParams = JsonUtil.toJSONString(requestMap); System.out.println("requestParams:" + JsonUtil.toJSONString(requestParams)); String response = OkHttpUtil.post(apiUrl,requestParams); System.out.println(response); }
接口说明
1、/api/rpc/v1/stat
接口作用:用于上报统计组原始消息;
包体参数格式:
{
"params": {
"behavior_type": "3",
"imei": "9dad2cd3-0c58-444e-a31a-832308a9f8c5"
},
"token": "_demo_feed_behavior_stat",
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"timestamp": 1727075686477,
"repeat": 1
}
参数说明:
- token:统计组Token,必要参数;
- secretKey:统计组秘钥,必要参数;
- timestamp:对应事件时间戳,缺省时默认为当前时间;
- params:对应统计组各字段的参数值;
- repeat:统计步长,缺省时默认为1,如果指定其他数值比如3,表示相同的消息重复3次;
2、/api/rpc/v1/stats
接口作用:用于批量上报统计组原始消息;
包体参数格式:
[{
"params": {
"behavior_type": "3",
"imei": "208f3380-2399-4e87-a438-fb5fa1387001"
},
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"timestamp": 1727078791357,
"token": "_demo_feed_behavior_stat"
}, {
"params": {
"behavior_type": "3",
"imei": "53f65f96-13f1-4777-8d06-71e1d978d27e"
},
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"timestamp": 1727078791374,
"token": "_demo_feed_behavior_stat"
}]
参数:
- token:统计组Token,必要参数;
- secretKey:统计组秘钥,必要参数;
- timestamp:对应事件时间戳,缺省时默认为当前时间;
- params:对应统计组各字段的参数值;
- repeat:统计步长,缺省时默认为1,如果指定其他数值比如3,表示相同的消息重复3次;
3、/api/rpc/v1/dataQuery
接口作用:通过时间范围或时间批次查询单个维度的统计结果;
包体参数格式:
{
"endTime": 1727107199999,
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"dimensValue": "北京市",
"startTime": 1727020800000,
"statId": "1100607"
}
参数:
- statId:统计项ID,必要参数;
- secretKey:所属统计组秘钥,必要参数;
- startTime:查询开始时间;
- endTime:查询截止时间;
- dimensValue:查询维度,对于没有统计维度的统计项,该参数不需要传递,对于单维度或多维度统计项,请传相应纬度值,多个纬度参数值之间使用分号分割。
4、/api/rpc/v1/dataQueryWithDimensList
接口作用:通过时间范围或时间批次查询多个维度的统计结果;
{
"dimensValueList": ["21", "72", "36"],
"endTime": 1727107199999,
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"startTime": 1727020800000,
"statId": "1100613"
}
参数:
- statId:统计项ID,必要参数;
- secretKey:所属统计组秘钥,必要参数;
- startTime:查询开始时间;
- endTime:查询截止时间;
- dimensValueList:多个查询维度,对于多维度统计项,请传相应纬度值,多个纬度参数值之间使用分号分割。
5、/api/rpc/v1/limitQuery
接口作用:按批次时间查询统计结果;
{
"batchTime": 1727079000000,
"secretKey": "dTdYSwzPz5GRMm1GDAMYKouGKoeD5IW8YVDiAAdH",
"statId": "1100617"
}
参数:
- statId:统计项ID,必要参数;
- secretKey:所属统计组秘钥,必要参数;
- batchTime:对应批次时间;
参数说明
startTime/endTime参数
查询数据的起止时间,请使用13位时间戳。
batchTime/batchList参数
系统按照统计项TimeParam参数划分统计周期,使用统计周期的开始时间作为统计周期的批次时间,在传递batchTime/batchList相关参数时,请使用13位时间戳。
比如:
统计业务每分钟访问PV,则2024-05-02 13:15:00代表2024-05-02 13:15:00 至 2024-05-02 13:16:00的统计数据对应的批次时间。
统计业务每2小时访问UV,则2024-05-02 14:00:00代表2024-05-02 14:00:00 至 2024-05-02 16:00:00的统计数据对应的批次时间。
统计业务每天的订单量,则2024-05-02 00:00:00代表2024-05-02 00:00:00 至 2024-05-02 23:59:59的统计数据对应的批次时间。
dimensValue/dimensValueList参数
没有维度参数传null,多维度统计按照统计项维度配置使用分号分割。
比如:
- 查询业务每天订单金额,
<stat-item title="每天_订单金额" stat="sum(amount)" />
该示例没有统计维度则传null。
- 查询每个各省份订单金额。
<stat-item title="每天_各省份_订单金额" stat="sum(amount)" dimens="provinceId"/>
该示例维度参数为省份,请传省份参数信息,格式示例:10101 或 10102。
- 查询每个省份各个业务线的订单金额,该示例为维度查询,请按照
<stat-item title="每天_各省份_各业务线_订单金额" stat="sum(amount)" dimens="provinceId;bizId"/>
该示例维度参数为省份和业务线,请按照provinceId;bizId的格式拼接维度参数,格式示例:10101;1 或 10102;2。
如果您在使用过程中有任何问题,请随时联系开发者!