
# 获取问题提示
#### 功能介绍
获取用户输入问题的提示问题列表。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=CBS&api=ListSuggestions)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions
表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编号，UUID格式，如：303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面，在"机器人名称/ID"列显示对应的qabot_id。                                                                                                                |
   
#### 请求参数
表2请求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"。                                                                                                                     |
   
表3请求Body参数 
| 参数       | 是否必选 | 参数类型    | 描述                                          |
|:---|:---|:---|:---|
| question | 是    | String  | 用户输入的问题，如果输入的question为空字符串返回结果为空。长度为1\~512。 |
| top      | 否    | Integer | 最多提示条数，默认为5，取值范围\[1,10\]。                   |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数        | 参数类型             | 描述     |
|:---|:---|:---|
| questions | Array of strings | 推荐问列表。 |
   
**状态码： 400**
表5响应Body参数 
| 参数         | 参数类型   | 描述                     |
|:---|:---|:---|
| error_code | String | 调用失败时的错误码。 调用成功时无此字段。  |
| error_msg  | String | 调用失败时的错误信息。 调用成功时无此字段。 |
   
#### 请求示例
- 获取"桌面云"问题的提示问题列表
  ```
  POST https://{endpoint}/v1/41551a23c2be484cb0070631e323ee52/qabots/b36a01da-7fc2-43f8-8990-218e57a94420/suggestions
  Request Header:
      Content-Type: application/json
      X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  Request Body:
  {
      "question":"桌面云",
      "top":2
  }
  ```
  
- Python语言请求代码示例
  ```
  import requests
  url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions"
  token = "用户获取得到的实际token值"
  headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
  body = {"question":"桌面云","top":2}
  response = requests.post(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.io.OutputStreamWriter;
  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}/suggestions");
              String token = "用户获取得到的实际token值";
              HttpURLConnection connection = (HttpURLConnection) url.openConnection();
              connection.setRequestMethod("POST");
              connection.setDoInput(true);
              connection.setDoOutput(true);
              connection.addRequestProperty("Content-Type", "application/json");
              connection.addRequestProperty("X-Auth-Token", token);
              //输入参数
              String body = "{\"question\":\"桌面云\",\"top\":2}";
              OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
              osw.append(body);
              osw.flush();
              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**
成功响应示例
```
{
    "questions":[
       "桌面云打不开",
       "桌面云无法登录"
    ]
}
```
**状态码：400**
失败响应示例
```
{
  "error_code": "CBS.0022",
  "error_msg": "question can not be null"
}
```
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-cbs/cbs_03_0054.html)。
#### 错误码
错误码请参见[错误码](https://support.huaweicloud.com/api-cbs/cbs_03_0053.html)。
