更新时间:2018-12-25 14:17
此API可以上传语音文件以分析,可以调用获取语音处理状态接口查看中间状态,调用获取结果接口查询分析结果。
属性 | 值类型 | 是否必须 | 说明 |
---|---|---|---|
jsonStr | String | 是 | 完整Json字符串信息,具体内容参见以下详细信息 |
属性 | 值类型 | 是否必须 | 说明 |
---|---|---|---|
appKey | String | 是 | 阿里云账号uid, 长串数字 |
serviceChannel | Integer | 否 | 0、1,指定客服的声音轨道,此变量会被子对象覆盖 |
clientChannel | Integer | 否 | 0、1,指定客户的声音轨道,此变量会被子对象覆盖 |
sampleRate | Integer | 否 | 8、16,采样率,8k或16k,此变量会被子对象覆盖 |
callList | List< QltyChkCallLine> | 是 | 待检的语音集合 |
recognizeRoleDataSetId | Long | 否 | 用于指定分轨规则,管控台上操作的时候,会在数据集中指定分轨的规则,这里的id就是数据集的id;此变量会被子对象覆盖 |
callbackUrl | String | 否 | 回调Url,请保证公网可用,回调时,会在原Url后添加taskId=abc×tamp=123&signature=def等内容用于鉴权判断;注意:如果要指定回调地址,请提工单申请,否则将忽略该参数 |
commonVocabId | String | 否 | 通用的自定义热词Id,如果Line上有自定义热词Id,会被Line上的Id覆盖 |
commonModelId | String | 否 | 模型Id |
asrOnly | Integer | 否 | 是否只识别ASR不进行质检,当是时commonModelId为ASR训练模型ID |
待检语音集合QltyChkCallLine对象:
属性 | 值类型 | 是否必须 | 说明 |
---|---|---|---|
appKey | String | 是 | 阿里云账号uid, 长串数字 |
voiceFileUrl | String | 是 | 音频文件Url,可以在公网上访问;注意:地址必须是域名,不支持ip |
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 呼入 |
callee | String | 否 | 被叫号码,呼出时指的是客户号码,呼入时指的是客服号码 |
caller | String | 否 | 主叫号码,呼出时指的是客服号码,呼入时指的是客户号码 |
callId | String | 否 | 通话id,可以是呼叫中心系统中的通话id,或者其他可以标识通话的id |
skillGroupId | Long | 否 | 技能组id |
skillGroupName | String | 否 | 技能组名称 |
bizDuration | Long | 否 | 通话时长 |
UploadAudioDataRequest uploadAudioDataRequest = new UploadAudioDataRequest();
uploadAudioDataRequest.setAcceptFormat(FormatType.JSON);
Map<String, Object> map = Maps.newHashMap();
map.put("appKey", "**********");
List<Map<String, Object>> callMapList = Lists.newArrayList();
Map<String, Object> callMap = Maps.newHashMap();
callMap.put("callStartTime", new Date().getTime());
callMap.put("clientChannel", 1);
callMap.put("sampleRate", 8);
callMap.put("serviceChannel", 0);
callMap.put("tid", Utils.getUUID());
callMap.put("voiceFileUrl", "**********");
callMap.put("callType", 3);
callMap.put("bizDuration", 60);
callMap.put("callee", "138****1928");
callMap.put("caller", "177****1948");
callMap.put("callStartTime", "1543547005000");
callMap.put("callId", "10001");
callMap.put("skillGroupId", "1128");
callMap.put("skillGroupName", "呼出组");
callMap.put("customerServiceId", "12");
callMap.put("customerServiceName", "张三");
callMapList.add(callMap);
map.put("callList", callMapList);
map.put("clientChannel", 0);
map.put("sampleRate", 8);
map.put("serviceChannel", 1);
uploadAudioDataRequest.setJsonStr(JSON.toJSONString(map));
UploadAudioDataResponse response = client.getAcsResponse(uploadAudioDataRequest);
{
"code": "200",
"data": “76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12” ,
"message": "successful",
"requestId": "76DB5D8C-5BD9-42A7-B527-5AF3A5F83F12",
"success": true
}
String strUrl = "taskId=abc×tamp=123";//时间戳到毫秒
String source = strUrl + "&aliUid=456";
String signature = md5Base64(source.toString());//md5后base64编码下
strUrl = strUrl + "&signature=" + signature;
在文档使用中是否遇到以下问题
更多建议
匿名提交