全部产品
云市场

指定规则上传待检数据(语音)

更新时间:2019-05-22 18:22:07

接口说明

此API可以上传语音文件并以指定的规则进行分析,可以调用获取语音处理状态接口查看中间状态,调用获取结果接口查询分析结果。对于待检语音文件来说,调用此接口时,规则不可为空。

入参UploadAudioDataWithRulesRequest说明

属性 值类型 是否必须 说明
jsonStr String 完整Json字符串信息,具体内容参见以下详细信息

请求参数与Json字符串信息

属性 值类型 是否必须 说明
appKey String 阿里云账号uid, 长串数字
serviceChannel Integer 0、1,指定客服的声音轨道,此变量会被子对象覆盖
clientChannel Integer 0、1,指定客户的声音轨道,此变量会被子对象覆盖
sampleRate Integer 8、16,采样率,8k或16k,此变量会被子对象覆盖
callList List< QltyChkCallLine> 待检的语音集合
ruleIds List< String> 通用的分析规则,作用于所有给定的语音文件;若不指定,则会过用户名下所有规则(最多100个)
recognizeRoleDataSetId Long 用于指定分轨规则,管控台上操作的时候,会在数据集中指定分轨的规则,这里的id就是数据集的id;此变量会被子对象覆盖
callbackUrl String 回调Url,请保证公网可用,回调时,会在原Url后添加taskId=abc&timestamp=123&signature=def等内容用于鉴权判断
commonVocabId String 通用的自定义热词Id,如果Line上有自定义热词Id,会被Line上的Id覆盖
commonModelId String 模型Id

待检语音集合QltyChkCallLine对象:

属性 值类型 是否必须 说明
appKey String 业务方或者业务场景的标记
voiceFileUrl String 音频文件Url,可以在公网上访问。一般为OSS内文件地址
serviceChannel Integer 0、1,指定客服的声音轨道,如为空,会采用父对象对应值
clientChannel Integer 0、1,指定客户的声音轨道,如为空,会采用父对象对应值
sampleRate Integer 8、16,采样率,8k或16k,如为空,会采用父对象对应值,默认为8
hangupRole String 客户、客服,最后挂断电话的角色
callStartTime Long 对话开始的自然时间,取Long型
clientIdentity String 客户标识,默认为客户
serviceIdentity String 客服标识,默认为客服
autoSplit Integer 0、1,是否自动分轨,1为自动分轨,默认为不分轨
recognizeRoleDataSetId Long 用于指定分轨规则,管控台上操作的时候,会在数据集中指定分轨的规则,这里的id就是数据集的id
tid String 文件tid,用于业务方唯一标识一个语音文件。返回质检命中结果时,会包括此tid和规则id。
vocabId String 自定义热词Id
customerServiceId Long 客服Id
customerServiceName String 客服名称
skillGroupId Long 技能组Id
skillGroupName String 技能组名称
callType Integer 呼叫类型 1 呼出 3 呼入

调用示例

  1. UploadAudioDataWithRulesRequest uploadAudioDataRequest = new UploadAudioDataWithRulesRequest();
  2. uploadAudioDataRequest.setAcceptFormat(FormatType.JSON);
  3. Map<String, Object> map = Maps.newHashMap();
  4. map.put("appKey", ****);
  5. map.put("ruleIds", [3,4]);
  6. List<Map<String, Object>> callMapList = Lists.newArrayList();
  7. Map<String, Object> callMap = Maps.newHashMap();
  8. callMap.put("callStartTime", new Date().getTime());
  9. callMap.put("clientChannel", 0);
  10. callMap.put("sampleRate", 8);
  11. callMap.put("serviceChannel", 1);
  12. callMap.put("tid", ******);
  13. callMap.put("voiceFileUrl", ******);
  14. callMapList.add(callMap0);
  15. map.put("callList", callMapList);
  16. map.put("clientChannel", 1);
  17. map.put("sampleRate", 8);
  18. map.put("serviceChannel", 0);
  19. uploadAudioDataRequest.setJsonStr(JSON.toJSONString(map));
  20. UploadAudioDataWithRulesResponse response = client.getAcsResponse(uploadAudioDataRequest);

返回示例

  1. {
  2. "code": "200",
  3. "data": 76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12 ,
  4. "message": "successful",
  5. "requestId": "76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12",
  6. "success": true
  7. }