API Documentation
Open API
管理接口
openapi对接
前提条件
构造签名获取token
对接duix-openapi-v2平台时,需在自己平台中集成生成token的代码,生成token的方法可参考以下代码:
管理接口
管理类HTTP请求有一个共同的约定,需要在请求头中传token
交互流程
获取APP实时并发数
接口地址:
/duix-openapi-v2/sdk/v2/getconcurrentNumber
请求方式: GET
接口描述:
查询某APP下并发数
参数说明
参数名称 | 类型 | 传参方式 | 参数说明 |
---|---|---|---|
appId | String | Query | 从平台创建的APPID |
响应参数:
参数名称 | 类型 |
---|---|
code | String |
data | ConcurrentStatus |
cropId | String |
totalConcurrentNumber | integer(int32) |
userConcurrentNumber | integer(int32) |
message | String |
success | boolean |
响应示例:
获取APP实时会话
接口地址:
/duix-openapi-v2/sdk/v2/getconcurrentList
请求方式: GET
接口描述:
查询某APP下的”通话中“的会话列表。
参数说明
参数名称 | 类型 | 传参方式 | 参数说明 |
---|---|---|---|
appId | String | Query | 从平台创建的APPID |
关闭APP所有会话
接口地址:
/duix-openapi-v2/sdk/v2/distroyCallSessionsByAppId
请求方式: GET
接口描述:
关闭某APP下所有的会话
参数说明
参数名称 | 类型 | 传参方式 | 参数说明 |
---|---|---|---|
appId | String | Query | 从平台创建的APPID |
响应示例:
关闭指定会话
接口地址:
/duix-openapi-v2/sdk/v2/sessionStop
请求方式: GET
参数说明
参数名称 | 类型 | 传参方式 | 参数说明 |
---|---|---|---|
uuid | String | Query | start-complete 事件返回的 sessionId 字段 |
第三方话术对接(非流式)
其他会话集成: 其他会话平台可以通过以下的方式提供给数字人使用。DUIX平台可以通过你的数字人,使用POST方式请求一个你定义的远程URL,来获取问题的答案。
会话平台集成样例: 可以参考这个会话平台集成的例子。这个开源的应用实现了一个对话平台集成,该样例应用实现闲聊会话功能。
请求规范: DUIX平台将问题请求(客户想你的数字人提出的)按照以下格式,通过POST方式发送至你远程URL。
参数说明
Field | Type | Description | Required |
---|---|---|---|
sid | String | 你的用户id,在创建用户时产生。可以在账号信息中查看。 | Y |
dh-code | String | 数字人编号,在每个数字人创建时产生,可以在数字人概览查看。 | Y |
dh-question | String | 你需要问数字的问题内容 | Y |
dh-conversation-id | String | 会话id,标识该会话的唯一标识 | Y |
dh-context | String | 关于该会话期间产生的上下文信息,该信息为已经字符串化的JSON格式数据。 | N |
请求示例:
响应规范: 当你收到问题请求的时候,你需要按照下面的格式返回。
字段 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | String | Y | 返回的状态码 |
msg | String | N | 成功/错误的描述信息 |
data | object | N | 返回的具体内容 |
success | Boolean | Y | 是否成功 |
有效响应类型:
Code | Status | Response |
---|---|---|
200 | OK | 按照下面规范的返回体 |
400 | Bad Request | Request body/headers are invalid |
401 | Unauthorized | 鉴权信息无效 |
403 | Forbidden | 鉴权失败 |
500 | Server Error | 服务异常 |
返回体规范:
Field | Type | Description | Required |
---|---|---|---|
conversationId | String | 会话id,标识该会话的唯一标识,与请求参数体的dh-conversation-id一致。 | Y |
question | String | 用户所问的问题。 | N |
answer | String | 用户问数字人的问题的答案,这是一个字符串化的 JSON 对象。 | Y |
intent | String | 问题匹配到平台的意图 | N |
errorMsg | String | 异常或者对错误的描述 | N |
extra | String | 额外信息,JSON字符串 | N |
预期响应时间: 与数字人类的互动,由于他们的实时性,对延迟很敏感。因此,在处理来自DUIX平台的请求时,响应时间是需要考虑的一个重要因素。这些服务的响应时间需要95%以上在20秒以内。如果响应时间超过20s,该请求将报出超时错误,但是数字人将继续响应。
第三方话术对接(流式)
其他会话集成: 其他会话平台可以通过以下的方式提供给数字人使用。DUIX平台可以通过你的数字人,使用POST方式请求一个你定义的远程URL,来获取问题的答案。
会话平台集成样例: 可以参考这个会话平台集成的例子。这个开源的应用实现了一个对话平台集成,该样例应用实现闲聊会话功能。
请求规范: DUIX平台将问题请求(客户想你的数字人提出的)按照以下格式,通过POST方式发送至你远程URL。
参数说明
Field | Type | Description | Required |
---|---|---|---|
sid | String | 你的用户id,在创建用户时产生。可以在账号信息中查看。 | Y |
dh-code | String | 数字人编号,在每个数字人创建时产生,可以在数字人概览查看。 | Y |
dh-question | String | 你需要问数字的问题内容 | Y |
dh-conversation-id | String | 会话id,标识该会话的唯一标识 | Y |
dh-context | String | 关于该会话期间产生的上下文信息,该信息为已经字符串化的JSON格式数据。 | N |
请求示例:
返回体规范:
Field | Type | Description | Required |
---|---|---|---|
answer | String | 返回答案 | Y |
isEnd | boolean | 是否结束 | Y |
预期响应时间: 与数字人类的互动,由于他们的实时性,对延迟很敏感。因此,在处理来自DUIX平台的请求时,响应时间是需要考虑的一个重要因素。这些服务的响应时间需要95%以上在20秒以内。如果响应时间超过20s,该请求将报出超时错误,但是数字人将继续响应。
获取会话详情
接口地址:
/duix-openapi-v2/sdk/getConversationById?conversationId=[duix平台会话id]
请求方式: GET
接口描述:
根据duix平台创建的会话id,查询会话详情。
参数说明
参数名称 | 类型 | 传参方式 | 参数说明 |
---|---|---|---|
conversationId | String | Query | 从平台创建的conversationId |
响应参数:
参数名称 | 类型 | 说明 |
---|---|---|
code | String | 返回code |
data | JSON | 返回数据 |
detailDto | JSON | 会话资源详情(含模型、背景、tts) |
detailDto.backgroundDto | JSON | 会话资源详情(背景) |
detailDto.modelId | String | 模型id |
detailDto.modelName | String | 模型名称 |
detailDto.modelIdType | String | 模型类型(0:云端数字人,1:本地数字人) |
detailDto.localModelInfo | JSON | 本地数字人信息 |
detailDto.backgroundDto | JSON | 会话资源详情(背景) |
detailDto.backgroundDto.backgroundUrl | String | 背景地址 |
scriptDtoList | JSON | 前置话术详情 |
scriptDtoList.scriptType | String | 0唤醒词,1开场白,2等待语,3未知问题,4告别词,5打断词,6打断语句,7引导词) |
scriptDtoList.scriptContent | String | 前置话术文本 |
scriptDtoList.ttsContent | String | 前置话术音频 |
message | String | 文本提示 |
success | boolean | 成功标志 |
响应示例: