对话机器人服务 CBS 对话机器人服务 CBS

更新时间:2021/09/17 GMT+08:00
分享

进行会话

功能介绍

进行话务机器人会话。

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/{project_id}/taskbot/voicecall/bots/{bot_id}/sessions/{session_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

bot_id

String

话务机器人ID。

进入话务机器人的Console界面,在“机器人名称/ID”列显示对应的bot_id。

session_id

String

会话ID,在发起会话API的请求结果消息体response当中产生。

具体获取方式请参见开启会话章节。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,响应消息头中X-Subject-Token的值即为Token。

表3 请求Body参数

参数

参数类型

是否必选

描述

reply

String

客户回复。

type

Integer

客户回复属性,0表示通用回复,1表示客户打断, 2表示客户长时未回复。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

questions

Array of ExecuteTbQuestion objects

所有数据的信息。调用失败时无此字段。

表5 ExecuteTbQuestion

参数

参数类型

描述

question_id

String

问题ID。

audio_file_path

String

语音文件路径。

question

String

问题。

action

Integer

0 继续, 1 直接中断, 2 播放结束音后中断。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

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

error_msg

String

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

请求示例

  • 请求示例
    POST https://{endpoint}/v1/E9993fc787d94b6c886cbaa340f9c0f4/taskbot/voicecall/bots/b1e2e409-d3f3-4916-9802-b489b5582f97/sessions/28d01720-c180-42ac-bbaf-51e0b4d9691d
    
    Request Header:
        Content-Type: application/json
        X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
    
    Request Body:
    {
        "reply": "***",
        "type": 0
    }
  • Python语言请求代码示例
    import requests
    url = "https://{endpoint}/v1/{project_id}/taskbot/voicecall/bots/{bot_id}/sessions/{session_id}"  # session_id是发起会话返回的id
    token = "用户获取得到的实际token值"
    headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
    body = {"reply": "用户回复","type": 0}
    
    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、bot_id等需要替换成实际信息。
                URL url = new URL("https://{endpoint}/v1/{project_id}/taskbot/voicecall/bots/{bot_id}/sessions/{session_id}");
                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 = "{\"reply\": \"用户回复\",\"type\": 0}";
    
                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":[
       {
          "question_id":
          "***",
          "question":
          "***"
          },
       {
          "question_id":
          "***",
          "question":
          "***"
        }
    ]
}

状态码:400

失败响应示例

{
    "error_code":"CBS.6854",
    "error_msg":"session resource does not exist"
}
{
    "error_code":"CBS.6852",
    "error_msg":"session param error"
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品