Contract
科大讯飞股份有限公司
会话智能第三方接口调用协议
版本<3.1>
版本历史
日期 | 版本 | 范围 | 描述 |
14/02/2022 | <1.0> | 鉴权 | 鉴权 |
16/03/2022 | <1.0> | 转写 | 录音转写配置与调用 |
10/04/2022 | <2.0> | 画像 | 录音画像配置与调用 |
12/04/2022 | <3.0> | 质检 | 录音质检配置与调用 |
28/06/2022 | <3.1> | 热词 | 热词数量调整 |
目 录
1. 介绍 5
1.1. 概述 5
1.2. 名词和缩写 5
1.3. 文档说明 5
2. 接口说明 5
2.1. 鉴权接口 6
2.1.1. 获取授权token 6
2.2. 音频转写配置 7
2.2.1. 热词配置 7
2.2.2. 热词更新 8
2.3. 音频画像配置 9
2.3.1. 新增画像策略 9
2.3.2. 查询画像策略 10
2.3.3. 选择画像策略 12
2.4. 音频质检配置 14
2.4.1. 新增质检配置 14
2.4.2. 条件查询质检配置(对应小宝指标点配置页) 16
2.4.3. 查询质检配置(用xxx质检策略时,查询) 18
2.4.4. 新增质检策略(销讲类型) 20
2.4.5. 修改质检策略(销讲类型) 21
2.4.6. 删除质检策略(销讲类型) 23
2.4.7. 条件查询质检策略(销讲类型) 24
2.4.8. 查询维度(用于单个新增指标点) 25
2.4.9. 单个新增指标点 26
2.4.10. 单个修改指标点 28
2.4.11. 单个删除指标点 29
2.4.12. 查询质检策略(用xxx质检结果分析) 30
2.5. 音频转写/画像/质检执行 32
2.5.1. url 音频转写/画像/质检 32
2.5.2. text 文本画像/质检 34
2.6. 音频转写/画像/质检结果 36
2.6.1. 查看转写结果 36
2.6.2. 查看画像结果 37
2.6.3. 查看质检结果 39
3. 接口调用相关说明 41
3.1. 环境地址 41
3.2. 接口简介 41
3.2.1. 调试说明 41
3.2.2. 常见状态码说明 42
1. 介绍
1.1.概述
该文档定义了讯飞会话智能相关接口文档,用于对接外部客户。
1.2.名词和缩写
暂无
1.3.文档说明
x文档详细介绍了使用科大讯飞公司提供的会话智能相关接口文档。
2. 接口说明
内容 | 说明 |
请求协议 | https/http (推荐 https) |
请求方式 | POST |
字符编码 | UTF-8 |
响应格式 | 统一采用 JSON 格式 |
开发语言 | 任意,只要可以向服务发起 HTTP 请求的均可 |
音频属性 | 采样率 16k 或 8k、位长 8bit 或 16bit、单声道&多声道 |
音频格式 | wav/mp3 |
音频大小 | 不超过 500M |
音频时长 | 不超过 5 小时,建议 5 分钟以上 |
语言种类 | 中文普通话、英文,小语种以及中文方言需咨询开通 |
2.1. 鉴权接口
2.1.1.获取授权 token
1. 通过 GET 方法请求,请求协议支持 https
□ 接口路径
♦ /icase/api/user/getToken
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
secret | String | 是 | 密码 |
□ 请求示例
icase/api/user/getToken?appId=icasebd868bb5396****&secret=7e642a776c0f8aa21df26fdd150c***
*
□ 返回参数
参数名 | 类型 | 必传 | 描述 |
token | String | 是 | token |
expireTime | Long | 是 | token 剩余过期时间(秒) |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"token":"eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAKtWKi5NUrJSMjI y0zEyN9IpqKjKSMxLNzY0MDZQ0lFKrShQsjI0MzYzMDQ2MDGoBQCwkApQLwAAAAH 5wd8QdJsrlFbx08uQtALjZlFD2T2XEbKiLUXYoKr1LKI2_f_Lc0GDFUaHU_dpGMb9X869E ZuaK7hjkfl8o4A",
"expireTime":86336
}
}
特别说明:
1.请在会话智能 Web 系统:平台管理——API 管理查看 appId 和 secret(只限一级组织管理员查看);
2.token 是 iCase 的全局唯一接口调用凭据,调用各接口时都需使用 token,开发者需要进行妥善保存;
3.token 的有效期通过返回的 expireTime 来传达,目前是 86400 秒之内的值。开发者需要根据这个有效时间提前去刷新新token。在刷新过程中,可对外继续使用老 token,此时平台后台会保证在 5 分钟
x,新老 token 都可用,这保证了开发者业务的平滑过渡;
2.2.音频转写配置
2.2.1.热词配置
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/hotWord/createHotWord
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
hotWord | List<String> | 是 | 热词 List(数量不超过 2000,单个热词长度限制 [2,16]) |
□ 请求示例
{
"appId":"*********", "hotWord":[
"获客", "养客"
]
}
□ 返回参数
参数名 | 类型 | 描述 |
hotWordId | String | 热词包 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"hotWordId": "c2b0facb789b4c**"
}
}
2.2.2.热词更新
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/hotWord/updateHotWord
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
hotWordId | String | 是 | 热词包 id |
hotWord | List<String> | 是 | 热词 List(数量不超过 2000,单个热词长度限制 [2,16]) |
□ 请求示例
{
"appId":"*********", "hotWordId":"c2b0facb789b4***", "hotWord":[
"获客", "养客"
]
}
□ 返回参数
参数名 | 类型 | 描述 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":
}
2.3.音频画像配置
2.3.1.新增画像策略
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/customer/tag/savePortraitStrategy
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
标签集合 | List | 否 | 暂未开放主动新建标签 |
□ 请求示例
{
"appId":"****"
}
□ 返回参数
参数名 | 类型 | 描述 |
strategyId | String | 画像策略 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"strategyId":"36b0253eec654**"
}
}
特别说明:
1.新增画像策略会异步进行系统预设画像标签初始化,此过程需要一定时间,请 30 秒后,进行画像查询、选择等操作。
2.3.2.查询画像策略
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/customer/tag/getPortraitStrategy
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
strategyId | String | 是 | 画像策略 id |
□ 请求示例
api/customer/tag/getPortraitStrategy?appId=icasebd868bb5396****&strategyId=36b0253eec654**
□ 返回参数
参数名 | 类型 | 描述 | |
groupUuid | String | 标签分类 id | |
groupName | String | 标签分类名称 | |
isEnabled | Integer | 是否开启:0 否;1 是 | |
tagList | tagUuid | String | 标签 id |
tagName | String | 标签名称 | |
isEnabled | Integer | 是否开启:0 否;1 是 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":[
{
"groupUuid":"60a01bffeaee4102b197d92d12e838**", "groupName":"意向类型",
"isEnabled":1, "tagList":[
{
"tagUuid":"0c3205f5330a4b2e9b966a5a059308**", "tagName":"底跃",
"isEnabled":1
},
{
"tagUuid":"026e769ec631462ea9812f993b6003**", "tagName":"洋房",
"isEnabled":1
},
{
"tagUuid":"9e2554c786c741ee94d688e6f9e638**", "tagName":"高层",
"isEnabled":1
}
]
},
{
"groupUuid":"a81a19e9a4b34123ac621126f5043e**", "groupName":"区位",
"isEnabled":1, "tagList":[
{
"tagUuid":"cfb9c5cb34f14253b8c387a0d13589**", "tagName":"交通",
"isEnabled":1
}
]
}
]
}
2.3.3.选择画像策略
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/customer/tag/selectPortraitStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 | |
appId | String | 是 | appId | |
strategyId | String | 是 | 画像策略 id | |
selectTags | groupUuid | String | 是 | 标签分类 id |
groupName | String | 是 | 标签分类名称 |
isEnabled | Integer | 是 | 是否开启:0 否;1 是 | ||
tagList | tagUuid | String | 是 | 标签 id | |
tagName | String | 是 | 标签名称 | ||
isEnabled | Integer | 是 | 是否开启:0 否;1 是 |
□ 请求示例
{
"appId":"123****",
"strategyId":"123", "selectTags":[
{
"groupUuid":"6ccba77ab5fe465c853c713d7681a5**", "groupName":"意向类型",
"isEnabled":1, "tagList":[
{
"tagUuid":"a3a468dfe9a647efa6d49968e0c28d**", "tagName":"底跃",
"isEnabled":1
},
{
"tagUuid":"3bada4b17a2e4af78529e63a663bbc**", "tagName":"洋房",
"isEnabled":0
},
{
"tagUuid":"c3f9483567174088be4949ddc8b8f3**", "tagName":"高层",
"isEnabled":1
}
]
},
{
"groupUuid":"60c61c7cd2e445d9ab138e62df5005**", "groupName":"区位",
"isEnabled":1, "tagList":[
{
"tagUuid":"2ad89853f0314472840b922a151974**",
"tagName":"交通", "isEnabled":1
}
]
}
]
}
□ 返回参数
参数名 | 类型 | 描述 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":null
}
特别说明:目前通过选择画像策略即可实现策略修改
2.4.音频质检配置
2.4.1.新增质检配置
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/saveCheckConfig
□ 请求参数
参数名 | 类型 | 必传 | 描述 | ||
appId | String | 是 | appId | ||
checkGroupList | List | 是 | 维度集合 | ||
groupName | String | 是 | 维度名称 | ||
checkPointList | List | 是 | 指标点集合 | ||
pointName | String | 是 | 指标点名称 | ||
pointType | Integer | 是 | 指标点得分类型: 0-正向,1-负向 | ||
matchScore | Integer | 是 | 得分 |
speechClassify | String | 否 | 话术分类 | ||
checkConditionList | List< String > | 是 | 条件内容 |
□ 请求示例
{
"appId":"******", "checkGroupList":[
{
"checkPointList":[
{
"checkConditionList":[
"骂人"
],
"pointType":1, "matchScore":10, "speechClassify":"话术 1",
"pointName":"指标点 1"
},
{
"checkConditionList":[ "骂人"
],
"matchScore":10, "pointType":0, "speechClassify":"话术 1",
"pointName":"指标点 2"
}
],
"groupName":"分组 1"
},
{
"checkPointList":[
{
"checkConditionList":[ "骂人"
],
"pointType":1, "matchScore":10, "speechClassify":"话术 1",
"pointName":"指标点 3"
},
{
"checkConditionList":[
"骂人"
],
"matchScore":10, "pointType":0, "speechClassify":"话术 1",
"pointName":"指标点 4"
}
],
"groupName":"分组 2"
}
]
}
□ 返回参数
参数名 | 类型 | 描述 |
checkConfigId | String | 质检配置 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"checkConfigId":"f170f94dcfc84**"
}
}
2.4.2.条件查询质检配置(对应小宝指标点配置页)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/queryCheckConfig
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
pageNo | Integer | 是 | 分页参数(查询页) |
pageSize | Integer | 是 | 分页参数(每页限制条数) |
pointName | String | 否 | 指标点名称 |
pointType | Integer | 否 | 指标点得分类型: 0-正向,1-负向 |
speechClassify | String | 否 | 话术分类 |
□ 请求示例
{
"checkConfigId":"f170f94dcfc8***", "pageNo":1,
"pageSize":10, "pointName":"质检",
"pointType":0, "speechClassify":"string"
}
□ 返回参数
参数名 | 类型 | 描述 | |
pageNo | Integer | 分页参数(查询页) | |
pageSize | Integer | 分页参数(每页限制条数) | |
total | Integer | 总数 | |
records | List | 具体数据 | |
groupId | string | 维度 id | |
speechClassify | string | 话术分类 | |
groupName | string | 维度名称 | |
pointId | Integer | 指标点 id | |
pointType | Integer | 指标点得分类型 0-正向,1-负向 | |
pointName | string | 指标点名称 |
matchScore | Integer | 得分 | |
checkConditionList | List<string> | 条件内容 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"pageNo":1, "pageSize":10, "total":2,
"records":[
{
"groupId":77, "speechClassify":"话术 1",
"groupName":"分组 2", "pointId":331, "pointType":0,
"pointName":"指标点 4", "matchScore":10, "checkConditionList":[
"骂人"
]
},
{
"groupId":76, "speechClassify":"话术 1",
"groupName":"分组 1", "pointId":329, "pointType":0, "pointName":"指标点 2", "matchScore":10, "checkConditionList":[
"骂人"
]
}
]
}
}
2.4.3.查询质检配置(用xxx质检策略时,查询)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/queryAllCheckConfig
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
speechClassify | List<String> | 否 | 话术分类集合 |
□ 请求示例
{
"checkConfigId":"f170f94dcfc84**", "speechClassifyList":[
"话术 1",
"话术 2"
]
}
□ 返回参数
参数名 | 类型 | 描述 |
groupId | string | 维度 id |
speechClassify | string | 话术分类 |
groupName | Integer | 维度名称 |
pointId | Integer | 指标点 id |
pointName | string | 指标点名称 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":[
{
"groupId":76, "speechClassify":"话术 1",
"groupName":"分组 1", "pointId":328, "pointName":"指标点 1"
},
{
"groupId":77, "speechClassify":"话术 2",
"groupName":"分组 2", "pointId":330, "pointName":"指标点 3"
}
]
}
2.4.4.新增质检策略(销讲类型)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/saveCheckStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 | |
appId | String | 是 | appId | |
checkConfigId | List | 是 | 质检配置 id | |
strategyName | String | 是 | 策略名称 | |
checkPointList | List | 是 | 维度与指标点集合 | |
groupId | Integer | 是 | 维度 id | |
pointId | Integer | 是 | 指标点 id |
□ 请求示例
{
"appId":"string", "checkConfigId":"f170f94dcfc84**", "strategyName":"策略 1", "checkPointList":[
{
"groupId":76, "pointId":328
},
{
"groupId":77, "pointId":330
}
]
}
□ 返回参数
参数名 | 类型 | 描述 |
strategyId | String | 质检策略 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"strategyId":"36b0253eec654**"
}
}
2.4.5.修改质检策略(销讲类型)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/updateCheckStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 | |
appId | String | 是 | appId | |
strategyId | List | 是 | 质检策略 id | |
strategyName | String | 是 | 策略名称 | |
checkPointList | List | 是 | 维度与指标点集合 | |
groupId | Integer | 是 | 维度 id | |
pointId | Integer | 是 | 指标点 id |
□ 请求示例
{
"strategyId":"512f463440b64**", "strategyName":"策略 22", "checkPointList":[
{
"groupId":77, "pointId":331
},
{
"groupId":77, "pointId":330
}
]
}
□ 返回参数
参数名 | 类型 | 描述 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":null
}
2.4.6.删除质检策略(销讲类型)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/deleteCheckStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
strategyId | List | 是 | 质检策略 id |
□ 请求示例
{
"strategyId":"512f463440b64**"
}
□ 返回参数
参数名 | 类型 | 描述 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":null
}
2.4.7.条件查询质检策略(销讲类型)
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/queryCheckStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
pageNo | Integer | 是 | 分页参数(查询页) |
pageSize | Integer | 是 | 分页参数(每页限制条数) |
strategyName | String | 否 | 质检策略名称 |
□ 请求示例
{
"checkConfigId":"72dd8307bdde4**", "pageNo":1,
"pageSize":10, "strategyName":"string"
}
□ 返回参数
参数名 | 类型 | 描述 | |
pageNo | Integer | 分页参数(查询页) | |
pageSize | Integer | 分页参数(每页限制条数) | |
total | Integer | 总数 | |
records | List | 具体数据 | |
strategyId | String | 质检策略 id | |
strategyName | String | 策略名称 |
pointNum | int | 指标点数目 | |
totalScore | int | 总分 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"pageNo":1, "pageSize":10, "total":1,
"records":[
{
"strategyId":"72dd8307bdde4**", "createTime":"2022-04-13 17:11:45",
"updateTime":"2022-04-13 17:11:45",
"strategyName":null, "pointNum":1, "totalScore":10
}
]
}
}
2.4.8.查询维度(用于单个新增指标点)
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/getCheckGroup
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
□ 请求示例
api/check/getCheckGroup?checkConfigId=36b0253eec654**
□ 返回参数
参数名 | 类型 | 描述 |
groupId | Integer | 维度 id |
groupName | String | 维度名称 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":[
{
"groupId":70, "groupName":"分组 1"
}
]
}
2.4.9.单个新增指标点
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/saveCheckPoint
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
speechClassify | String | 否 | 话术分类 |
groupName | String | 是 | 维度名称 |
pointName | string | 是 | 指标点名称 |
pointType | Integer | 是 | 指标点得分类型: 0-正向,1-负向 |
matchScore | Integer | 是 | 得分 |
checkConditionList | List<string> | 是 | 条件内容(重复条件将自动去重) |
□ 请求示例
{
"checkConditionList":[ "123"
],
"groupName":"维度 1",
"speechClassify":"话术 1", "matchScore":10, "pointName":"质检 4", "pointType":0,
"checkConfigId":"64e532215f554**"
}
□ 返回参数
参数名 | 类型 | 描述 |
pointId | Integer | 指标点 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"pointId":346
}
}
2.4.10.单个修改指标点
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/updateCheckPoint
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
speechClassify | String | 否 | 话术分类 |
pointId | Integer | 是 | 指标点 id |
groupName | String | 是 | 维度名称 |
pointName | string | 是 | 指标点名称 |
pointType | Integer | 是 | 指标点得分类型: 0-正向,1-负向 |
matchScore | Integer | 是 | 得分 |
checkConditionList | List<string> | 是 | 条件内容(重复条件将自动去重) |
□ 请求示例
{
"checkConditionList":[ "123"
],
"pointId":10, "groupName":"维度 1",
"speechClassify":"话术 1", "matchScore":10, "pointName":"质检 4", "pointType":0,
"checkConfigId":"64e532215f554**"
}
□ 返回参数
参数名 | 类型 | 描述 |
pointId | Integer | 指标点 id |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"pointId":346
}
}
2.4.11.单个删除指标点
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/deleteCheckPoint
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
checkConfigId | String | 是 | 质检配置 id |
pointId | Integer | 是 | 指标点 id |
□ 请求示例
{
"pointId":319, "checkConfigId":"64e532215f554**"
}
□ 返回参数
参数名 | 类型 | 描述 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":null
}
2.4.12.查询质检策略(用xxx质检结果分析)
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/getCheckStrategy
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
strategyId | String | 是 | 质检策略 id |
□ 请求示例
/api/check/getCheckStrategy?strategyId=c6b420ab865c4**
□ 返回参数
参数名 | 类型 | 描述 |
groupId | string | 维度 id |
speechClassify | string | 话术分类 |
groupName | Integer | 维度名称 |
pointId | Integer | 指标点 id |
pointName | string | 指标点名称 |
pointType | Integer | 指标点得分类型: 0-正向,1-负向 |
matchScore | Integer | 得分 |
checkConditionList | List<string> | 条件内容 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":[
{
"groupId":76, "speechClassify":"话术 1",
"groupName":"分组 1", "pointId":328, "matchScore":10, "pointType":0, "checkConditionList": [
"骂人",
"操"
] ,
"pointName":"指标点 1"
},
{
"groupId":77, "speechClassify":"话术 2",
"groupName":"分组 2", "pointId":330, "matchScore":10, "pointType":0, "checkConditionList": [
"骂人", "操"
] ,
"pointName":"指标点 3"
}
]
}
2.5.音频转写/画像/质检执行
2.5.1.url 音频转写/画像/质检
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/voice/externalService/asrAndCheckOrPortrait
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
audioUrl | String | 是 | 音频 url 外链地址,需要encode 编码(UTF-8) (录音文件限制 515M 以下,时长 5 小时以下) |
checkStrategyId | String | 否 | 质检策略 id(不传,只进行转写或画像) |
portraitStrategyId | String | 否 | 画像策略 id(不传,只进行转写或质检) |
hotWordId | String | 否 | 热词包 id,如需使用该配置,需要先进行热词配置(如果传参后热词包不存在会抛出异常) |
callbackUrl | String | 否 | 回调地址,订单完成时回调该地址通知完成详见结果回调 |
fileSize | Long | 否 | 音频文件大小(字节数) |
duration | Long | 否 | 音频真实时长,单位是毫秒。服务端将针对用户上传的duration 和服务端转码后的音频时长进行对比,如果偏差超过 10 秒内,则视为不合法,即无效的请求。 |
language | String | 否 | 语种类型:默认为 cn cn:中文普通话 cn_cantonese:广东话 cn_xinanese:川渝方言 cn_henanese:河南话 (方言开通还在内部流程,暂时不支持,开通后方言入参会第一时间更新并通知) |
projectId | String | 否 | 项目 id(方便讯飞优化提升转写、质检、画像效果) |
projectName | String | 否 | 项目名称(方便讯飞优化提升转写、质检、画像效果) |
□
□ 请求示例
{
"appId":"****", "checkStrategyId":"****", "portraitStrategyId":"****",
"audioUrl":"xxxx://xxxxx.xxxxx.xx/**********.xxx"
}
□ 返回参数
参数名 | 类型 | 描述 |
voiceId | String | 录音 id |
□ 返回示例
{
"status": 0,
"msg": "请求成功", "body": {
"voiceId":"0802089cd0c94eb48f79c3755f7d****"
}
}
□ 转写结果回调
当转写流程结束时会回调用户(如果录音文件转写接口传了 callbackUrl) ,会把订单号和订单状态返回:回调地址:POST http://ip:port/path?param=xxxx
参数说明:
参数名 | 类型 | 描述 |
voiceId | String | 录音 id |
asrStatus | Integer | 转写状态 0 成功 1 失败 |
checkStatus | Integer | 质检状态 0 成功 1 失败 |
portraitStatus | Integer | 画像状态 0 成功 1 失败 |
特别说明:callbackUrl 可在 url 上携带业务参数,实现业务需求
2.5.2.text 文本画像/质检
1.通过 POST 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/voice/externalService/checkOrPortraitByText
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
callbackUrl | String | 否 | 回调地址,订单完成时回调该地址通知完成 详见结果回调 |
content | String | 是 | 文本内容 |
checkStrategyId | String | 否 | 质检策略 id(不传,只进行画像) |
portraitStrategyId | String | 否 | 画像策略 id(不传,只进行质检) |
projectId | String | 否 | 小宝项目 id(方便讯飞优化提升转写、质检、画像效果) |
projectName | String | 否 | 小宝项目名称(方便讯飞优化提升转写、质 检、画像效果) |
□
□ 请求示例
{
"checkStrategyId":"36683d2f922342d", "portraitStrategyId":"36b0253eec654c7",
"content":"[{\"beginTime\":\"3270\",\"endTime\":\"7860\",\"role\":0,\"text\":\"底墅,看看有能不能行。骂人\"},{\"beginTime\":\"7860\",\"endTime\":\"16970\",\"role\":1,\"text\":\"洋房
\"},{\"beginTime\":\"16970\",\"endTime\":\"24080\",\"role\":0,\"text\":\"呢这哪儿把它关了?
\"},{\"beginTime\":\"24690\",\"endTime\":\"25860\",\"role\":1,\"text\":\"底墅\"}]"
}
□ 返回参数
参数名 | 类型 | 描述 |
voiceId | String | 录音 id |
□ 返回示例
{
"status": 0,
"msg": "请求成功", "body": {
"voiceId":"0802089cd0c94eb48f79c3755f7d****"
}
}
□ 转写结果回调
当转写流程结束时会回调用户(如果录音文件转写接口传了 callbackUrl) ,会把订单号和订单状态返回:回调地址:POST http://ip:port/path?param=xxxx
参数说明:
参数名 | 类型 | 描述 |
voiceId | String | 录音 id |
checkStatus | Integer | 质检状态 0 成功 1 失败 |
portraitStatus | Integer | 画像状态:0 成功 1 失败 |
特别说明:callbackUrl 可在 url 上携带业务参数,实现业务需求
2.6.音频转写/画像/质检结果
2.6.1.查看转写结果
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/voice/externalService/getAsrResult
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
voiceId | String | 是 | 录音 id |
□ 请求示例
icase/voice/externalService/getAsrResult?voiceId=8960dd80a01d4cc1b95538aa7dcb5e**
□ 返回参数
参数名 | 类型 | 描述 | |
voiceContent | role | Integer | 角色(0:销售,1:客户) |
beginTime | String | 开始时间(ms) | |
endTime | String | 结束时间(ms) | |
text | String | 转写文本 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"voiceId":null, "voiceContent":"[{\"beginTime\":\"3270\",\"endTime\":\"7860\",\"role\":0,\"text\":\"
底墅,看看有能不能行。骂人
\"},{\"beginTime\":\"7860\",\"endTime\":\"16970\",\"role\":1,\"text\":\"洋房
\"},{\"beginTime\":\"16970\",\"endTime\":\"24080\",\"role\":0,\"text\":\"呢这哪儿把它关了?\"},{\"beginTime\":\"24690\",\"endTime\":\"25860\",\"role\":1,\"text\":\"底墅\"}]",
"voiceDuration":null,
"errorNo":null
}
}
2.6.2.查看画像结果
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/customer/tag/getPortrait
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
voiceId | String | 是 | 录音 id |
□ 请求示例
icase/api/customer/tag/getPortrait?appId=icasebd868bb5396****&voiceId=fad0e37ae82347b0b06ab1 a22f****
□ 返回参数
参数名 | 类型 | 描述 | ||
groupUuid | String | 标签群组 id | ||
groupName | String | 标签群组名称 | ||
tagList | tagUuid | Array | 标签 id | |
tagName | String | 标签名称 | ||
hitPoints | beginTime | Xxxxxxx | 命中句子开始时间(ms) | |
endTime | Integer | 命中句子结束时间(ms) | ||
hitTarget | String | 命中条件(多个条件|隔开) | ||
text | String | 命中文本 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":[
{
"groupUuid":"6ccba77ab5fe465c853c713d7681a5**", "groupName":"意向类型",
"tagList":[
{
"tagUuid":"a3a468dfe9a647efa6d49968e0c28d**", "tagName":"底跃",
"hitPoints":"[{\"beginTime\":24690,\"hitTarget\":\"底墅\",\"text\":\"底墅\"}]"
}
]
}
]
}
2.6.3.查看质检结果
1.通过 GET 方法请求,请求协议支持 https
2. Headers: token: eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ…(通过授权接口获取的 token)
□ 接口路径
♦ /icase/api/check/getCheckResult
□ 请求参数
参数名 | 类型 | 必传 | 描述 |
appId | String | 是 | appId |
voiceId | String | 是 | 录音 id |
□ 请求示例
icase/api/check/getCheckResult?voiceId=0569b4cf8b194506bef8b812738c80****
□ 返回参数
参数名 | 类型 | 描述 | |
strategyId | String | 策略 id | |
groupList | List | 维度集合 |
groupId | Integer | 维度 id | |||
groupName | String | 维度名称 | |||
pointList | List | 指标点集合 | |||
pointId | Integer | 指标点 id | |||
pointName | String | 指标点名称 | |||
pointType | Integer | 指标点得分类型: 0-正向,1-负向 | |||
matchScore | Integer | 得分 | |||
hitPoints | List | 命中内容集合 | |||
beginTime | Integer | 命中句子开始时间(ms) | |||
endTime | Integer | 命中句子结束时间(ms) | |||
hitTarget | String | 命中条件(多个条件|隔开) | |||
text | String | 命中文本 |
□ 返回示例
{
"status":0,
"msg":"请求成功", "body":{
"strategyId":"36683d2f92234**", "groupList":[
{
"groupId":1, "groupName":"分组 1", "pointList":[
{
"pointId":2, "pointType":1, "matchScore":10, "pointName":"指标点 2", "hitPoints":[
{
"beginTime":3270, "endTime":3270,
"text":"底墅,看看有能不能行。骂人", "hitTarget":"骂人"
}
]
}
]
},
{
"groupName":"分组 2", "pointList":[
{
"pointName":"指标点 4", "hitPoints":[
{
"beginTime":3270, "endTime":3270,
"text":"底墅,看看有能不能行。骂人", "hitTarget":"骂人"
}
]
}
]
}
]
}
}
3. 接口调用相关说明
3.1.环境地址
测试环境:xxxxx://xxxx.xxxxx.xxxxx.xx (联调请用测试环境)
现网环境:xxxxx://xxxxx.xxxxx.xx
0.0.xxxx
0.0.0.xxxx
<访问地址>
测试环境 baseURL: xxxx.xxxxx.xxxxx.xx (联调请用测试环境)
现网环境 baseURL: xxxxx.xxxxx.xx
0.0.0.xxxxxxx
状态码 | 描述 |
0 | 请求成功 |
400 | 请求失败 |
401 | 用户未登录(token 错误) |
402 | 请求参数异常 |
414 | 找不到信息内容 |
570 | 音频文件上传失败 |
571 | 语音转写失败 |
573 | 文件过大无法上传 |
575 | 当前录音状态不允许转写 |
576 | 音频文件未转写 |
577 | 音频文件转写中 |
10000 | 通用错误 |