创建语音模板
创建语音模板接口说明
该接口用于创建项目对应的语音模板
接口地址
POST http://dms.icsoc.net/api/v3/ivr/create
传递参数方式
由于涉及到语音文件的上传,所以该接口采用multipart/form-data的方式上传
接口参数
1. proId
项目ID2. vccId
企业ID,系统生成,一个企业ID下可以创建指定个数的项目,创建项目接口中需要此参数3. templateInfo
语音模板信息,包含如下字段:
*
welcomeSound
:
type
:类型(file:语音文件(WAV 8000hz 16bit mono)、tts:TTS合成、digit纯数字,纯数字采用系统放音的方式,不采用tts合成的方式)
param
:若type=file则该字段为语音文件的名称(语音文件通过 multipart/form-data 方式上传),若type=tts或者digit则该字段为变量的名称
options
:额外的选项,主要控制TTS合成时的属性,选项如下:
digit
:数字的播放方式(0自动方式,即根据上下文自动选择电报方式或数目方式播放,如果无法判断,则使用数目方式、1电报方式即逐个数字进行播放。例如:1997读成“一九九七”、2数目方式,即连续的数字播放。例如:1997读成“一千九百九十七”、3自动方式,即根据上下文自动选择电报方式或数目方式播放,如果无法判断,则使用电报方式)默认为0。如果是数字,需设置该值volume
:音量,按照0~9分为10级,缺省值为5。数字越大音量越大speed
:语速,按照0~9分为10级,缺省值为5。数字越大语速越快pauseMode
:停顿模式(0为开头位置停顿、1为结束位置停顿)pause
:停顿的时长,单位为ms,最大为10scache
:缓存该tts语音,该选项用于用于重复语音的情况,例如省市等信息就可以缓存起来不需要每次都合成,但像姓名、手机号码等不重复则不需要设置缓存
sounds
: 播放的语音,该字段为数组格式,多个语音连续播放,每个语音的格式同welcomeSound
playTimes
:播放次数errorType
: 1播放sounds中的指定语音,2播放errorSounds中的语音errorSoundIndexs
:errorType
为1时指定的sounds
的语音索引(和replayIndex
规则一样)格式:[1,3,5]replayIndex
:重播语音时的位置索引(0表示从welcomeSound
开始播放、>=1表示从sounds
中的索引位置开始播放,索引从1开始,例如replayIndex
=3,表示从sounds
中的第3条语音开始重播语音)ifNeedKeys
:是否需要收键(0不需要、1需要)keys
:具体的按键,主要设置对应的按键后播放的语音(此字段在不需要收键时无须设置),格式为- {
"具体按键1":[播放的语音列表,格式同sounds], "具体按键2":[播放的语音列表,格式同sounds], "具体按键3":......,
}
- {
errorSounds
:播放错误语音和sounds格式一样
- 4. 语音文件
需要上传的语音文件
语音必须为WAV格式,且格式要求为8000hz 16bit mono,否则将无法播放
返回结果说明
code | 说明 |
---|---|
200 | ok |
401 | 企业ID不存在 |
402 | 语音模板内容为空 |
403 | 语音模板JSON格式错误 |
406 | 项目ID不存在 |
407 | 上传文件失败 |
408 | 上传文件格式不正确 |
409 | 该项目ivr已存在 |
410 | 语音文件已存在 |
411 | proId与vccId不匹配 |
-1 | 操作失败 |
请求参数示例
使用multipart/form-data的方式传递参数
proId=1 vccId=1 templateInfo=
{
"welcomeSound": {
"type": "file",
"param": "0_Result.wav",
"options": []
},
"sounds": [
{
"type": "file",
"param": "1_Result.wav",
"options": []
},
{
"type": "tts",
"param": "customer_name",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "file",
"param": "2_Result.wav",
"options": []
},
{
"type": "tts",
"param": "date",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "file",
"param": "3_Result.wav",
"options": []
},
{
"type": "tts",
"param": "room_number",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "file",
"param": "4_Result.wav",
"options": []
},
{
"type": "tts",
"param": "room_type",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "tts",
"param": "stay_time",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "file",
"param": "5_Result.wav",
"options": []
},
{
"type": "tts",
"param": "cellphone_number",
"options": {
"speed": 0,
"volume": 9
}
},
{
"type": "file",
"param": "6_Result.wav",
"options": []
}
],
"playTimes": 3,
"replayIndex": 0,
"ifNeedKeys": 1,
"keys": {
"1": [
{
"type": "file",
"param": "2-1_Result.wav",
"options": []
}
],
"9": [
{
"type": "file",
"param": "2-2_Result.wav",
"options": []
}
]
}
}
其中使用到的文件名称为客户端上传的原始名称,文件使用
multipart/form-data
的方式上传