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,默认为集群的前两个节点,您可以使用任意一个或多个作为服务地址。

调用示例

  • 模拟调用:

XL-LightHouse

  • 以下使用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。

如果您在使用过程中有任何问题,请随时联系开发者!

results matching ""

    No results matching ""