华为云用户手册

  • 接口URI https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/calllogs 其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。 表1 URL中携带的参数说明 序号 参数名 参数类型 是否必选 说明 1 vdnId int True 虚拟呼叫中心ID。 取值的类型为整数,取值范围为1~9999。
  • 响应消息 表3 响应消息体参数说明 参数名 数据类型 说明 resultCode String 查询结果。取值如下: "0100000":成功 其他:失败 失败的原因说明请参见错误码参考。 resultDesc List 查询成功后,返回结果信息的对象列表。 该数组中对象的参数说明请参见下表。 表4 resultDesc对象参数说明 参数名 数据类型 说明 beginTime String 统计开始时间,毫秒级时间戳(五分钟统计区间开始时间) ccId int 呼叫中心编号 uapIp String UAP的IP agentOnlineCount int 软终端注册数
  • 样例报文 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId":1, "uapIP":"1.1.1.1", "beginDate":"2021-09-09 00:00:00", "endDate":"2021-09-11 23:00:00", "limit":"100", "offset":"0" } 响应参数: { "resultCode": 0, "resultDesc": { "data": [ { "beginTime": "1631594100000", "ccId": 1, "uapIp": "1.1.1.1", "agentOnlineCount": 1 } ], "count": 1 } }
  • 响应说明 当调用本接口响应成功,则从httpresponse消息中获取文件的二进制数据生成录音文件,文件后缀名为.wav,响应中content-type字段为Application/Octet-stream;charset=UTF-8。 当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表 响应消息response参数说明,resultData为保留字段,默认为空字符串。 表5 响应消息参数说明 序号 名称 参数类型 说明 1 resultCode String 请求返回的结果码,详见错误码参考。 2 resultDesc String 请求结果描述。 3 resultData Object 请求响应数据 4 response Object 请求结果对象,参数说明详见表6 不推荐使用,为兼容老版本保留字段。 表6 响应消息response参数说明 序号 名称 参数类型 说明 4.1 version String(1-32) 协议版本,如2.0。 4.2 resultCode String(1-32) 请求返回的结果码,详见错误码参考。 4.3 resultMsg String 请求结果描述。
  • 报文样例 请求头 POST /CCFS/resource/ccfs/downloadOiapRecordHTTP/1.1 Authorization: auth-v2/ak/2018-07-02T02:45:50Z/content-length;content-type;host/ eb453f68e******************96c509c4913 Accept: */* Content-Type: application/json;charset=UTF-8 Content-Length: 193 请求参数 { "request": { "version": "2.0" }, "msgBody": { "fileName": "Y:/39/odfsrecord/20201019/1603089033-1205143033.wav" } }
  • 接口URI https://ip:port/CCFS/resource/ccfs/downloadOiapRecord?locationId={locationId} 其中,ip为CC-FS安装的服务器IP地址,port为CC-FS的HTTPS端口号。 如果经过NSLB路由,ip为NSLB的服务器IP地址,port为CC-FS服务在NSLB映射的HTTPS端口号。 表1 URL中携带的参数说明 序号 名称 参数类型 是否必选 说明 1 locationId int False 节点Id,通过调用会话记录查询接口(https://IP:PORT/oifde/rest/api/queryRecordHistory)查询locationId。
  • 请求说明 表2 请求Request参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 Content-Type String True 无 固定填 application/json; charset=UTF-8。 2 Authorization String True 无 生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式。 表3 请求Body中request参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 version String(1-32) True 2.0 协议版本。当前固定值为2.0。 表4 请求Body中msgBody参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 fileName String(1-127) True 无 智能IVR录音文件名称 参数格式: 一:{录音盘符}:/{record}/{vdnId}/{odfsrecord}/{yyyymmdd}/{文件主名}.wav; 例如:Y:/record/39/odfsrecord/20201015/10233946082696733.wav 二:{录音盘符}:/{vdnId}/{odfsrecord}/{yyyymmdd}/{文件主名}.wav; 例如:Y:/39/odfsrecord/20201015/10233946082696733.wav 三: {录音盘符}:/{record}/{vdnId}/{yyyymmdd}/{文件主名}.wav ; 例如:Y:/record/39/20201015/10233946082696733.wav 四:{录音盘符}:/{vdnId}/{transferrecord}/{yyyymmdd}/{文件主名}.wav 例如:Y:/39/transferrecord/20201015/10233946082696733.wav 说明:{vdnId}为vdn编号,{yyyymmdd}为生成智能IVR录音文件的日期,{文件主名}为录音文件的名称。
  • 报文样例 请求头: x-app-key:6******************************b Authorization:Bearer e******************************6 Content-Type:application/json 请求参数: { "callSerialNo": "679218118865715226" } 响应头: { "connection": "keep-alive", "content-type": "application/json;charset=UTF-8" } 响应参数: { "retMsg": "success", "result": { "url": "https://aicc-obs0.obs.cn-south-1.myhuaweicloud.com:443/644429155876552705?AWSAccessKeyId=ZGUZVMUDBS2DKAQ5X141&Expires=1565681851&Signature=sb3ZDPyzg%2FXZLMIPK0zBTRA6x5s%3D" }, "retCode": "0" }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 X-APP-Key string False 用户标识,与tokenByAkSk接口请求参数中的app_key一致 2 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格) 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1 callSerialNo string True 呼叫流水号 长度限制:string(50)
  • 报文样例 请求消息样例 { "userId": "1649209493813571405", "sentence": "查询话费", "tenantId": "202205125916", "language": "zh_CN", "targetIntentCount": "2", "confidence2Top": "0.5", "authToken": "Xun4*******************yAmResnf", "context":"查询话费", "domainList":[10039], "faqGroupList":[10952,10950] } 响应消息样例 { "intentsResponses": [ { "scenarioStatus": "finish", "confidence": 1.0, "responses": "尊敬的用户,您当前话费账户余额为56元。", "scenarioName": "话费查询", "commands": "查询话费" } ], "errorCode": 0 } 请求消息样例(包含FAQ问答) { "userId": "1649209493813571405", "sentence": "优惠套餐推荐", "tenantId": "202205125916", "language": "zh_CN", "targetIntentCount": "2", "confidence2Top": "0.5", "authToken": "Xun4vb*******************mResnf", "context":"", "domainList":[10039], "faqGroupList":[10952,10950] } 响应消息样例 { "intentsResponses": [ { "simQuestions": [ "有实惠一点的流量套餐可以办理" ], "scenarioStatus": "SUCCESS", "confidence": 23.0, "responses": "本月特惠,10元3G流量。", "scenarioName": "1721756338", "commands": "systemQA" } ], "errorCode": 0 }
  • 样例报文 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId":1, "uapIP":"1.1.1.1", "ofcNo":[0, 1], "beginDate":"2021-09-09 00:00:00", "endDate":"2021-09-11 23:00:00", "limit":"100", "offset":"0" } 响应参数: { "resultCode": 0, "resultDesc": { "data": [ { "beginTime": "1631594100000", "ccId": 1, "uapIp": "1.1.1.1", "ofcNo": 1, "systemInBound": 1, "systemInSucc": 1, "systemCallRate": 1 } ], "count": 1 } }
  • 响应消息 表3 响应消息体参数说明 参数名 数据类型 说明 resultCode string 查询结果。取值如下: "0100000":成功 其他:失败 失败的原因说明请参见错误码参考。 resultDesc List 查询成功后,返回结果信息的对象列表。 该数组中对象的参数说明请参见下表。 表4 resultDesc对象参数说明 参数名 数据类型 说明 beginTime String 统计开始时间,毫秒级时间戳(五分钟统计区间开始时间) ccId int 呼叫中心编号 uapIp String UAP的IP ofcNo int 入局编号数组 systemInBound int 系统呼入量 systemInSucc int 系统接通量 systemCallRate int 系统接通率
  • 报文样例 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId":1, "vdn":170, "offset":0, "limit":2 } 响应参数: { "result": "0", "resultCode": "0100000", "count": 30, "resultDatas": [ { "agentId": 55002, "locationId": 65535, "currentStateTime": 153282, "currentState": 0 }, { "agentId": 833, "locationId": 65535, "currentStateTime": 153293, "currentState": 0 } ], "resultDesc": [ { "agentId": 55002, "locationId": 65535, "currentStateTime": 153282, "currentState": 0 }, { "agentId": 833, "locationId": 65535, "currentStateTime": 153293, "currentState": 0 } ] }
  • 响应说明 表3 响应消息体参数说明 序号 名称 参数类型 说明 1 result String 查询结果。取值如下: 0:成功 其他:失败 失败的原因说明请参见错误码参考。 说明: 当前字段为兼容8.13及其之前版本接口响应参数使用。 1 resultCode string 查询结果。取值如下: "0100000":成功 其他:失败 失败的原因说明请参见错误码参考。 3 resultDatas array 查询成功后,返回结果信息的对象数组。 该数组中对象的参数说明请参见表4。 说明: 当前字段为兼容8.13及其之前版本接口响应参数使用。 2 resultDesc array 查询成功后,返回结果信息的对象数组。 该数组中对象的参数说明请参见表4 3 count int 当前查询VDN下座席总数。 表4 resultDesc/resultDatas对象参数说明 序号 名称 参数类型 说明 2.1 agentId int 座席工号。 2.2 currentState int 座席当前状态。CTI平台座席状态码参考 2.3 currentStateTime long 当前状态持续时长(单位:秒)。 2.4 locationId int 所属分布式接入节点。 CTI保留字段,无实际意义。
  • 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": 13, "inparams": { "call_id": "1528780879-9581", "call_sor_id": "13500000001", "call_dst_id": "10086", "auth_token":"eyJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE1MzgwMzg5MzUsImV4cCI6MTUzODA0MjUzNSwian" } } ODFS接收到inaction为13的请求后,检索该呼叫从宇高上报识别结果队列是否有数据,如果有数据,就给IVR返回1,否则返回0:
  • 报文样例 请求头: Content-Type:application/json;charset=UTF-8 Authorization:XXXXXXXXXXXXXXXXXXXXXXX 请求参数: { "callId" : "1688028889-836", "page":1, "limit":10 } 响应参数: { "returnCode": "0200000", "recordList": [ { "interNo": "1", "userSaying": null, "systemReply": "啊您看我们请专门负责的同事和您简要介绍一下展会亮点您看可以吗只要和外贸相关的企业对于我们展会都会有兴趣的", "intention": null, "systemReplyTime": "2022-05-31 20:13:08", "requestTime": "2022-05-31 20:13:10", "responseSource": "0" }, { "interNo": "2", "userSaying": "null", "systemReply": "您好,欢迎使用智能机器人", "intention": null, "systemReplyTime": "2022-05-31 20:13:08", "requestTime": "2022-05-31 20:13:08", "responseSource": "0" } ], "resultCode": "0200000", "resultDesc": "success", "returnDesc": "success" }
  • 响应说明 响应状态码: 200 表4 响应体参数 序号 名称 参数类型 是否必选 说明 1 resultCode String True 原因码。0200000表示成功,其他表示失败。 错误码请参考表5。 2 recordList List false 通话记录。 2.1 interNo string True 内部序号 2.2 systemReply string True 系统回复。 系统回复为IVR流程或智能IVR流程中的语音文件时,语音文件有杂音或为音乐将会无法准确转写为文本信息。 语音文件或TTS文本在通话过程中如果被打断无法播放完整,查询出来的系统回复也会是完整的语音文件内容。 2.3 userSaying string True 用户回复 2.4 intention string True 用户意图 2.5 systemReplyTime string True 系统回复时间 2.6 requestTime string True 用户请求时间 2.7 responseSource string True 回复来自机器人还是静默座席。 机器人--0,静默座席--1 3 resultDesc String true 返回描述信息 响应状态码: 404 请求的内容未找到:请检查请求的路径。 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值
  • 错误码 表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 参数个数不能大于规定个数
  • 接口URI https://ip:port/rest/isales/v2/openapi/campaigns/{vdnId}/callRecord。 其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。 表1 URL中携带的参数说明 参数名 数据类型 选取原则 说明 vdnId int 必选 虚拟呼叫中心ID。 取值的类型为整数,取值范围为1~9999。
  • 请求说明 表2 请求头参数 序号 名称 参数类型 是否必选 说明 1 Authorization string True 生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式。 2 Content-Type string True 固定填 application/json; charset=UTF-8。 表3 请求体参数 序号 名称 参数类型 是否必选 说明 1 callId String true 通话记录ID,用于与CTI平台的话单等通话数据关联。通过查询外呼结果或者外呼结果回调接口中返回的callId字段获取。 2 page int true page为需要查询的起始页。 取值范围:1~1000 3 limit int true 表示每页的查询数量。 取值范围:1~100
  • 成功转结果通知 标示符 AgentEvent_SuccTransResult 作用 音视频呼叫或文字的转移场景中,座席成功调用转移接口进行成功转时,座席会收到该事件表示接口调用成功。 附带信息 callId表示呼叫唯一标记。 result表示成功转结果。0表示成功,其他表示失败。 示例: {"message":"","retcode":"0","event":{"eventType":"AgentEvent_SuccTransResult","workNo":"20011","content":{"result":1,"callId":"1477467960-16777237"}}} 父主题: 音视频通话事件
  • 样例报文 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId":1, "vdn":170, "timeGrain":"15MIN", "serviceNos":[3,2], "indexIds":["IDX_COUNT_IVR_INBOUND_CALL"], "mediaType":53, "subMediaType":3 } 响应参数: { "result": "0", "resultCode": "0100000", "resultDatas": [ { "idxs": [ { "val": { "2020-11-11 09:15:00.0": "1", "2020-11-11 10:15:00.0": "1" }, "id": "IDX_COUNT_IVR_INBOUND_CALL" } ], "id": "3" } ], "resultDesc": [ { "idxs": [ { "val": { "2020-11-11 09:15:00.0": "1", "2020-11-11 10:15:00.0": "1" }, "id": "IDX_COUNT_IVR_INBOUND_CALL" } ], "id": "3" } ] }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格) 2 X-APP-Key string False appKey字段,用户标识,请联系运营人员获取appKey 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1 body object False - 1.1 fileInfo string True Base64编码后的录音文件信息,限制8MB。上传文件大小会相应增加上传时间 1.2 locale string True 录音文件的语种,zh_CN(中文)、en_US(英文)、pt_BR(葡萄牙语)、th_TH(泰语) 1.3 voiceType string True 语音类型,比如0 是IVR,1提示音,2故障音,3语音通知 1.4 fileType string True 文件类型,支持wav格式和MP3格式 wav格式和MP3格式均会使用ffmpeg工具转码为平台所支持的音频文件格式(A-law压缩算法、单声道、采样位数:8bit、采样频率:8000HZ),转换后音质可能会有影响,音频文件数据可能会丢失,建议使用符合平台支持的音频文件格式。 1.5 callBackUrl string False 回调URL,系统审核后,系统会通过这个url返回审核的结果信息。 回调URL为客户自定义接口,用于接收系统审核结果信息,其中请求参数与响应参数可参考表3。 回调URL已通过系统管理员加入IVR语音上传回调的地址白名单中。 URL格式参考如下:https://support.huaweicloud.com/productdesc-cec/cec_01_0001.html 1.6 voiceFileName string False IVR语音名称,长度不能超过50字符,只能包含中文、大小写字母,数字。 表3 回调URL参数说明 序号 名称 参数类型 是否必选 说明 请求参数 1.5.1 fileUrl string True 审核文件地址,文件地址全称,包括文件后缀。 1.5.2 fileId string True 审核文件ID,具体值可参考表4中的fileId字段设置。 1.5.3 status string True 文件审核状态,取值范围: 2:审核通过。 3:审核不通过。 1.5.4 comment string False 审核状态备注。 响应参数 1.5.5 returnCode string True 响应代码,取值范围: 0:审核结果接收成功。 其他:审核结果接收失败。 说明: 审核结果接收失败后会重复调用回调接口继续返回文件上传审核结果,超过6次后同一文件的上传审核结果不再继续响应。
  • 响应说明 响应状态码: 200 表4 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True - 1.1 returnCode string True 0,成功,其他为失败 1.2 description string True 描述。 1.3 fileId string False 上传后的语音文件后生成的id,用于关联云客服的录音 响应状态码: 404 请求的内容未找到:请检查请求的路径。 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值
  • 报文样例 请求头: Content-Type:application/json Authorization:Bearer XXXXXXXXXXXXXXXXXXXXXXX X-APP-Key:XXXXXXXXXXXXXXXXXXXXXXX 请求参数: { "locale" : "zh_CN", "voiceType" : "0", "fileType" : "wav", "callBackUrl" : "http://10.130.40.194:18133/upload", "fileInfo" : "UklGRjJ+AABXQVZFZm10IBIAAAAGAAEAQB8AAEAfAAABAAgAAABkYXRhAH4AANXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1" } 响应参数: { "returnCode": "0", "description": "File uploaded successfully.", "fileId": "1182733043937561608" } 回调URL样例报文: //请求参数 { "fileUrl": "Y:/IVR/147/voice/0/nPqV9vU3_1666706957559.wav", "fileId": "1323606152730207249", "status": "2", "comment": "审核通过" } //响应参数 { "returnCode": "0" }
  • 请求说明 表1 请求体参数 参数名称 数据类型 参数位置 必选/可选 描述 tenantId String body True 租户ID accessId String body True 对话标识绑定关系内部序号 accessCode String body False 接入标识 不超过20位 domainId int body False 领域ID dialogType int body True 对话类型 1:语音导航 2:智能外呼 3:聊天机器人 4:IVR流程 flowCode String body False 流程编码 description String body True 描述 authToken String body True 认证token。 请参见C3 智能助手平台接口鉴权方式。 source String body False 发起对话识别的源设备。 IVR:来自IVR流程 OIFDE:表示来自ODFS配置的智能化流程
  • 报文样例 请求消息样例 { "tenantId": "tenant001", "accessCode": "10086", "accessId": "100001" , "domainId": 10001 , "dialogType":1, "flowCode": "flowxxxxxx" , "description": "" , "authToken": "0dbe11*******************b505de" } 响应消息样例 修改成功: 无响应体报文。 修改失败场景: { "errorCode" : 100000, // int, 错误码,成功通过状态码为200判断 "errorMsg" : "" }
  • 响应消息 表3 消息体参数说明 序号 名称 参数类型 说明 1 result String 查询结果。取值如下: 0:成功 其他:失败 失败的原因说明请参见错误码参考。 说明: 当前字段为兼容8.13及其之前版本接口响应参数使用。 2 resultCode string 查询结果。取值如下: "0100000":成功 其他:失败 失败的原因说明请参见错误码参考。 3 resultDatas array 查询成功后,返回结果信息的对象数组。 该数组中对象的参数说明请参见表4。 说明: 当前字段为兼容8.13及其之前版本接口响应参数使用。 4 resultDesc array 查询成功后,返回结果信息的对象数组。 该数组中对象的参数说明请参见表4。 表4 resultDesc/resultDatas对象参数说明 序号 名称 参数类型 说明 2.1 agentId int 座席工号。 2.2 callList array 呼叫信息数组。 该对象的参数说明请参见表5 表5 callList对象参数说明 序号 名称 参数类型 说明 2.2.1 callId string 呼叫ID。 2.2.2 callStatus int 呼叫状态,表6 2.2.3 callInOut int 呼入与呼出的标记。 0:表示呼入,1:表示呼出 2.2.4 mediaType int 媒体类型,表1 表6 呼叫状态 编号 呼叫类型 描述 0 IDLE 呼叫对象空闲(无呼叫) 1 OCCUPY 呼叫对象被占用 2 QUEUE 呼叫在技能队列排队 3 PRIVATE_QUEUE 呼叫在私有队列排队 4 ALERTING 呼叫振铃等待应答 5 TALK 呼叫各方在通话或交互中 6 HOLD 呼叫保持 7 SUSPEND 呼叫挂起 8 MUTE 呼叫被静音 9 TRITALK 三方通话
  • 样例报文 请求头: Content-Type: application/json;charset=UTF-8 Authorization: ****************** 请求参数: { "ccId":1, "vdn":170, "agentIds":[1031,1099] } 响应参数: { "result": "0", "resultCode": "0100000", "resultDatas": [ { "agentId": 1034, "callList": [] }, { "agentId": 1099, "callList": [ { "callId": "1605494261-1449", "callStatus": 5, "callInOut": 0, "mediaType": 5 } ] } ], "resultDesc": [ { "agentId": 1034, "callList": [] }, { "agentId": 1099, "callList": [ { "callId": "1605494261-1449", "callStatus": 5, "callInOut": 0, "mediaType": 5 } ] } ] }
共100000条