对话转接后请求(inaction=11)
接入方执行完对话转接操作后,将当前操作的结果作为入参,继续请求ODFS下一次的操作,以下是请求参数结构。
inparams 参数
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
call_id |
String |
body |
True |
呼叫唯一标志,与userid 取值相同,给流程使用。 不超过64位 |
call_dst_id |
String |
body |
True |
接入标识 1、语音导航场景传入流程接入码; 2、语音外呼问卷场景时为流程接入码; 3、其他交互场景时传入接入标识。 不超过20位 |
begin_trans |
String |
body |
True |
转移开始时间。 |
end_trans |
String |
body |
True |
转移结束时间。 |
trans_result |
String |
body |
True |
转移结果。
|
auth_token |
String |
body |
True |
授权信息,取接入控制系统返回的token值。 请参见C3 智能助手平台接口鉴权方式。 |
record_result |
String |
body |
False |
录音结果(仅当转接第三方号码成功时生效)
|
input |
String |
body |
False |
交互结果,(此参数请参考以下场景) 当转移成功后,接入方的请求参数需要传入trans_result=0的参数,不需要input;此后接入方收到ODFS的拆线(outaction=10)的响应,需接入方再次发送此请求,且请求参数需要包含input参数,取值为hangup。
不超过1024位 |
inter_idx |
String |
body |
False(语音导航场景特有字段) |
交互次数,直接取上一次ODFS返回的inter_idx值即可。 |
mediaType |
String |
body |
False |
媒体类型(文本、音频、视频... 例如:audio,video...) |
call_media_type |
String |
body |
False |
呼入ivr的呼叫类型,文本:0 音频:1视频:3 |
channelType |
String |
body |
False |
渠道类型
|
ExtParams参数
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
transin_data |
String |
body |
False |
由接入方跟OIAP约定的随路数据参数,例如IVR传入的数据包参数 |
请求消息样例
- 如果呼叫转移成功,接入方先发起如下请求。
{ "userid": "1528780879-9581", "inaction": 11, "inparams": { "call_id": "1528780879-9581", "call_dst_id": "10086", "begin_trans": "2018090407:16:24", "end_trans": "2018090407:20:24", "trans_result":"0", "input": "", "inter_idx": "1" }, "extparams": { "transin_data":"95,22714,0,,1,1,,test_gdj_01005" } }
在收到ODFS的响应后,则再次发起如下请求。
{ "userid": "1528780879-9581", "inaction": 11, "inparams": { "call_id": "1528780879-9581", "call_dst_id": "10086", "begin_trans": "2018090407:16:24", "end_trans": "2018090407:20:24", "trans_result":"0", "input": "hangup", "inter_idx": "1" }, "extparams": { "transin_data":"95,22714,0,,1,1,,test_gdj_01005" } }
收到请求后,ODFS侧则再次返回拆线响应,接入方侧不需再调用ODFS侧接口,整个呼叫转移动作完成。
ODFS接收到inaction为8/9/11的请求后,根据TUC的配置,都可能返回几种不同的响应,即outaction=9/10/11/12,以下分别描述:
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
prompt_type |
String |
body |
True |
交互类型。
|
prompt_wav |
String |
body |
False(语音导航场景特有字段) |
当prompt_type=0,4,5 时填播放或录音的文件全路径名(必须保证为UAP可读取的路径); 当prompt_type=1 时填语音文件名(不包含路径头,播放时由IVR拼接路径头) |
prompt_text |
String |
body |
True |
TTS动态文本内容/文字对话内容, 当prompt_type为2、3、6、7时必填 |
language |
String |
body |
True |
语种id(TTS放音以及ASR识别必须传) 0:中文 1:英文 |
inter_idx |
String |
body |
False(语音导航场景特有字段) |
ODFS侧记录的与用户连续交互的次数。 |
model_type |
String |
body |
False(语音导航场景特有字段) |
模板类型,由7位数字组成,前三位分别代表放音\识别\按键的支持情况:
|
timeout |
String |
body |
False(语音导航场景特有字段) |
放音超时时长(秒),放音结束后等待输入超时时间。 |
tone |
String |
body |
False(语音导航场景特有字段) |
当prompt_type=4 录音时必传 true:录音开始前播放“嘀”音 false:录音开始前不播放“嘀”音 |
vendor |
String |
body |
False(语音导航场景特有字段) |
语音识别扩展参数 |
grammar |
String |
body |
False(语音导航场景特有字段) |
语法文件名(包含路径和后缀) |
question_id |
String |
body |
False(语音外呼问卷场景特有字段) |
问题序号(外呼场景使用),如Q1,Q2;(废弃) |
question_name |
String |
body |
False(语音外呼问卷场景特有字段) |
问题名称(外呼场景使用) (废弃) |
answer_id |
String |
body |
False(语音外呼问卷场景特有字段) |
问题答案(外呼场景使用),
如问题设定非“是”“否”这种答案,则需要以实际约定配置的结果为准 (废弃) |
flowRecordFlag |
String |
body |
False |
是否需要录音标志。 |
flowRecordPath |
String |
body |
False |
需要录音时返回录音文件的路径。 |
ttsGroupId |
String |
body |
False |
TTS服务器在Uap上配置的GroupId |
ttsSoundEffect |
String |
body |
False |
TTS声效 男生朗读:0 女生朗读:1; |
ttsSoundSpeed |
String |
body |
False |
TTS音速: 低速朗读:0; 中速朗读:1; 高速朗读:8 |
ttsMRCPVendor |
String |
body |
False |
TTS扩展参数,即它的mrcp vendor参数,当前最大长度40 |
asrMRCPId |
String |
body |
False |
ASR服务器在Uap上配置的MRCPId |
asrSlotName |
String |
body |
False |
解析ASR识别槽位使用的关键字 |
asrRecognizeType |
String |
body |
False |
ASR识别类型 普通识别:0; 智能识别:1 |
asrNoInputTimeout |
String |
body |
False |
用户无话超时时长,默认100,单位s |
asrRecognitionTimeout |
String |
body |
False |
识别结果超时时长,默认200,单位s |
asrSpeechCompleteTimeout |
String |
body |
False |
用户停顿超时长,默认500,单位s |
responseSource |
int |
body |
False |
回复来自机器人还是静默座席,机器人--0,静默座席--1 |
specialRecognize |
int |
body |
False |
是否使用抓包录制的识别 原始识别--0,抓包录制识别--1 |
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
Value描述 |
来源 |
---|---|---|---|---|---|
sensitive_word |
Json Object |
body |
False |
敏感词的提醒信息 {"违禁语":["密码"]} |
TUC敏感词配置 |
Intend |
String |
body |
True |
客户意图 说明文本 |
TUC意图 |
recomand_KP |
List |
body |
False |
推荐知识点信息 |
业务知识库 |
call_script |
Json String |
body |
True |
话术推荐 说明: intentcode是TUC意图码,允许为空;intentDsp是意图描述,不能为空 { {intentcode:“”, intentDsp:“”,"status":"",childintent[{intentcode:“”, intentDsp:“”,"status":""},{intentcode:“”, intentDsp:“”, "status":""}…]} { intentcode:“”, intentDsp:“”, "status":""} } |
ODFS资源模板配置 |
call_script_matchedstep |
String |
body |
False |
意图码 对应上述call_script中的意图码 表示话术进展(被匹配的步骤) |
TUC意图 |
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
使用方法 |
---|---|---|---|---|---|
beginIndex |
String |
body |
True |
实体在文本中的开始索引位置 |
实体在文本中的开始索引位置 |
endIndex |
String |
body |
True |
实体在文本中的结束索引位置 |
实体在文本中的结束索引位置 |
type |
String |
body |
True |
抽取的实体类型 |
用于标注此实体的识别类型,不需要填入表单 |
entity |
String |
body |
True |
实体内容,已做规则化 |
用于填入表单对应字段 |
tag |
String |
body |
True |
表单中待填写的字段名 |
如:对象二级 |
响应消息样例1
{ "userid": "1528780879-9581", "outaction": 9, "outparams": { "call_id": "1528780879-9581", "prompt_type": "1", "prompt_wav": "welcome", "prompt_text": "查询话费", "language": "0", "inter_idx": "1", "model_type":"1011201" "timeout": "10", "tone": "", "grammar": "", "question_id": "Q1", "question_name": "问题1", "answer_id": "Y" } }
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
call_id |
String |
body |
True |
呼叫唯一标志,与userid 取值相同,给流程使用。 |
prompt_type |
String |
body |
True |
查询类型。
|
skill_id |
String |
String |
False |
技能队列Id。 prompt_type为2的场景,必填;其他场景无该参数。 |
moduleName |
String |
body |
False |
模块名称,图元的名称 |
inter_idx |
String |
body |
False(语音导航场景特有字段) |
ODFS侧记录的与用户连续交互的次数。 |
响应消息样例
{ "outaction": 12, "outparams": { "call_id": "1528780879-9581", "prompt_type": "1", "inter_idx": "1", "moduleName":"查询", "xxx":"xxx" //扩展 } }
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
call_id |
String |
body |
True |
呼叫唯一标志,与userid 取值相同,给流程使用。 |
call_sor_id |
String |
body |
True |
用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) |
trans_type |
String |
body |
True |
对话转移类型
|
route_value |
String |
body |
True |
路由值信息,依赖trans_type取值,当trans_type= 如下值时: 1,route_value=技能队列后续接入码 2,route_value=IVR流程接入码 3,route_value=技能队列名称 4,route_value=座席工号 5,route_value=第三方号码 6,流程路由码 7,无 8,座席工号 31,无 32,技能队列名称或者接入码 33,座席工号 |
trans_data |
String |
body |
False |
随路数据(转人工时传递) |
calling_num |
String |
body |
False |
呼叫转移第三方号码时,优先使用此号码作为主叫号码 |
record_path |
String |
body |
False |
录音全路径名(仅当route_value=第三方号码时生效,启动会场录音,当为空或不存在时则不录音) |
inter_idx |
String |
body |
False(语音导航场景特有字段) |
ODFS侧记录的与用户连续交互的次数。 |
trans_idx |
String |
body |
O(语音导航场景特有字段) |
跳转序数。 |
question_id |
String |
body |
False(语音外呼问卷场景特有字段) |
问题id(外呼场景使用)(废弃) |
question_name |
String |
body |
False(语音外呼问卷场景特有字段) |
问题名称(外呼场景使用)(废弃) |
answer_id |
String |
body |
False(语音外呼问卷场景特有字段) |
问题答案(外呼场景使用)(废弃) |
响应消息样例2
{ "userid": "1528780879-9581", "outaction": 11, "outparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "calling_num":"1234567890", "trans_type": "1", "route_value": "123456789", "inter_idx": "1", "trans_idx": "1", "question_id": "Q1", "question_name": "问题1", "answer_id": "Y" } }
参数名称 |
数据类型 |
参数位置 |
必选/可选 |
描述 |
---|---|---|---|---|
call_id |
String |
body |
True |
呼叫唯一标志,与userid 取值相同,给流程使用。 |
call_sor_id |
String |
body |
True |
用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) |
call_dst_id |
String |
body |
True |
接入标识 (1、语音导航场景传入被叫号码; 2、语音外呼问卷场景时为问卷类型id; 3、其他交互场景时传入接入标识)。 |
start_time |
String |
body |
True |
对话交互开始时间 |
end_time |
String |
body |
True |
对话交互结束时间。 |
release_reason |
String |
body |
O |
odfs流程走到结束图元是否是正常流程逻辑 0、正常业务逻辑进入结束图元; 1、流程遇到异常、超时等没有容错业务逻辑处理时走到结束图元。 |
region_id |
String |
body |
O(语音导航场景特有字段) |
用户归属地。 |
entrance_id |
String |
body |
O(语音导航场景特有字段) |
入口维度。 |
exit_id |
String |
body |
O(语音导航场景特有字段) |
出口维度,取值同入口维度。 |
user_type_id |
String |
body |
False(语音导航场景特有字段) |
用户类型。 |
suilu_region_id |
String |
body |
False(语音导航场景特有字段) |
呼叫接入地。 |
一通会话结束,都要以IVR发起inaction=9/11且input=hangup的请求后,ODFS触发拆线响应,返回给IVR后为结束标记,IVR此后不再调用ODFS的接口。
响应消息样例3
{ "userid": "1528780879-9581", "outaction": 10, "outparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "call_dst_id": "10086", "start_time": "2018090407:16:24", "end_time": "2018090407:30:24", "release_reason": "0", "region_id": "025", "entrance_id": "03", "exit_id": "05", "user_type_id": "01", "suilu_region_id":"025" } }