查询质检结果:部分结果需要入参requiredFields明确指定方可返回。服务地址(Region)请选择为杭州(cn-hangzhou)。
接口说明
可以查询通过 UploadAudioData 、 UploadData 上传的数据,也可以查询数据集质检任务 SubmitQualityCheckTask 的数据。可以根据任务 ID(taskId)查询,也可以根据时间范围查询。 此接⼝返回结果中默认只返回部分参数,可通过请求参数中的 requiredFields 来⾃定义设置返回参数中需要返回哪些字段。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
sca:GetResult | list | *全部资源 * |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
JsonStr | string | 是 | 完整 JSON 字符串信息,具体内容参见以下详细信息。 | {"pageNumber":1,"pageSize":10,"excludeFields":"hitResult.hits, recording.url","requiredFields":"agent,status,errorMessage,reviewStatus,reviewResult,score,taskId,reviewer,resolver,recording.name,recording.duration,hitResult,business","dataType":1,"sourceType":0,"startTime":"2020-06-25 00:00:00","endTime":"2020-07-01 23:59:59"} |
BaseMeAgentId | long | 否 | 业务空间 Id |
请求参数 JSON 字符串信息
属性 | 值类型 | 是否必须 | 说明 |
---|---|---|---|
isSchemeData | Integer | 否 | 是否将数据上传至新版智能对话分析,取值:0(否);1(是),默认值为 0。 |
pageSize | Integer | 否 | 每页返回的数据数,要求大于 0,小于 100,默认 10。 |
pageNumber | Integer | 否 | 要求返回的第几页的数据,默认 1。当查询超过 10000 条之后的数据时,不支持跳页查询,仅支持向下连续翻页,并且需要传入 lastDataId 参数。(例如:当前返回每页显示 100 条,当前为 101 页,那么后续查询只能查询 102 页,不可直接查询 103 页) |
requiredFields | String | 否 | 返回结果需要包括哪些字段,多个字段用逗号分隔,请按需选择;可选字段:taskId(任务 id),score(得分),status(状态),recording(文件信息),recording.dataSet(数据集名称),asrResult(转写结果),hitResult(质检结果),comments(复核意见),agent(坐席信息)等;默认值:score,status,taskId,hitResult。 |
excludeFields | String | 否 | 返回结果中不需要包括哪些字段,通常是子字段,多个字段用逗号分隔;取值:hitResult.hits |
taskId | String | 否 | 上传待检数据后回传的 taskId。 |
startTime | String | 否 | 按任务上传时间(API 调用时间)区间查询,区间的开始时间,格式'yyyy-MM-dd HH:mm:ss'。 |
endTime | String | 否 | 按任务上传时间(API 调用时间)区间查询,区间的结束时间,格式'yyyy-MM-dd HH:mm:ss'。 |
callStartTime | String | 否 | 按录音发生时间(上传数据时接口中指定的)区间查询,区间的开始时间,格式'yyyy-MM-dd HH:mm:ss'。 |
callEndTime | String | 否 | 按录音发生时间(上传数据时接口中指定的)区间查询,区间的结束时间,格式'yyyy-MM-dd HH:mm:ss'。 |
assignmentStartTime | String | 否 | 按分配时间(最后一次分配质检员的时间)区间查询,区间的开始时间,格式'yyyy-MM-dd HH:mm:ss'。 |
assignmentEndTime | String | 否 | 按分配时间(最后一次分配质检员的时间)区间查询,区间的结束时间,格式'yyyy-MM-dd HH:mm:ss'。 |
reviewStartTime | String | 否 | 按复核时间(最后一次复核保存的时间)区间查询,区间的开始时间,格式'yyyy-MM-dd HH:mm:ss'。 |
reviewEndTime | String | 否 | 按复核时间(最后一次复核保存的时间)区间查询,区间的结束时间,格式'yyyy-MM-dd HH:mm:ss'。 |
datasetId | Long | 否 | 数据集 id,当 sourceType=3 时,可以指定文件来自哪个数据集。 |
sourceType | Integer | 否 | 文件来源,0:呼叫中心(即 API 上传);3:数据集。 |
dataType | Integer | 否 | 文件类型,0:文本;1:音频。 |
sourceDataType | Integer | 否 | 质检结果类型,1:离线语音质检;2:离线文本质检;3:实时语音质检;4:实时文本质检;5:呼叫中心二次质检;51:呼叫语音中心二次质检;52:呼叫文本中心二次质检;11:数据集语音;12:数据集文本。(仅新版智能对话分析适用) |
customerName | String | 否 | 客户姓名。(仅新版智能对话分析适用) |
customerId | String | 否 | 客户 ID。(仅新版智能对话分析适用) |
sessionGroupId | String | 否 | 会话组 ID。(仅新版智能对话分析适用) |
sessionGroupExists | Boolean | 否 | 是否属于会话组。(仅新版智能对话分析适用) |
customerServiceName | String | 否 | 客服姓名,只返回该客服的结果。 |
customerServiceId | String | 否 | 客服 ID,只返回该客服的结果。 |
skillGroupName | String | 否 | 技能组名称。 |
caller | String | 否 | 主叫号码。 |
callee | String | 否 | 被叫号码。 |
callId | String | 否 | 通话 ID。 |
fileName | String | 否 | 文件完整名称,不支持模糊搜索。 |
ruleIds | List | 否 | 命中的质检规则 ID 集合,返回命中了这些规则中任意一个或多个的结果。 |
schemeIdList | List | 否 | 按任务所使用的质检方案 ID 搜索。(仅新版智能对话分析适用) |
schemeTaskConfigId | Integer | 否 | 质检任务 ID。(仅新版智能对话分析适用) |
resolver | String | 否 | 复核员的账号 ID,只返回该复核员复核的结果。 |
reviewer | String | 否 | 分配的质检员的账号 ID,只返回分配该质检员的结果。 |
status | Integer | 否 | 执行状态,0:执行中;1:已完成;6:失败。 |
hitStatus | Integer | 否 | 命中状态,0:无规则命中;1:有规则命中。 |
reviewStatus | Integer | 否 | 复核状态,0:未复核;1:已复核;3:申诉中;4:申诉成功;5:申诉驳回。 |
complainStatus | Integer | 否 | 申诉状态,0:未申诉;1:已申诉。 |
scoreType | Integer | 否 | 与 totalScore 一起根据质检得分筛选,1:返回等于 totalScore 的记录;3:返回大于 totalScore 的记录;5:返回小于 totalScore 的记录。 |
totalScore | Integer | 否 | 与 scoreType 一起根据质检得分筛选,分值。 |
duration | Integer | 否 | 通话时长,单位:秒。需配合 durationType、endDuration 一起使用。 |
durationType | Integer | 否 | 通话时长查询的范围类型,可选值:1(等于)、3(大于)、5(小于)、7(区间)。 |
endDuration | Integer | 否 | 通话时长按区间范围查询时的结束值,此时使用 duration 来指定区间的开始值。 |
dialogueSize | Integer | 否 | 对话轮数。需配合 dialogueSizeType、endDialogueSize 一起使用。 |
dialogueSizeType | Integer | 否 | 对话轮数查询的范围类型,可选值:1(等于)、3(大于)、5(小于)、7(区间)。 |
endDialogueSize | Integer | 否 | 对话轮数按区间范围查询时的结束值,此时使用 dialogueSize 来指定区间的开始值。 |
lastDataId | String | 否 | 上次查询到的数据中最后一条数据的 lastDataId 的值,当通过 GetResult 查询超过 10000 条以上的数据时,每次请求入参中需要携带上一次查询结果中最后一条数据的 lastDataId 的值。 |
fileId | String | 否 | 对应相应的电话或工单数据 ID,返回结果中只包含该 fileId 的数据。 |
sortField | String | 否 | 按指定参数进行排序,目前仅质检得分以及自定义数据 1/2/3/4/5 支持排序,所以可输入的值为:score/remark1/remark2/remark3/remark4/remark5。 |
sortType | String | 否 | 排序规则,可输入值为:desc/asc,desc:降序,asc:升序。 |
remark1 | String | 否 | 自定义数据 1。 |
remark2 | String | 否 | 自定义数据 2。 |
remark3 | String | 否 | 自定义数据 3。 |
remark4 | String | 否 | 自定义数据 4。 |
remark5 | Long | 否 | 自定义数据 5,该字段支持精准查询,也支持按范围查询,需配合 remark5Type 和 endRemark5 一起使用。) |
remark5Type | Integer | 否 | 自定义数据 5 按范围查询时的范围类型:3(大于)、5(小于)、7(区间),默认为等于(精确查询)。 |
endRemark5 | Long | 否 | 自定义数据 5 按区间查询时的结束值,此时使用 remark5 来指定区间的开始值。 |
remark6 | String | 否 | 自定义数据 6。 |
remark7 | String | 否 | 自定义数据 7。 |
remark8 | String | 否 | 自定义数据 8。 |
remark9 | String | 否 | 自定义数据 9。 |
remark10 | String | 否 | 自定义数据 10。 |
remark11 | String | 否 | 自定义数据 11。 |
remark12 | String | 否 | 自定义数据 12。 |
remark13 | Long | 否 | 自定义数据 13,该字段支持精准查询,也支持按范围查询,需配合 remark13Type 和 endRemark13 一起使用。) |
remark13Type | Integer | 否 | 自定义数据 13 按范围查询时的范围类型:3(大于)、5(小于)、7(区间),默认为等于(精确查询)。 |
endRemark13 | Long | 否 | 自定义数据 13 按区间查询时的结束值,此时使用 remark13 来指定区间的开始值。 |
remark14 | Long | 否 | 自定义数据 14,该字段支持精准查询,也支持按范围查询,需配合 remark14Type 和 endRemark14 一起使用。) |
remark14Type | Integer | 否 | 自定义数据 14 按范围查询时的范围类型:3(大于)、5(小于)、7(区间),默认为等于(精确查询)。 |
endRemark14 | Long | 否 | 自定义数据 14 按区间查询时的结束值,此时使用 remark14 来指定区间的开始值。 |
remark15 | String | 否 | 自定义数据 15。 |
remark16 | String | 否 | 自定义数据 16。 |
remark17 | String | 否 | 自定义数据 17。 |
remark18 | String | 否 | 自定义数据 18。 |
remark19 | String | 否 | 自定义数据 19。 |
remark20 | String | 否 | 自定义数据 20。 |
remark21 | String | 否 | 自定义数据 21。 |
remark22 | String | 否 | 自定义数据 22。 |
remark23 | String | 否 | 自定义数据 23。 |
remark24 | String | 否 | 自定义数据 24。 |
remark25 | String | 否 | 自定义数据 25。 |
remark1List~remark25List | List | 否 | 自定义数据 1 到 25 的批量查询,例如 remark1List:[1,2,3],会按自定义数据 1 等于 1 或者 2 或者 3 来搜索 |
返回参数
关键信息 Val 详解
算子名称 | val 值示例 | 说明 |
---|---|---|
文字检查-关键字检查 | 你好 | 当前句子中命中该算子的文本,即为复核页面查看命中位置时,句子中红色高亮的文本内容 |
文字检查-文本相似度检查 | 82 | 相似度值 |
文字检查-正则表达式检查 | 你好 | 当前句子中命中该算子的文本,即为复核页面查看命中位置时,句子中红色高亮的文本内容 |
文字检查-上下文重复检查 | 你好 | 当前句子中命中该算子的文本,即为复核页面查看命中位置时,句子中红色高亮的文本内容 |
语音检查-通话静音检查 | 3200 | 静音时长(毫秒) |
语音检查-语速检查 | 365 | 当前句子的语速值 |
语音检查-抢话检查 | 2:8 | 类型为"m:n",m 为抢话时长(秒),即客服与客户说话交叉时间;n 为当前句子的字数 |
语音检查-角色判断 | 你好 | 当前句子中命中该算子的文本,即为复核页面查看命中位置时,句子中红色高亮的文本内容 |
语音检查-非正常挂机 | 3567 | 最后一句的话结束时间,到挂机时间的毫秒数 |
语音检查-录音时长检查 | 56088 | 录音时长的毫秒数 |
模型检查-情绪识别模型 | 辱骂 | 情绪的具体类型,例如辱骂、高危 |
模型检查-客服违规检测模型 | 讥讽 | 客服违规的具体类型,例如讥讽、反问、辱骂 |
示例
正常返回示例
JSON
格式
{
"RequestId": "3CEA0495-341B-4482-9AD9-8191EF4***",
"Success": true,
"ResultCountId": "XXX",
"Code": "200",
"Message": "successful",
"PageNumber": 1,
"PageSize": 10,
"Count": 1,
"Data": {
"ResultInfo": [
{
"Status": 0,
"AssignmentTime": "2021-03-02T14:37Z",
"LastDataId": "4498420@a_z@93EAADF1-01D3-44BD-8AC9-F57F447EFCE8_1614*****",
"ErrorMessage": "xxx",
"Reviewer": "xxx",
"CreateTime": "2019-07-24T19:31Z",
"ReviewStatus": 1,
"ReviewTimeLong": "1602743090",
"TaskName": "test",
"ReviewResult": 0,
"Score": 100,
"CreateTimeLong": "1602743090",
"ReviewTime": "2019-07-24T19:31Z",
"Comments": "xx",
"TaskId": "A6BEC8D-9A5B-4BE5-8432-4F635E***",
"ReviewType": 1,
"Resolver": "XXX",
"AsrResult": {
"AsrResult": [
{
"Words": "xx",
"Begin": 10000,
"EmotionValue": 1,
"End": 0,
"SpeechRate": 50,
"Role": "客户",
"Identity": "OPERATOR_001"
}
]
},
"HitResult": {
"HitResult": [
{
"Type": "0417回归类型",
"ReviewResult": 0,
"Name": "20190417回归3",
"Rid": "1276",
"Hits": {
"Hit": [
{
"KeyWords": {
"KeyWord": [
{
"From": 1,
"To": 2,
"Val": "test",
"Cid": "xxxx"
}
]
},
"Cid": {
"Cid": [
"xxxx"
]
},
"Phrase": {
"EmotionValue": 0,
"End": 300,
"Words": "xxx",
"Role": "客服",
"Begin": 300
}
}
]
},
"SchemeId": 0,
"SchemeVersion": 0,
"Conditions": {
"Conditions": [
{
"Cid": "",
"Id": 0,
"Rid": "",
"Check_range": {
"RoleId": 0,
"Role": "",
"Anchor": {
"Cid": "",
"Location": "",
"Hit_time": 0
},
"Range": {
"From": 0,
"To": 0
},
"TimeRange": {
"From": 0,
"To": 0
},
"Absolute": true,
"AllSentencesSatisfy": true
},
"Operators": {
"Operator": [
{
"Oid": "",
"Id": 0,
"Type": "",
"Param": {
"Keywords": {
"Keyword": [
""
]
},
"Regex": "",
"NotRegex": "",
"Phrase": "",
"Interval": 0,
"IntervalEnd": 0,
"Threshold": 0,
"In_sentence": true,
"Target": 0,
"From_end": true,
"KeywordExtension": 0,
"Case_sensitive": true,
"Near_dialogue": true,
"MinWordSize": 0,
"Hit_time": 0,
"Excludes": {
"Exclude": [
""
]
},
"From": 0,
"CheckFirstSentence": true,
"Average": true,
"BeginType": "",
"EndType": "",
"CompareOperator": "",
"ContextChatMatch": true,
"KeywordMatchSize": 0,
"MaxEmotionChangeValue": 0,
"CheckType": 0,
"DelayTime": 0,
"FlowNodePrerequisiteParam": {
"NodeId": 0,
"NodeName": "",
"NodeMatchStatus": 0
},
"IntentModelCheckParm": {
"ModelScene": "",
"Intents": {
"Intent": [
{
"Id": 0,
"Name": ""
}
]
}
}
},
"Name": ""
}
]
},
"Lambda": "",
"Exclusion": 0
}
]
},
"Score": -5
}
]
},
"HitScore": {
"HitScore": [
{
"ScoreName": "投诉",
"ScoreNumber": "-20",
"ScoreId": "123456",
"RuleId": "123"
}
]
},
"Recording": {
"Remark13": "XXX",
"Callee": "1888888****",
"DialogueSize": 32,
"PrimaryId": "3437500",
"Remark12": "XXX",
"Remark1": "XXX",
"Remark7": "XXX",
"Remark8": "XXX",
"Remark2": "XXX",
"CallId": "XXXX",
"Remark9": "XXX",
"Name": "123456.mkv",
"Remark6": "XXX",
"Remark10": "XXX",
"Business": "客服业务线",
"Remark3": "XXX",
"Url": "http://aliyun.com/audio.wav",
"Remark11": "XXX",
"Remark4": "XXX",
"CallType": 1,
"Caller": "0108888****",
"DataSetName": "XXXX",
"Duration": 60,
"Remark5": 1232,
"Id": "6fa76916-3ce6-45d8-ac64-01b7f31***",
"CallTime": "1563967699000",
"TaskConfigId": 123,
"TaskConfigName": "任务A",
"CustomerName": ""
},
"Agent": {
"Name": "智能对话分析客服",
"SkillGroup": "质检技能",
"Id": "28240****15643"
},
"SchemeIdList": {
"SchemeIdList": [
0
]
},
"SchemeNameList": {
"SchemeNameList": [
"售前通用方案"
]
},
"ReviewHistoryList": {
"ReviewHistory": [
{
"Type": 1,
"OperatorName": "张三",
"TimeStr": "2019-10-28 15:21:00",
"Score": 95,
"ReviewResult": 1,
"ComplainResult": 1,
"OldScore": 90,
"ReviewManagerType": "[一个类别][二类别:第一类目,第一类目->下一集]",
"Time": 1722396376000,
"Comments": "车险理赔外呼16",
"ReviewRightRule": {
"ReviewRightRule": [
{
"ruleName": "问候语规则",
"rid": 21
}
]
},
"Operator": 83197
}
]
},
"ReviewTypeIdList": {
"ReviewTypeIdList": [
{
"ReviewKeyIdList": {
"ReviewKeyIdList": [
0
]
},
"ReviewTypeId": 1
}
]
},
"Vid": "6fa76916-3ce6-45d8-ac64-01b7f31***"
}
]
}
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-12-04 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-11-04 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-07-30 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-07-22 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-07-15 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-07-15 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2024-07-15 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-12-07 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-08-01 | API 内部配置变更,不影响调用 | 查看变更详情 |