语音管理
上传语音接口
由于有文件上传,请使用 form-data 方式进行调用
接口地址
POST http://m.icsoc.net/v2/wintelapi/sound/upload
接口参数
参数 | 说明 | 备注 |
---|---|---|
name | 语音名称 | 必须 |
remark | 备注 | 可选 |
sound | 语音文件,file 类型 | 必须 |
sound_type | 语音类型(1: 技能语音2: 满意度语音3: 白名单语音4: 按键语音5: 留言语音6: 其他) | 必须 |
结果编码说明
code | 说明 |
---|---|
401 | 企业代码为空 |
402 | 企业代码不存在 |
403 | 语音名称为空 |
404 | 语音格式错误 |
405 | 执行sox语音转换失败 |
406 | 语音转换失败 |
408 | 数据保存失败 |
409 | 没有上传语音 |
200 | ok |
结果示例
{"code":200,"message":"ok","path":"/var/sound/ccod/1/sound1_12.wav", "id": "110"}
结果字段说明
字段 说明 | |
---|---|
code | 数据返回代码 |
message | 数据返回信息 |
path | 上传语音地址 |
播放、下载语音接口
接口地址
GET http://m.icsoc.net/v2/wintelapi/sound/play
接口参数
参数 | 说明 | 备注 |
---|---|---|
sound_id | 语音ID | 必须 |
结果编码说明
code | 说明 |
---|---|
401 | 企业代码为空 |
402 | 企业代码不存在 |
403 | 文件不存在 |
结果示例
{"code": 403,"message": "文件不存在"}
删除语音接口
接口地址
GET http://m.icsoc.net/v2/wintelapi/sound/delete
接口参数
参数 | 说明 | 备注 |
---|---|---|
sound_id | 语音ID,示例:[1,3,43] | 必须 |
结果编码说明
code | 说明 |
---|---|
401 | 企业代码为空 |
402 | 企业代码不存在 |
405 | sound_id为空 |
500 | 总结果 |
结果示例
{
"code": 500,
"message": "总结果",
"data": [
{
"code": 403,
"message": "sound_id不是数字",
"sound_id": "12k"
}
]
}
获取语音列表数据接口
接口地址
POST http://m.icsoc.net/v2/wintelapi/sound/list
接口参数
参数 | 说明 | 备注 |
---|---|---|
info | 筛选条件,示例:{"filter":"keyword":"欢迎语","select_type":1} | 可选 |
结果编码说明
code | 说明 |
---|---|
401 | 企业代码为空 |
402 | 企业代码不存在 |
403 | info格式非json |
200 | ok |
结果示例
{
"code": 200,
"message": "ok",
"total": "3",
"data": [
{
"id": "175",
"name": "testsafdsaf",
"remark": "afdas",
"address": "\/var\/sounds\/2\/sound2_175.wav",
"sounds_address": "ccod\/2\/sound2_175.wav",
"add_time": "2015-12-04 11:33:19",
"sound_type": "1"
},
{
"id": "174",
"name": "testste",
"remark": "afdsafdsa",
"address": "\/var\/sounds\/2\/tmpsound2_173.wav",
"sounds_address": "ccod\/2\/tmpsound2_173.wav",
"add_time": "2015-12-04 11:32:52",
"sound_type": "1"
},
{
"id": "172",
"name": "test",
"remark": "aaaa",
"address": "\/var\/sounds\/2\/sound2_133.wav",
"sounds_address": "ccod\/2\/sound2_133.wav",
"add_time": "2015-12-04 10:36:51",
"sound_type": "1"
}
]
}
结果字段说明
字段 说明 | |
---|---|
id | 语音ID |
name | 语音名称 |
remark | 备注 |
address | 真实语音地址 |
sounds_address | 语音上传地址 |
add_time | 添加时间 |
sound_type | 语音类型 |
语音转换文字服务接口
接口地址
POST http://m.icsoc.net/v3/api/asr/speechRecognition
接口参数
参数 | 类型 | 说明 | 备注 |
---|---|---|---|
enableCallBack | Boolean | 是否开启回调 | 可选 |
callBackUrl | String | 回调地址 | 可选 |
speechFileUrl | String | 录音文件url | callId为空时必传,反之可选 |
callId | String | 呼叫Id | 录音文件url为空时,必传,反之可选 |
结果编码说明
code | 说明 |
---|---|
400 | 业务异常 |
401 | 权限验证异常 |
402 | 参数异常 |
500 | 系统异常 |
200 | ok |
正确结果示例
{"code":"200","taskId":"ASR-2000792-1285191","success":true}
错误结果示例
{
"code": "402",
"errorMsg": "rpc service createSpeechToTextRecord failure,params.callBackUrl is empty!"
}
结果字段说明
字段 | 说明 |
---|---|
code | 数据返回代码 |
success | 是否成功 |
taskId | 语音转换请求任务ID |
回调字段说明
示例:
{
"fileUrl": "http://icsoc-XXXXX.mp3",
"fileTxt": [
{
"beginTime": 0,
"channelId": 0,
"content": "喂,尊敬的踏踏用户您好,您家订购的踏踏产品已经安装完毕,想邀请您做个安装调研,请问您现在方便吗?",
"emotionValue": 5,
"endTime": 8520,
"index": 0,
"silenceDuration": 0,
"speechRate": 302
}
],
"taskId": "ASR-782-911"
}
字段 | 说明 |
---|---|
fileUrl | 数据返回代码 |
fileTxt | 识别结果,数组 |
taskId | 语音转换请求任务ID |
请求示例
curl -X POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
-d '{
"callId": 0,
"speechFileUrl": ""
}' 'http://m.icsoc.net/v3/api/asr/speechRecognition'
语音转换文字结果查询服务接口
note
语音转换结果保留30天
接口地址
GET http://m.icsoc.net/v3/api/asr/queryText/{taskId}
接口参数
参数 | 类型 | 说明 | 备注 |
---|---|---|---|
taskId | String | 任务id | 必选 |
结果编码说明
code | 说明 |
---|---|
400 | 业务异常 |
401 | 权限验证异常 |
402 | 参数异常 |
500 | 系统异常 |
200 | ok |
正确结果示例
{
"code": "200",
"result": {
"status": 30,
"cacheContentDTOList": [
{
"index": 0,
"content": "您好",
"beginTime": 610,
"endTime": 7190,
"channelId": 1,
"emotionValue": 5,
"speechRate": 328
},
{
"index": 1,
"content": "嗯",
"beginTime": 7220,
"endTime": 9290,
"channelId": 0,
"emotionValue": 5,
"silenceDuration": 0,
"speechRate": 260
},
{
"index": 2,
"content": "请问有什么需要帮助的吗",
"beginTime": 9320,
"endTime": 13780,
"channelId": 1,
"emotionValue": 5,
"silenceDuration": 0,
"speechRate": 242
}
]
},
"success": true
}
错误结果示例
{"code":"402","errorMsg":"未找到当前语音翻译任务,请确认!"}
错误结果示例
{"code":"400","errorMsg":"翻译中,请稍候..."}
result字段说明
字段 | 说明 |
---|---|
index | 语音转换请求任务ID |
channelId | 该词所属音轨ID |
content | 翻译文字内容 |
beginTime | 词开始时间,单位毫秒 |
endTime | 词结束时间,单位毫秒 |
emotionValue | 情绪值1-10,值越高情绪越强烈 |
silenceDuration | 本句与上一句之间的静音时长,单位为秒 |
speechRate | 本句的平均语速,单位为每分钟字数 |
请求示例
curl -X GET \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
'http://m.icsoc.net/v3/api/asr/queryText/ASR-2000792-1285191'
智能IVR接入机器人录音地址获取接口
GET http://m.icsoc.net/v2/wintelapi/record/robot/playrecord?call_id={callId}&index=1&result_type=1
接口参数
参数 | 类型 | 说明 | 备注 |
---|---|---|---|
callId | String | 唯一呼叫标识 | 必选 |
结果编码说明
code | 说明 |
---|---|
407 | 录音不存在 |
200 | ok |
正确结果示例
{
"code": 200,
"path": "https://records.icsoc.net/saas_ali/call/82/20210727/2000098/42/20210727202222-6825762044009013248-138020637-0--.mp3"
}
错误结果示例
{
"code": 407,
"message": "录音不存在"
}