华为云用户手册

  • 请求消息样例 如果呼叫转移成功,接入方先发起如下请求。 { "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返回 outaction=9/10/11 类型的返回(由业务逻辑决定)
  • outparams参数(outaction=9:对话交互类操作) 参数名称 数据类型 参数位置 必选/可选 描述 prompt_type String body True 交互类型。 0:语音交互播放指定提示音(全路径) 1:语音交互播放指定提示 2:语音交互播放TTS内容 3:文字交互 4:对呼叫方录音 5:视频播放 6:多媒体 7:卡片 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位数字组成,前三位分别代表放音\识别\按键的支持情况(1支持,0不支持);紧接着两位代表最大按键长度,,后两位是*#是否做为功能键(1功能键-#代表确定,*代表取消,0不作为功能键-普通输入键)。 如:1011201代表支持放音按键,不支持识别,最大按键长度为12位,#为确认键。 1101200 代表支持放音识别,不支持按键,后面四位1200无效。 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(语音外呼问卷场景特有字段) 问题答案(外呼场景使用), 是:Y; 否:N; 超时:TIMEOUT; 拒识:NOMATCH; 其他异常:ERROR 如问题设定非“是”“否”这种答案,则需要以实际约定配置的结果为准 (废弃) flowRecordFlag String body False 是否需要录音标志。 0:需要 1:不需要 不设置的场景,默认为1 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; 高速朗读:2 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 Prompt_text格式说明【for 智能信息匹配业务】 参数名称 数据类型 参数位置 必选/可选 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意图 Prompt_text格式说明【for 智能工单填写业务】 参数名称 数据类型 参数位置 必选/可选 描述 使用方法 beginIndex String body True 实体在文本中的开始索引位置 实体在文本中的开始索引位置 endIndex String body True 实体在文本中的结束索引位置 实体在文本中的结束索引位置 type String body True 抽取的实体类型 用于标注此实体的识别类型,不需要填入表单 entity String body True 实体内容,已做规则化 用于填入表单对应字段 tag String body True 表单中待填写的字段名 如:对象二级
  • inparams 参数 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body False 呼叫唯一标志,与userid 取值相同,给流程使用。 不超过64位 call_sor_id String body False 用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) 不超过64位 call_dst_id String body True 接入标识 1、语音导航场景传入流程接入码; 2、语音外呼问卷场景时为流程接入码; 3、其他交互场景时传入接入标识。 不超过20位 real_callee String body False 实际接入IVR时的被叫号码,当语音导航场景下有效 不超过32位 cti_callid String body False(语音导航场景特有字段) 华为ivr传入的实际呼叫的CTI的callid,其他场景此值为空 不超过32位 auth_token String body True 授权信息,取接入控制系统返回的token值。
  • 请求消息样例 { "userid": "1528780879-9581", "inaction": 7, "inparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "call_dst_id": "10086", "auth_token":"eyJhbG*******************UzNSwian" }}
  • 请求消息样例 { "userid": "1528780879-9581", "inaction": 13, "inparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "call_dst_id": "10086", "auth_token":"eyJhbG*******************jUzNSwian" }} ODFS接收到inaction为13的请求后,检索该呼叫从宇高上报识别结果队列是否有数据,如果有数据,就给IVR返回1,否则返回0:
  • inparams 参数 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body False 呼叫唯一标志,与userid 取值相同,给流程使用。 不超过64位 call_sor_id String body False 用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) 不超过64位 call_dst_id String body True 接入标识 1、语音导航场景传入流程接入码; 2、语音外呼问卷场景时为流程接入码; 3、其他交互场景时传入接入标识。 不超过20位 real_callee String body False 实际接入IVR时的被叫号码,当语音导航场景下有效 不超过32位 cti_callid String body False(语音导航场景特有字段) 华为ivr传入的实际呼叫的CTI的callid,其他场景此值为空 不超过32位 auth_token String body True 授权信息,取接入控制系统返回的token值。
  • 报文样例 请求消息样例 { "tenantId": "tenant001", "authToken": "0dbe11892be840cf983453ea70b505de", "userMobile": "180****9999" } 响应消息样例 { "errorCode": 0, "errorMsg": "Success", "total": 1, "recordList": [ { "logId": "7343-4256-a659-c7fe7682ef03", "tenantId": "xxxxxx", "callSorId": "10086", "callId": "16185589414826353c2c0036c0292e43ca7a4", "ctiCallId": null, "callingNumber": "10086", "calledNumber": "899149138753490944", "startTime": 1618558942000, "endTime": 1618559267000, "lastUpdateTime": 1618559267000, "flowInstId": "1234567892021041615422158916185589414826353c2c0036c0292e43ca7a4", "businessInfo": null, "businessInfoStr": "{\"yugaoFileName\":\"null\",\"locationId\":\"0\",\"recordFileName\":\"Y:/135/odfsrecord/20220720/1658313131-85918321361224.wav\"}", "recordDetials": [ { "interNo": "1", "userSaying": "我有多少话费", "intention": "话费查询", "systemReply": "您好,您当月累计消费100元,话费余额100元", "timestamp": 1618558954000, "requsetTime": 1618558954000, "responseSource": 0, "involveMode": 0 } ], "qaRecords": [ { "interNo": "1", "seriesId": "100", "questionTitle": "是否做过核酸", "questionType": "2", "answerIntent": "是", "originalAnswer": "做过", "createTime": 1650774697000 } ] } ]}
  • 请求说明 表1 请求体参数 参数名称 数据类型 参数位置 必选/可选 描述 tenantId String body True 租户ID authToken String body True Token,来源于接口 https://IP:PORT/oifde/rest/api/gettoken beginTime String body False 开始时间 格式: yyyy-MM-dd HH:mm:ss endTime String body False 结束时间 格式: yyyy-MM-dd HH:mm:ss pageNum String body False 页码 分页查询,查询第几页,首页为1 不传,默认页码为1 pageSize String body False 每页多少条 可配置:5,10,20,50,100 不传,默认一页100条 callId String body False callId(userMobile、callId和ctiCallId需要传其中一个) userMobile String body False 用户号码(userMobile、callId和ctiCallId需要传其中一个) ctiCallId String body False ctiCallId (userMobile、callId和ctiCallId需要传其中一个)
  • 报文样例 请求消息样例 { "tenantId":"123456", "params":{ "userMobile": "180****9999" }, "authToken":"n******************************"} 响应消息样例 { "rtnCode": 0,//接口成功失败标识 "rtnMsg": "成功",//接口成功失败描述 "beans": [{ "interNo":"1", //序号 "userSaying":"我有多少话费", //语音转写结果 "intention":"查询话费", //用户意图 "systemReply":"您好,您当月累计消费100元,话费余额100元", //系统回复 "type":"TTS", //回复类型 "timestamp":"2019-04-25 17:42:10.0", //系统回复时间 "responseSource":"0" //机器人回复 }], "object": null, "bean": null, "callId": "xytest02131110", "callSorId": "18019919999"}
  • 请求说明 表1 请求体参数 参数名称 数据类型 参数位置 必选/可选 描述 tenantId String body True 租户ID language String body True 语言 en_US:英文 zh_CN:中文 pt_BR:葡萄牙语 th_TH:泰语 pageNum int body True 页码 分页查询,查询第几页,首页为1 pageSize int body True 每页多少条 支持每页 5、10、20、50、100条 domainInfo DomainInfo body 配置项oifde.slient.use = ipcc 时True,反之False 领域信息 authToken String body True 认证token。 请参见C3 智能助手平台接口鉴权方式。 表2 DomainInfo 参数名称 数据类型 参数位置 必选/可选 描述 domainName String body False 领域名称 domainId int body True 领域ID language String body False 语言 tenantId String body False 租户ID
  • 报文样例 请求消息样例 { "tenantId":"202104237142", "language":"zh_CN", "pageNum":1, "pageSize":20, "authToken": "t*********************", "domainInfo":{ "domainName":"机器人", "domainId": "10149" }} 响应消息样例 { "errorMsg": "", "errorCode": 0, "intentions": [ { "intentName": "移车地址", "intentDesc": " ", "intentCmd": "移车地址" }, { "intentName": "社保业务", "intentDesc": " ", "intentCmd": "社保业务" }, { "intentName": "移车业务", "intentDesc": "移车业务", "intentCmd": "移车" }, { "intentName": "公积金问题", "intentDesc": " ", "intentCmd": "公积金问题" }, { "intentName": "是否", "intentDesc": " ", "intentCmd": "是否" }, { "intentName": "公积金业务", "intentDesc": " ", "intentCmd": "公积金" } ], "total": 6}
  • 响应说明 参数名称 数据类型 参数位置 必选/可选 描述 hasMistake boolean body True 是否存在错别字: true 表示输入句子中存在错别字 false表示输入句子中不存在错别字 spellCheckerMatchList SpellCheckerMatch[] body True 纠错结果 表2 SpellCheckerMatch 参数名称 数据类型 参数位置 必选/可选 描述 word String spellCheckerMatchList True 原始输入中的字 startIndex int spellCheckerMatchList True word在句子中开始索引 endIndex int spellCheckerMatchList True word在句子中结束索引 hasMistake boolean spellCheckerMatchList True 该word是否为错别字 correctWord String spellCheckerMatchList True 若word为错别字,则为纠正后的字
  • 报文样例 请求消息样例 { "tenantId": "ipcc", "authToken": "0**************************", "sentence": "请座", "language": "zh_CN", "checkerType": "nonWordSpellChecker"} 响应消息样例 { "hasMistake": false, "spellCheckerMatchList": [ { "word": "请", "startIndex": 0, "endIndex": 1, "hasMistake": false, "correctWord": "请" }, { "word": "座", "startIndex": 1, "endIndex": 2, "hasMistake": true, "correctWord": "坐" } ]}
  • 请求说明 表1 请求体参数 参数名称 数据类型 参数位置 必选/可选 描述 tenantId String body True 租户ID,默认为ipcc用户,即同获取token时,约定好的ipcc用户。 authToken String body True Token token失效后,需重新调用获取token接口。 请参见C3 智能助手平台接口鉴权方式。 sentence String body True 输入文本,长度限制4096位 language String body True 传入语言参数: zh_CN:中文 en_US:英文 传入语言参数类型要求与输入文本类型匹配。 【限制】中英文可正常纠错,其他语种文本不做纠错直接返回。再返回的对象中的“是否存在错别字”字段设置为false,即不存在纠错的情况 checkerType String body True 校验类型: 错字纠错: nonWordSpellChecker 别字纠错: realWordSpellChecker 中文仅存在别字纠错。 英文推荐使用错字纠错
  • 场景描述 给第三方接入方调用,实现拼写检查能力。 当用户输入要查询的问题时,如果输入的句子中存在错别字(中文是同音错字,英文是拼写错误),系统能够具有对这些错误进行纠错的能力。 对接Customer Service Platform系统时,采取Headers头部的userName+token组合鉴权方式,其中userName为ipcc,token获取方式参见C3 智能助手平台接口鉴权方式。 对接其他第三方系统,采取请求体的authToken鉴权方式。
  • 报文样例 请求消息样例 { "serviceToken":"160*******************bbb489426", "subCCID":"10001", "taskID":"node_action_97511fbc15d9b23074405ee736187a82c529", "respType":"StartSpeech", "sentence":{ "st":1 "et":2 "isFinal":true "text":"sdffasdfaedfasdfasdfsad" "confidence":0 } } 响应消息样例 { "retCode" : "0", "retMsg":"asr recognize success" }
  • 请求说明 表1 请求体参数 参数名称 数据类型 参数位置 必选/可选 描述 serviceToken String body True 鉴权token,OIAP调用宇高请求识别接口(transfertoasr)携带的serviceToken字段 subCCID String body False 呼叫中心编号 taskID String body True capturesession时使用的ID 对话开启抓包录制请求(inaction=7)中使用的呼叫唯一标志,与userid 、call_id取值相同,给流程使用。 说明: capturesession的含义请参见对应音视频录制服务器配套提供的接口参考。 respType String body True NormalResult:正常结束 StartSpeech:用户开始说话 默认为StartSpeech sentence Json Object body True 转写结果信息 analysis Json Object body False 对象质检分析信息 speakerID String body False 通话者标识,人工通话时使用 0 客户 1 座席 2 其它 缺省为0 表2 sentence参数说明 参数 数据类型 参数位置 必选/可选 描述 st int body True 一句的起始时间戳,单位ms et int body True 一句的结束时间戳,单位ms isFinal boolean body True true表示是最终结果,false表示是中间临时结果 text String body True 识别结果文本,使用 text = URLEncoder.encode(text,"UTF-8"); confidence float body True 识别结果的置信度0~1,中间结果统一为0 表3 analysis参数说明 参数 数据类型 参数位置 必选/可选 描述 emotions emotion[] body False 情绪信息数组,如果 checkEmotion 为 false 或者没有检测到情绪信息时,没有此字段 说明: checkEmotion的含义请参见对应音视频录制服务器配套提供的接口参考。 avgVol int body False 平均音量,如果 outputVolume 为 false, 则无此字段 说明: outputVolume的含义请参见对应音视频录制服务器配套提供的接口参考。 maxVol int body False 最大音量,如果 outputVolume 为 false, 则无此字段 speed int body False 语速,如果 outputSpeed 为 false, 则无此字段 说明: outputSpeed的含义请参见对应音视频录制服务器配套提供的接口参考。 表4 emotion参数说明 参数 数据类型 参数位置 必选/可选 描述 st int body True 音频开始时间,单位ms et int body True 音频结束时间,单位ms c float body True 置信度,范围[0.0, 1.0] e String body False 情绪, HAPPY, ANGRY, SAD, DISGUSTED 之一(不同ASR厂家可能不同)
  • 报文样例 请求样例 {"account":"odfs","nonce":"*******", // 服务端提供的原始随机文本"checksum":"0dbe11*******************0b505de" // 客户端根据nonce值及本地密钥使用HmacSHA256加密算法加密处理后的文本} 响应样例 {"token":"2**************************d","duration":3600}
  • 响应参数 名称 是否必选 参数类型 长度 说明 token False String 128 认证成功必须返回,业务请求接口需要的token duration False int 4 认证成功必须返回,token有效期(秒) error False String 512 认证失败时返回错误信息,同时状态码返回401。 nonce False String 128 认证失败时返回,服务端随机生成的字符串。
  • 常用错误码 表1 常用错误码参考表 错误码 描述 900001 无Token信息,或Token已过期。 900002 检查Token信息失败。 10000001 内部错误,通常因为应用系统故障引起。 10000002 参数错误。通常由于请求中未提供全部必填字段的值。 10000006 接口入参重复 10000007 接口出参重复 10000008 接口头参数重复 10000003 参数不存在,必须输入该参数 10000004 参数已经在系统中存在,不能重复使用 20000001 处于发布状态不能修改 20000002 流程名已经存在 20000003 删除节点错误,节点被别的流程引用 20000004 删除变量错误,变量被流程或者模板引用 20000005 修改变量错误,原变量被流程或者模板引用 20000006 文件路径不存在 20000007 IOException 读取文件流错误 20000008 更新数据错误 200900002 内部错误,通常因为应用系统故障引起 200900003 参数错误。通常由于请求中未提供全部必填字段的值 200800001 密钥不存在 200800002 密钥错误 200800003 锁账号
  • 典型交互序列 第一步 获取token 首先确认是系统粒度(内部系统如CEC或CSP)对接还是租户粒度(第三方系统)对接。 第三方系统在与智能助手平台系统对接,需要使用租户id来获取token(C3 智能助手平台接口鉴权方式),在token有效期内完成调用操作,而且后续每一次接口调用都需要传入获取的token。 内部系统(CEC或CSP)与OIAP对接,需要使用默认系统对接约定的默认用户来获取token(C3 智能助手平台接口鉴权方式),在token有效期内完成调用操作,而且后续每一次接口调用都需要传入获取的token。 第二步 建立与智能助手平台系统的绑定关系 在获取token后,第三方需通过传入特定租户和语言信息查询号航系统对应已激活的领域(领域查询接口),并绑定第三方的接入标识与领域的绑定(对话标识绑定查询接口)。 第三步 完成对话交互 在将接入标识与智能助手平台系统的领域完成绑定后,就可以通过调用智能助手平台的各种对话接口来实现对话交互了(对话接口),比如初始化,放音,转接,挂机等。
  • 响应消息样例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" }}
  • outparams参数(outaction=11:对话转接类操作) 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body True 呼叫唯一标志,与userid 取值相同,给流程使用。 call_sor_id String body True 用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) trans_type String body True 对话转移类型 1:转人工(路由码方式转技能队列) 2:转IVR 3:转人工(技能名称方式转技能队列) 4:转人工(转座席工号) 5:转接第三方号码 6:在线数字辅助 7:转人工(转熟客,目前仅支持多媒体) 8:转人工(转座席所在技能队列,目前仅支持多媒体) 31:转多媒体留言(转熟客) 32:转多媒体留言(转技能队列) 33:转多媒体留言(转座席) 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 O 呼叫转移第三方号码时,优先使用此号码作为主叫号码 record_path String body O 录音全路径名(仅当route_value=第三方号码时生效,启动会场录音,当为空或不存在时则不录音) inter_idx String body O(语音导航场景特有字段) 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" }}
  • outparams参数(outaction=10:对话拆线类操作) 注:一通会话结束,都要以IVR发起inaction=9/11且input=hangup的请求后,ODFS触发拆线响应,返回给IVR后为结束标记,IVR此后不再调用ODFS的接口。 参数名称 数据类型 参数位置 必选/可选 描述 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 False odfs流程走到结束图元是否是正常流程逻辑 0、正常业务逻辑进入结束图元; 1、流程遇到异常、超时等没有容错业务逻辑处理时走到结束图元。 region_id String body False(语音导航场景特有字段) 用户归属地。 entrance_id String body False(语音导航场景特有字段) 入口维度。 exit_id String body False(语音导航场景特有字段) 出口维度,取值同入口维度。 user_type_id String body False(语音导航场景特有字段) 用户类型。 suilu_region_id String body False(语音导航场景特有字段) 呼叫接入地。
  • 响应消息样例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" }}
  • outparams参数(outaction=12:查询类操作) 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body True 呼叫唯一标志,与userid 取值相同,给流程使用。 prompt_type String body True 查询类型。 1:通话在技能队列中排队时,查询当前技能队列排队信息; 2:通话不在技能队列排队,进入技能队列前,根据技能队列Id查询排队信息; 3:根据座席工号,查询座席所在技能队列信息 5: 音视频切换操作 moduleName String body False 模块名称,图元的名称 inter_idx String body False(语音导航场景特有字段) ODFS侧记录的与用户连续交互的次数。 changeType String body True 切换类型. 音频:1 音视频:3
  • 请求消息样例 { "userid": "1528780879-9581", "inaction": 9, "inparams": { "call_id": "1528780879-9581", "call_dst_id": "10086", "flow_result_type":"1", "input":"帮我查一下我的话费", "inter_idx": "1", "begin_play": "2018090407:16:24", "end_play": "2018090407:16:30", "result_time":"2018090407:16:3", "inter_no":"0" }, "extparams": { "transin_data":"95,22714,0,,1,1,,test_gdj_01005", "queueIndex":"2", "agentCount":"5" }} ODFS判断如果 flow_result_type = 1 且 input = (识别结果id值) 时会调用Redis获取转写文本(key=识别结果id值中redis值编号key),获取到的识别文本格式为字符串(非JSON格式)。 Lua脚本获取Redis结果示例代码如下,示例中代码key值为“msg”字符串。
  • outparams参数(outaction=9:对话交互类操作) 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body True 呼叫唯一标志,与userid 取值相同,给流程使用。 prompt_type String body True 交互类型。 0:语音交互播放指定提示音(全路径) 1:语音交互播放指定提示 2:语音交互播放TTS内容 3:文字交互 4:对呼叫方录音 5:视频播放 6:多媒体 7:卡片 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 O(语音导航场景特有字段) 模板类型,由7位数字组成,前三位分别代表放音\识别\按键的支持情况(1支持,0不支持);紧接着两位代表最大按键长度,后两位是*#是否做为功能键(1功能键-#代表确定,*代表取消,0不作为功能键-普通输入键)。 如:1011201代表支持放音按键,不支持识别,最大按键长度为12位,#为确认键。 1101200 代表支持放音识别,不支持按键,后面四位1200无效。 timeout String body False(语音导航场景特有字段) 放音超时时长(秒),放音结束后等待输入超时时间。 collectTimeout String body False(应答模式为支持按键打断场景特有字段) 收号超时时间(秒) tone String body False(语音导航场景特有字段) 当prompt_type=4 录音时必传 true:录音开始前播放“嘀”音 false:录音开始前不播放“嘀”音 vendor String body False(语音导航场景特有字段) ASR语音识别扩展参数 grammar String body False(语音导航场景特有字段) ASR语法文件名(包含路径和后缀) question_id String body False(语音外呼问卷场景特有字段) 问题序号(外呼场景使用),如Q1,Q2;(废弃) question_name String body False(语音外呼问卷场景特有字段) 问题名称(外呼场景使用) (废弃) answer_id String body False(语音外呼问卷场景特有字段) 问题答案(外呼场景使用), 是:Y; 否:N; 超时:TIMEOUT; 拒识:NOMATCH; 其他异常:ERROR 如问题设定非“是”“否”这种答案,则需要以实际约定配置的结果为准 (废弃) flowRecordFlag String body False 是否需要录音标志。 0:需要 1:不需要 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; 高速朗读:2 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 Prompt_text格式说明【for 智能信息匹配业务】 参数名称 数据类型 参数位置 必选/可选 Value描述 来源 sentiment_analysis String body False 情绪检测类型: negative, positive, neutrality TUC实时质检 sentiment_analysis_score Integer body False 情绪检测得分 0-100 TUC实时质检 role String body False 用户类型 座席:staff 用户:customer 其他:空字符串 TUC实时质检 sensitive_word Json Object body O 敏感词的提醒信息 {"违禁语":["密码"]} 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意图 Prompt_text格式说明【for 智能工单填写业务】 参数名称 数据类型 参数位置 必选/可选 描述 使用方法 beginIndex String body True 实体在文本中的开始索引位置 实体在文本中的开始索引位置 endIndex String body True 实体在文本中的结束索引位置 实体在文本中的结束索引位置 type String body True 抽取的实体类型 用于标注此实体的识别类型,不需要填入表单 entity String body True 实体内容,已做规则化 用于填入表单对应字段 tag String body True 表单中待填写的字段名 如:对象二级
  • ExtParams参数 参数名称 数据类型 参数位置 必选/可选 描述 transin_data String body False 由接入方跟OIAP约定的随路数据参数,例如IVR传入的数据包参数 release_reason String body False(语音导航场景特有字段) ivr上报给odfs呼叫拆线的原因码: 0、业务流程正常拆线; 1、系统异常拆线; 2、用户拆线; queueIndex String body False(查询排队信息场景特有) 查询技能队列的排队位置 agentCount String body False(查询排队信息场景特有) 查询技能队列的在线座席数 estimateTime String body False(查询排队信息场景特有) 查询技能队列的预计等待时间 idleAgentCount String body False(查询排队信息场景特有) 查询技能队列的空闲座席数
共100000条