
# 访问统计
#### 功能介绍
获取用户会话统计信息。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=CBS&api=CollectSessionStats)中调试该接口，支持自动认证鉴权。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不同，您可以从[终端节点](https://support.huaweicloud.com/api-cbs/cbs_03_0102.html)中获取。 例如，CBS服务在"华北-北京四"区域的"endpoint"为"cbs-ext.cn-north-4.myhuaweicloud.com"。                                                               |
| project_id | 是    | String | 项目ID，用于资源隔离。请参见[获取项目ID](https://support.huaweicloud.com/api-cbs/cbs_03_0069.html)。                                                                                                                                                                                                                                                                                       |
| qabot_id   | 是    | String | qabot_id，UUID格式，如：303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法： 登录对话机器人服务控制台，在智能问答机器人列表中查看qabot_id。 ![](https://support.huaweicloud.com/api-cbs/zh-cn_image_0000001119913880.png "点击放大") |
   
表2Query参数 
| 参数         | 是否必选 | 描述                                                                         |
|:---|:---|:---|
| 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接口](https://support.huaweicloud.com/api-cbs/cbs_03_0006.html)响应消息头中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时间。调用失败时无此字段。                           |
   
 表5SessionStatsTotal 
| 参数                | 参数类型   | 描述               |
|:---|:---|:---|
| session_count     | Long   | 会话总数。            |
| user_count        | Long   | 独立用户个数。          |
| avg_request_count | Double | 平均会话轮数，保留小数点后三位。 |
| avg_session_time  | Double | 平均会话时长，保留小数点后三位。 |
   
 表6SessionStatsIntervals 
| 参数                | 参数类型   | 描述                   |
|:---|:---|:---|
| 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"  
}
```
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-cbs/cbs_03_0054.html)。
#### 错误码
错误码请参见[错误码](https://support.huaweicloud.com/api-cbs/cbs_03_0053.html)。
