更新时间:2024-04-07 GMT+08:00
分享

访问统计

功能介绍

获取用户会话统计信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}

表1 路径参数

参数

是否必选

参数类型

描述

endpoint

String

终端节点,即调用API的请求地址。

不同服务不同区域的endpoint不同,您可以从终端节点中获取。

例如,CBS服务在“华北-北京四”区域的“endpoint”“cbs-ext.cn-north-4.myhuaweicloud.com”

project_id

String

项目ID,用于资源隔离。请参见获取项目ID

qabot_id

String

qabot_id,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。

获取方法:

登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。

表2 Query参数

参数

是否必选

描述

start_time

查询的起始时间,long,UTC时间,采用毫秒时间戳,默认值为0。

end_time

查询的结束时间,long,UTC时间,采用毫秒时间戳,默认值为当前时间的毫秒数。

interval

统计周期目前支持month、week、day。

time_zone

请求所在时区,例如:中国东八区为"+08:00";美国西五区为"-05:00";默认为"UTC"。(注意+-:符号需要经过urlEncoder加码)

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。

Content-Type

String

消息体的类型(格式),参数值为“application/json”。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

interval

String

统计周期目前支持year、month、week、day。

time_zone

String

所在时区,默认为"utc"。例如:中国东八区为"+08:00";美国西五区为"-05:00"。

total

SessionStatsTotal object

会话总计统计数据。调用失败时无此字段。

intervals

Array of SessionStatsIntervals objects

会话间隔统计数据。调用失败时无此字段。

startutc

Long

统计开始的utc时间。调用失败时无此字段。

endutc

Long

统计结束的utc时间。调用失败时无此字段。

表5 SessionStatsTotal

参数

参数类型

描述

session_count

Long

会话总数。

user_count

Long

独立用户个数。

avg_request_count

Double

平均会话轮数,保留小数点后三位。

avg_session_time

Double

平均会话时长,保留小数点后三位。

表6 SessionStatsIntervals

参数

参数类型

描述

start

String

间隔周期开始时间。

session_count

Long

间隔周期会话总数。

user_count

Long

间隔周期独立用户个数。

avg_request_count

Double

间隔周期平均会话轮数,保留小数点后三位。

avg_session_time

Double

间隔周期平均会话时长,保留小数点后三位。

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码。 调用成功时无此字段。

error_msg

String

调用失败时的错误信息。 调用成功时无此字段。

请求示例

  • 获取用户会话统计信息
    GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?interval=day&time_zone=%2B08%3A00
    
    Request Header: Content-Type: application/json
    X-Auth-Token:MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • Python语言请求代码示例
    import requests
    url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}"
    token = "用户获取得到的实际token值"
    headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
    
    response = requests.get(url, headers=headers, json=body, verify=False)
    print(response.text)
  • Java语言请求代码示例
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class CBSDemo {
    
        public void cbsDemo() {
            try {
                //endpoint、projectId、qabot_id等需要替换成实际信息。
                URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}");
                String token = "用户获取得到的实际token值";
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setDoInput(true);
                connection.setDoOutput(false);
                connection.addRequestProperty("Content-Type", "application/json");
                connection.addRequestProperty("X-Auth-Token", token);
    
    
                InputStream is = connection.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
                while (br.ready()) {
                    System.out.println(br.readLine());
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            CBSDemo CBSDemo = new CBSDemo();
            CBSDemo.cbsDemo();
        }
    }

响应示例

状态码:200

成功响应示例

{
    "interval":"day",
    "total":{
    "session_count":122,
    "user_count":4,
    "avg_request_count":1.467,
    "avg_session_time":23909.836
},
"intervals":[
   {
      "start":"2021-02-14",
      "session_count":8,
      "user_count":1,
      "avg_request_count":3.500,
      "avg_session_time":157500.000
    },
   {
      "start":"2021-02-15",
      "session_count":1,
      "user_count":1,
      "avg_request_count":2.000,
      "avg_session_time":2000.000
    },
   {
      "start":"2021-02-19",
      "session_count":113,
      "user_count":4,
      "avg_request_count":1.319,
      "avg_session_time":14646.018
    }
 ],
    "startutc":1613059200000,
    "endutc":1613720965417,
    "time_zone":"+08:00"
}

状态码:400

失败响应示例

{      
    "error_code":"CBS.0021",      
    "error_msg":"request parameter error"  
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

相关文档