智能交互驱动WebSocket接口
终端节点获取方式
智能交互驱动WebSocket接口终端节点的获取方式,如表1所示。
场景 |
获取方式 |
---|---|
未通过WEB SDK调用场景 |
终端节点地址从接口StartSmartChatJob.xml的响应参数chat_access_address中获取。 |
通过WEB SDK调用场景 |
终端节点地址从智能交互SDK的通知jobInfoChangejobInfoChange的参数websocketAddr中获取。 |
功能介绍
该接口用于创建用户与数字人对话的WebSocket连接,驱动数字人对话。
URI
/v1/{project_id}/digital-human-chat/chat-command/{job_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方法请参考获取项目ID。 |
job_id |
是 |
String |
任务ID。在Web SDK的create接口入参eventListeners中,监听jobInfoChange事件通知,用于获取任务ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
token |
否 |
String |
一次性token,获取方法请参考创建一次性鉴权码。
须知:
使用JavaScript开发时,请使用一次性鉴权码认证方式。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
否 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取,响应消息头中X-Subject-Token的值。 |
请求参数
表5、表6和表7中的请求参数为WebSocket建连成功后,用户与数字人对话的请求参数。
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
request_id |
否 |
String |
请求ID。 |
payload |
是 |
RequestPayloadInfo object |
请求负载信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
job_id |
是 |
String |
任务ID。获取方法请参考获取任务ID。 |
robot_id |
否 |
String |
应用ID。从数字人互动页面URL中获取,URL的获取方式,请参见《用户指南》的“创建智能交互数字人”章节。 |
chat_id |
是 |
String |
对话ID。 |
command |
是 |
String |
操作命令。 包含如下命令:
|
data |
是 |
ChatReqDataInfo object |
对话请求数据信息。 |
响应参数
状态码: 101
参数 |
参数类型 |
描述 |
---|---|---|
X-Request-Id |
String |
请求ID。 |
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
request_id |
String |
请求ID。 |
payload |
ResponsePayloadInfo object |
响应负载信息。 |
请求示例
- 用户请求建立与数字人对话的WebSocket连接。
wss://metastudio-api.cn-north-4.myhuaweicloud.com/v1/70b76xxxxxx34253880af501cdxxxxxx/digital-human-chat/chat-command/e37a28485f684769aa537466e719629d
- 等MetaStudio返回可以发送启动对话的消息时,如2所示。用户发送文本驱动消息。
代码示例如下所示:
{ "request_id": "d7aa08da33dd4a662ad5be508c5b77cf", "payload": { "job_id": "e37a28485f684769aa537466e719629d", "robot_id": "2c9d60818b365847018b365f40320000", "chat_id": "ac71c539395b4446865074589ffa2c6c", "command": "TEXT_DRIVE", "data": { "text": "您好,我是您的分身数字人", "seq": 1, "is_last": true } } }
响应示例
状态码:101
- MetaStudio接收WebSocket建立连接的请求后,如1所示,返回响应消息。
代码示例如下所示:
{ "error_code": "MSS.00000000", "error_msg": "success", "request_id": "d7aa08da33dd4a662ad5be508c5b77cf" }
- MetaStudio发送启动对话的消息。
- MetaStudio收到用户发送的文本驱动消息时,如请求示例-2所示。MetaStudio返回文本驱动的响应消息。
代码示例如下所示:
{ "error_code": "MSS.00000000", "error_msg": "success", "request_id": "d7aa08da33dd4a662ad5be508c5b77cf", "payload": { "command": "TEXT_DRIVE_RSP", "job_id": "e37a28485f684769aa537466e719629d", "chat_id": "ac71c539395b4446865074589ffa2c6c", } }
状态码
状态码 |
描述 |
---|---|
101 |
连接成功。 |
错误码
请参见错误码。