华为云用户手册

  • 请求说明 表1 请求体参数 序号 参数名 参数类型 是否必选 说明 1 tenantId string True 租户ID。 2 authToken string True 认证token。 请参见C3 智能助手平台接口鉴权方式。 3 text string True 待合成的文本内容,必须使用UTF-8编码。 4 config Object True 语音合成的配置信息。 该对象的参数说明请参见表2。 表2 config参数说明 序号 参数名 参数类型 是否必选 说明 4.1 voiceName String True 模型特征串,服务器端利用此值来调用不同的模型。 目前支持的有: cn_chengshuxing_common(成熟型) cn_kefuman_common(客服曼) cn_roumeiqian_common(柔美倩) cn_tianmeiru_common(甜美茹) cn_ziranzhen_common(自然真) 4.2 pitch String False 基频,调节音调高低。 取值范围:-500~500, 缺省:0。 4.3 volume String False 音量,调节音量大小。 取值范围:0~100,缺省:50。 4.4 speed String False 语速,调节语速快慢。 取值范围:-500~500, 缺省:0。
  • 对方振铃 标示符 AgentEvent_Customer_Alerting 作用 表示座席相关的其它用户正在发生振铃。 附带信息 otherPhone: 字符串,用户的电话号码(内部呼叫时为被叫座席号)。 callid:呼叫标示。 type:呼叫类型,协助呼叫(assistant)和主呼叫(main)。 触发条件 准备通话的对方正在振铃。 示例: {"message":"","retcode":"0","event":{"eventType":"AgentEvent_Customer_Alerting","workNo":"49999","content":{"callid":"1456401416-3","otherPhoneWorkno":"","otherPhone":"70092","type":"main"}}} 父主题: 音视频通话事件
  • 报文样例 请求参数: { "alertingTime": "2022/02/22,10:04:29:004", "callSerialNo": "1197765398201387012", "called": "88880067", "callerPresent": "960003", "createCallTime": "2022/02/22,10:04:28:823", "locationId": "0", "nonce": "-1482421808053124529", "recordfile": "Y:/2/mobileAgent/20220222/1645524268-824.wav", "releaseReason": "0", "releaseTime": "2022/02/22,10:04:36:318", "signature": "+lk************************50=", "talkDuration": "0", "talkingTime": "2022/02/22,10:04:30:418", "timestamp": "1645524163326" } 响应参数: { "retCode": "0", "retMsg": "success" }
  • 请求说明 请求头参数: 无。 请求体参数: 序号 名称 参数类型 是否必选 说明 1 callSerialNo string True 呼叫流水号 长度限制:string(50) 2 called string True 被叫号码 3 signature string False 签名。 当通过创建语音通知接口传入回调URL,并在回调url配置界面中“请输入共享密钥”配置了共享密钥,为必选。 4 timestamp string False 时间戳 当通过创建语音通知接口传入回调URL,并在回调url配置界面中“请输入共享密钥”配置了共享密钥,为必选。 5 nonce string False 随机数 当通过创建语音通知接口传入回调URL,并在回调url配置界面中“请输入共享密钥”配置了共享密钥,为必选。 6 callerPresent string False 主叫外显号码。 7 createCallTime string False 发起呼叫时间。例如:2022/02/17,13:10:06:836 8 alertingTime string False 用户振铃时间。 9 talkingTime string False 通话时间。 10 releaseTime string False 释放时间。 11 talkDuration string False 通话时长。 12 recordfile string False 录音路径。 13 locationId string False 录音节点。 14 releaseReason string False 释放原因码。 0: 呼通后,被叫挂机; 1: 呼通后,通知播完挂机; 4: 被叫拒接、被叫振铃后超时未接; 6: 振铃前呼叫失败; 8:无资源; 9:排队机超时; 10:呼叫受限; 999:UAP拉起录音会场失败;
  • 错误结果码 表5 错误原因码说明 序号 错误码 说明 1 0200001 参数异常,异常详情在resultDesc中描述。 2 02000001 参数值为空 3 02000002 参数包含非法字符 4 02000003 参数长度不能大于规定长度 5 02000004 参数长度不能小于规定长度 6 02000005 参数长度需要介于规定长度之间 7 02000006 参数值类型不正确 8 02000007 参数值大小不正确 9 02000008 参数转换异常,请检查请求参数 10 02000009 参数组合不正确,请检查请求参数 11 02000010 hour和minute必须同时存在 12 02000011 参数个数不能大于规定个数
  • 报文样例 该接口的请求消息体举例如下: {"defId":"1645244637", "displayResult":"就是不接电话8", "obsCodes":["00605","00604"]} 该接口的响应消息体举例如下: { "returnCode": "0200000", "resultCode": "0200000", "resultDesc": "updateObResult Success!", "returnDesc": "updateObResult Success!" }
  • 接口URI https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/updateObResult 其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。 表1 URL中携带的参数说明 序号 参数名 参数类型 是否必选 说明 1 vdnId int True 虚拟呼叫中心ID。 取值的类型为整数,取值范围为1~9999。
  • CTI返回VDN配置接口错误码 表1 座席 错误结果码 说明 120601 VDN默认管理员不能修改名称 120602 VDN默认管理员不能修改密码 120603 VDN默认管理员不能修改角色 120604 业务代表为默认VDN管理员,不能删除 120605 业务代表为班组长,不能删除 120606 业务代表被流程引用,不能删除 120607 业务代表被缺省私有技能队列引用,不能删除 120608 业务代表被技能队列引用,不能删除 120609 业务代表被其它业务代表引用,不能删除 120610 业务代表应用的班组不存在 120611 业务代表引用的技能队列不存在 120612 业务代表引用的技能组不存在 120613 业务代表引用的业务代表角色不存在 120614 业务代表引用的其它业务代表不存在 120615 业务代表引用的流程不存在 120616 业务代表引用的被叫配置不存在 120617 业务代表引用的盘符不存在 120618 业务代表工号与班长工号重复 120619 业务代表工号不能重复 120620 业务代表密码长度小于安全配置最小密码长度:{0} 120621 密码要求包含如下四种字符的至少三种:英文大写字母、英文小写字母、数字、非字母数字字符,且不能和帐号或帐号的逆序相同 120622 业务代表为班组长,不能进行换组操作 120627 ASR和双声道录音开关只能选择一个开启 表2 角色 错误结果码 说明 123051 业务代表角色的名称重复 123052 业务代表角色被业务代表引用,不能删除 123053 业务代表角色为默认角色,不能修改 表3 技能队列 错误结果码 说明 120952 技能队列媒体类型为电子邮箱不在允许范围 120953 技能队列的技能元素重复 120954 技能队列引用的业务类型不存在 120955 技能队列引用的技能队列不存在 120956 技能队列引用的业务代表不存在 120957 技能队列引用的流程不存在 120958 技能队列引用的被叫配置不存在 120959 技能队列被缺省私有技能队列引用,不能删除 120960 技能队列被其它技能队列引用,不能删除 120961 技能队列被CDN引用,不能删除 120962 技能队列被客户群组引用,不能删除 120963 技能队列被业务代表引用,不能删除 120964 技能队列被流程引用,不能删除 120965 技能队列被被叫配置引用,不能删除 120966 技能队列引用的盘符不存在 120967 技能队列媒体类型为传真呼叫,必须配置邮箱,邮箱用户 120968 技能队列的最低接通率不能超过期望接通率 120969 技能队列被ACDDN引用,不能删除 120970 技能队列被共享设备引用,不能删除 120971 技能队列技能组引用,不能删除 120972 技能队列引用的子媒体类型不存在 123001 技能元素的名称重复 123002 技能元素不存在 123003 技能元素被技能队列引用,不能删除 123004 技能元素被技能队列引用,不能修改名称 120901 业务类型的描述重复 120902 业务类型被流程引用,不能删除 120903 业务类型被技能队列引用,不能删除 120904 业务类型被工作标准时间引用,不能删除 120905 业务类型引用的盘符不存在 表4 被叫配置 错误结果码 说明 120651 被叫配置的系统接入码没有分配 120652 被叫配置的系统接入码和后续接入码组合不能重复 120655 被叫配置引用的接入码不存在 120656 被叫配置引用的技能队列不存在 120658 设备类型为IVR,接入码的媒体类型只能为点击通话,回呼请求,普通呼叫 120659 被叫配置引用的路由脚本不存在 120660 被叫配置的系统接入码同被叫配置设备的媒体类型不一致 120661 被叫配置被缺省私有技能队列引用,不能删除 120662 被叫配置被技能队列引用,不能删除 120663 被叫配置被业务代表引用,不能删除 表5 IVR 错误结果码 说明 120216 IVR和CCIVR间不能修改 120217 同一个IP地址的IVR最大个数为20 120219 IVR被VDN引用,不能删除 120220 IVR被VDN组引用,不能删除 120221 IVR引用的参数组不存在 120222 IVR引用的CTI节点不存在 120763 流程的流程接入码重复 120764 流程的描述重复 表6 技能组 错误结果码 说明 123352 技能组引用的技能队列不存在 父主题: 错误码定义
  • 样例报文 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId": 1 } 响应参数: { "resultCode": "0100000", "resultDesc": [ { "ccId": 3, "vdnId": 47, "tenantId": "202008142460", "accessCodes": [ { "accessCode": "202008191", "isDefault": true } ], "tenantSpaceName": "fjw081401" } ] }
  • 响应消息 表3 相应消息参数体说明 参数名 数据类型 说明 resultCode string 查询结果。取值如下: "0100000":成功 其他:失败 失败的原因说明请参见错误码参考。 resultDesc array 查询成功后,返回结果信息的对象数组。 该数组中对象的参数说明请参见表4。 表4 resultDesc对象参数说明 参数名 数据类型 说明 ccId int 呼叫中心编号。 tenantId string 租间ID。 tenantSpaceName string 租间名称。 vdnId int 虚拟呼叫中心编号。 accessCodes array 接入号列表。 该数组中对象的参数说明请参见表5。 表5 accessCodes 对象参数说明 参数名 数据类型 说明 accessCode string 接入码。 isDefault boolean 默认接入码标识,true:默认接入码,false或者空:非默认接入码。
  • 静态鉴权 在agentgateway/WEB-INF/config/basic.properties中修改配置: AUTHMODE = 1 座席调用登录接口登录成功后,可以从请求的响应头中获取到名称为Set-GUID的header,值例如为“JSESSIONID=27************f5.AgentGateway0”,其中27************f5.AgentGateway0为guid,这个guid就是这个座席的鉴权信息。座席调用其他接口时需要将该guid设置到http请的header中,header的名称必须为guid。CC-Gateway会从请求的header中获取guid进行比较,判断是否合法用户,如果不是合法用户,则返回结果码为100-006或000-003。
  • 报文样例 查询elasticsearch上的话单数据以及满意度信息。 请求头: X-TenantSpaceID:202101134979 Authorization:Bearer 3b5d****23c9 X-app-key:b7bd****cb8c 请求参数: { "subCcNo": "0", "vdn": "0", "callId": "0", "callerNo": "0", "calleeNo": "", "beginDate": "1658102400000", "endDate": "1658188800000", "callType": "0", "mediaType": "10", "evaluationValue": "10" } 响应参数: { "total":2, "results":[ { "callId":"1669464198-17002955", "vdn":1, "evaluationValue":"1", "callBegin":"100010" }, { "callId":"1669463446-17002406", "vdn":1, "evaluationValue":"5", "callBegin":"100010" } ] }
  • 接口URI https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/callBusiResult/{dataId} 其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。 表1 URL中携带的参数说明 序号 参数名 参数类型 是否必选 说明 1 vdnId int True 虚拟呼叫中心ID。 取值的类型为整数,取值范围为1~9999。 2 dataId int True 外呼数据的ID。
  • 报文样例 该接口的请求消息体举例如下: { "busiResult": "1621474513", "subStatus": "1048856206", "busiResultDesc": "1", "workNo": "2033" } 该接口的响应消息体举例如下: { "resultCode": "0200000", "resultDesc": "The business result is written back successfully." }
  • 请求说明 表2 请求消息头参数 序号 名称 参数类型 是否必选 说明 1 Content-Type String True 固定填 application/json; charset=UTF-8。 2 Authorization String True 生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式。 表3 请求消息体参数说明 序号 参数名 参数类型 是否必选 说明 1 busiResult String True 业务结果编码,最大长度为50个字符。 2 subStatus String False 子业务状态编码,最大长度为50个字符。 3 busiResultDesc String False 业务结果描述。 4 workNo String False 执行呼叫的座席的平台工号。 如果需要同一个外呼数据,始终呼叫到同一个座席,该参数必填,如不填,则会路由至其他座席。
  • 错误结果码 表5 错误原因码说明 序号 错误码 说明 1 0200001 参数异常,异常详情在resultDesc中描述。 2 0200033 外呼数据不存在。 3 0200034 子状态与业务结果不匹配。 4 0200999 业务结果回写失败。 5 02000001 参数值为空 6 02000002 参数包含非法字符 7 02000003 参数长度不能大于规定长度 8 02000004 参数长度不能小于规定长度 9 02000005 参数长度需要介于规定长度之间 10 02000006 参数值类型不正确 11 02000007 参数值大小不正确 12 02000008 参数转换异常,请检查请求参数 13 02000009 参数组合不正确,请检查请求参数 14 02000010 hour和minute必须同时存在 15 02000011 参数个数不能大于规定个数
  • 接口URI https://ip:port/agentgateway/resource/voicecall/{agentid}/mediaswitch?mediaType=3 其中,ip为CC-Gateway服务器地址,port为CC-Gateway服务器的HTTPS端口号。 表1 URI中携带的参数说明 序号 参数名 数据类型 选取原则 说明 1 agentid string True 座席的工号,取值范围:101~59999。 2 mediaType int True 切换的目标媒体类型,取值范围: 1:音频 3:视频
  • 响应消息样例5 { "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" } }
  • 响应消息样例2 { "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" } }
  • 请求消息样例1 { "userid": "1528780879-9581", "inaction": 8, "inparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "call_dst_id": "10086", "auth_token":"eyJhbGc*******************MjUzNSwian", "suilu_region_id": "025", "entrance_id": "03" }, "extparams": { "transin_data":"95,22714,0,,1,1,,test_gdj_01005" } }
  • outparams参数(outaction=12:查询类操作,用于普通IVR流程) 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body True 呼叫唯一标志,与userid 取值相同,给流程使用。 prompt_type String body True 查询类型。 1:通话在技能队列中排队时,查询当前技能队列排队信息; 2:通话不在技能队列排队,进入技能队列前,根据技能队列Id查询排队信息; 3:根据座席工号,查询座席所在技能队列信息 5: 音视频切换操作 skill_id String String False 技能队列Id。 prompt_type为2的场景,必填;其他场景无该参数。 moduleName String body False 模块名称,图元的名称 inter_idx String body False(语音导航场景特有字段) ODFS侧记录的与用户连续交互的次数。
  • 响应消息样例3 { "outaction": 12, "outparams": { "call_id": "1528780879-9581", "prompt_type": "1", "inter_idx": "1", "moduleName":"查询", "xxx":"xxx" //扩展 } }
  • 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 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(语音外呼问卷场景特有字段) 问题答案(外呼场景使用)(废弃)
  • 响应消息样例4 { "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(语音导航场景特有字段) 呼叫接入地。
  • inparams 参数 参数名称 数据类型 参数位置 必选/可选 描述 call_id String body True 呼叫唯一标志,与userid 取值相同,给流程使用。 不超过64位 call_sor_id String body True 用户标识。(语音导航、语音外呼场景传入用户号码,其他交互场景传入用户id) 不超过64位 call_dst_id String body M 接入标识 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值。 请参见C3 智能助手平台接口鉴权方式。 suilu_region_id String body False(语音导航场景特有字段) 呼入地。 不超过64位 entrance_id String body False(语音导航场景特有字段) 导航入口。 01:广告语 02:欢迎语 03:首层主菜单 04:人工拦截 05:人工座席 06:直接通过短号接入 07:全语音门户 08:“0”号夜间导航模式 09:夜间全语音门户 10:直接通过自助短号接入 11:人工忙碌 98:其他 99:未识别 mediaType String body False 媒体类型(文本,音频,视频...) call_media_type String body False 呼入ivr的呼叫类型,文本:0 音频:1视频:3 channelType String body False 渠道类型 WEB(Web) INSTAGRAM(Instagram) TELEGRAM(Telegram) WECHAT(微信) FACEBOOK(Facebook) TWITTER(X (Twitter)) EMAIL(邮件) LINE WHATSAPP(WhatsApp) 5G(5G消息) SMS(短信)。 说明: 括号里为界面字段,区别于接口传参字段。 responseStyle String body False 回复风格
  • ExtParams参数 参数名称 数据类型 参数位置 必选/可选 描述 transin_data String body False 由接入方跟OIAP约定的随路数据参数,例如IVR传入的数据包参数 locationid String body O 呼叫录音节点号 mediaability String body False 媒体能力 1:音频 2:视频 3:音视频 ieValue String body False 接入方跟OIAP约定的User To User类型的随路数据参数,使用场景为:在与其他的平台对接时,如果呼叫是从其他的第三方的平台转移过来的呼叫,使用该参数携带SIP Header UUI信息。该参数的取值记录日志时会匿名化处理,保存数据库时会加密处理
  • 响应说明 响应状态码: 200 表4 RspBody参数结构 序号 名称 参数类型 说明 1.1 question string 相似问问题数组。 结果最多返回5条记录, 为智能在线助手平台根据关键词匹配的置信度最高的前5条记录。 1.2 resultCode string 响应返回码,0表示成功,非0表示失败 1.3 resultDesc string 响应返回描述 0:表示成功,不返回描述信息 1:request is no exsit 或 locale is error 或Robot is no exsit 或authToken is no exsit 或doNMSRequest is error或Exception appeared!。 响应状态码: 400 错误的请求:请检查请求路径及参数。 响应状态码: 401 未授权:1.请确认是否购买了相关服务。2.请联系客服人员检查您账号的当前状态。 响应状态码: 404 请求的内容未找到:请检查请求的路径。 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值。
  • 报文样例 场景描述:根据客户输入联想常用语 请求头: ccmessaging-token: XXXXXXXXX 请求参数: { "strContent": "网格", "locale": "zh", "channel": "WEB" } 响应参数: { "question": [ "APP在哪里下载", "APP怎么登录?", "APP支持什么手机版本", "登录APP后,没有下单功能菜单权限", "PC端系统怎么登录" ], "resultCode": "0" }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 ccmessaging-token string True applyToken接口返回的token值。 会话过程中接口Response Header中返回的ccmessaging-token的值。 2 x-app-key string False appKey字段,用户标识,在API Fabric上配置 3 Authorization string False 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格) 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1 reqBody ReqBody True 请求体 表3 ReqBody参数结构 序号 名称 参数类型 是否必选 说明 1.1 strContent string True 消息内容 1.2 locale string True 语种 请使用不带国家编码的语言,例如使用zh表示 中文,en表示英语等。请参见ISO 639语言编码获取详细信息。 1.3 channel string True 渠道类型,当前固定为WEB(表示WEB渠道接入)
共100000条