生成话单和录音索引
场景描述
调用该API,则会根据条件生成话单文件和录音索引文件。文件生成后,文件名称(billFileName)会通过回调的方式发送到callBackURL携带的回调地址上。
回调callBackURL需要鉴权,详见C2 监控/系统外呼/话单/知识库类接口鉴权方式。
使用说明
- 前提条件
    
- 开发者环境已经构建,能够正常进行呼叫,开发者有独立服务器并且已经绑定回调地址(callBackURL)。
 - 企业帐号(租间ID:accountId)、座席ID(agentId)以及话单ID(callId)为可选组合参数,可自由组合生成话单和录音索引文件。如果三者均没有传入,则生成指定时间段内该开发者下相应的数据记录。
 - 已通过鉴权(Authorization)、获得接入地址。
 - 请检查CC-FS配置文件“/home/ccfsapp/webapps/ccfsapp/WEB-INF/classes/config/servicecloud.base.properties”的“aicc.ssl.trustAll”是否配置为false,请配置为false,然后参考下面步骤放置证书。
      
- 以运维用户登录CC-FS的服务器,切换到root用户下。
        
su - root
 - 将CC-FS生成索引文件通知回调地址加载的第三方证书上传至AICC的truststore.jks证书的同一目录中,目录为:“$HOME/conf”,具体目录请以实际环境为准。
 - 修改上传的第三放证书的属组。
        
chown ccfsapp:ccfsapp XXX.jks - 执行下面的命令将第三方证书导入到truststore.jks中。
        
keytool -import -alias xxx -file XXX.jks -keystore truststore.jks
请依据界面提示输入truststore.jks证书密码。
 - 在环境上删除XXX.jks证书。
 - 重启CC-FS。
        
进入“/home/ccfsapp/bin”目录,执行如下命令。
./shutdown.sh;./startup.sh
 
 - 以运维用户登录CC-FS的服务器,切换到root用户下。
        
 
 - 使用限制
    
开发者只能访问该帐号下的数据信息,开发者帐号(appId)和企业帐号(租间ID:accountId)必须对应。
开发者账号(appId)包含在鉴权认证字符串中,详见C2 监控/系统外呼/话单/知识库类接口鉴权方式。
 
接口方法
POST
接口URI
https://ip:port/CCFS/resource/ccfs/queryBillData
其中,ip为CC-FS安装的服务器IP地址,port为CC-FS的HTTPS端口号。
如果经过NSLB路由,ip为NSLB的服务器IP地址,port为CC-FS服务在NSLB映射的HTTPS端口号。
请求说明
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        是否必选  | 
      
        默认值  | 
      
        说明  | 
     
|---|---|---|---|---|---|
| 
        1  | 
      
        Content-Type  | 
      
        String  | 
      
        True  | 
      
        无  | 
      
        固定填 application/json; charset=UTF-8。  | 
     
| 
        2  | 
      
        Authorization  | 
      
        String  | 
      
        True  | 
      
        无  | 
      
        生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式。  | 
     
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        是否必选  | 
      
        默认值  | 
      
        说明  | 
     
|---|---|---|---|---|---|
| 
        1  | 
      
        version  | 
      
        String(1-32)  | 
      
        True  | 
      
        2.0  | 
      
        协议版本。当前固定值为2.0。  | 
     
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        是否必选  | 
      
        默认值  | 
      
        说明  | 
     
|---|---|---|---|---|---|
| 
        1  | 
      
        beginTime  | 
      
        String  | 
      
        True  | 
      
        无  | 
      
        话单和录音记录的起始时间,为租间所在时区的时间,起始时间和截止时间需要做范围限制,最大为3天内。格式为:yyyy-MM-dd HH:mm:ss。  | 
     
| 
        2  | 
      
        endTime  | 
      
        String  | 
      
        True  | 
      
        无  | 
      
        话单和录音记录的截止时间,为租间所在时区的时间,起始时间和截止时间需要做范围限制,最大为3天内。格式为:yyyy-MM-dd HH:mm:ss。  | 
     
| 
        3  | 
      
        accountId  | 
      
        String(1-20)  | 
      
        False  | 
      
        无  | 
      
        企业帐号(租间ID)  | 
     
| 
        4  | 
      
        agentId  | 
      
        String(1-20)  | 
      
        False  | 
      
        无  | 
      
        座席ID  | 
     
| 
        5  | 
      
        callId  | 
      
        String(1-25)  | 
      
        False  | 
      
        无  | 
      
        呼叫标识,可从已调用的“下载话单和录音索引”返回的文件中获取。  | 
     
| 
        6  | 
      
        callerNo  | 
      
        String(1-25)  | 
      
        False  | 
      
        无  | 
      
        主叫号码  | 
     
| 
        7  | 
      
        calleeNo  | 
      
        String(1-25)  | 
      
        False  | 
      
        无  | 
      
        被叫号码,当calleeNo2不存在时为被叫号码,当calleeNo2存在时为主叫号码。  | 
     
| 
        8  | 
      
        calleeNo2  | 
      
        String(1-25)  | 
      
        False  | 
      
        无  | 
      
        被叫号码2  | 
     
| 
        9  | 
      
        dataType  | 
      
        String(1-11)  | 
      
        True  | 
      
        无  | 
      
        需生成的数据记录文件类型。 
  | 
     
| 
        10  | 
      
        callBackURL  | 
      
        String  | 
      
        True  | 
      
        无  | 
      
        回调地址。平台生成数据记录文件后将billFileName返回到该地址。  | 
     
响应说明
调用本接口获得响应分为两部分:
(1)调用本接口立即得到响应
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        1  | 
      
        resultCode  | 
      
        String  | 
      
        请求返回的结果码, 
  | 
     
| 
        2  | 
      
        resultDesc  | 
      
        String  | 
      
        请求结果描述,详见错误码参考。  | 
     
| 
        3  | 
      
        resultData  | 
      
        Object  | 
      
        请求响应数据,参数说明详见表6-响应消息resultData参数说明。  | 
     
| 
        4  | 
      
        response  | 
      
        Object  | 
      
        请求结果对象,参数说明详见表6 不推荐使用,为兼容老版本保留字段。  | 
     
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        4.1  | 
      
        version  | 
      
        String(1-32)  | 
      
        协议版本,如2.0。  | 
     
| 
        4.2  | 
      
        resultCode  | 
      
        String(1-32)  | 
      
        请求返回的结果码,详见错误码参考。  | 
     
| 
        4.3  | 
      
        resultMsg  | 
      
        String  | 
      
        请求结果描述。  | 
     
(2)平台生成数据记录文件后回调第三方的响应。
该响应由request,msgBody两部分组成。
request包含响应版本号version(默认2.0)。
msgBody由responseId(话单文件名组成部分),billName(待下载话单zip名称),accountId(租间ID)组成。
| 
        序号  | 
      
        名称  | 
      
        参数类型  | 
      
        说明  | 
     
|---|---|---|---|
| 
        1  | 
      
        responseId  | 
      
        String  | 
      
        调用本接口成功后,生成的唯一标识,是文件名称的组成部分。  | 
     
| 
        2  | 
      
        billFileName  | 
      
        String  | 
      
        话单和录音索引文件名称。格式:yyyyMMdd_{responseId}.zip。 例如:调用本接口的日期为2018-07-02,获取到的responseId为9239cb50-a838-4bb0-ab50-3441bf089446,则该参数值为20180702_9239cb50a8384bb0ab503441bf089446.zip。  | 
     
| 
        3  | 
      
        accountId  | 
      
        String  | 
      
        企业帐号(租间ID),请求参数中带的企业账号,用来将文件名和企业进行关联,如果请求参数中未填accountId,则不会返回该值。  | 
     
 
   若回调没有成功(ccfs没有收到回调地址的成功响应,或没有响应体),ccfs会重试,间隔10分钟重试一次,直到成功或者超过重试次数。
报文样例
- 请求头
    
POST /CCFS/resource/ccfs/queryBillData HTTP/1.1 Authorization: auth-v2/ak/2018-07-02T02:42:49Z/content-length;content-type;host /7a8fb9d620ee488******************85c5df0cce3c6a253 Accept: */* Content-Type: application/json;charset=UTF-8 Content-Length: 297
 - 请求参数
    
{ "request": { "version": "2.0" }, "msgBody": { "beginTime": "2018-06-29 10:42:49", "endTime": "2018-07-02 10:42:49", "accountId": "", "agentId": "", "callId": "", "dataType": "call_record", "callBackURL": "https://10.57.118.171:8000" } } - 响应头
    
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Date: Mon, 02 Jul 2018 02:43:03 GMT
 - 响应示例
    
{ "response": { "version": "2.0", "resultCode": "0", "resultMsg": "success" }, "resultData": { "responseId": "9239cb50a8384bb0ab503441bf089446" }, "resultCode": "0", "resultDesc": "success" } - 呼叫中心向回调地址返回的消息示例
    
    
POST / HTTP/1.1 Accept: */* Content-Type: application/json;charset=UTF-8 Authorization: auth-v2/ak/2018-07-02T02:43:03Z/content-length;content-type;host /c5bd683******************9def5747bd572c28 Host: 10.57.118.171 Content-Length: 208
消息参数:
{ "request": { "version": "2.0" }, "msgBody": { "responseId": "9239cb50a8384bb0ab503441bf089446", "billFileName": "20180702_9239cb50a8384bb0ab503441bf089446.zip", "accountId": "" } }