更新时间:2026-07-31 GMT+08:00
分享

生成话单和录音索引

场景描述

调用该API,则会根据条件生成话单文件和录音索引文件。文件生成后,文件名称(billFileName)会通过回调的方式发送到callBackURL携带的回调地址上。

回调callBackURL需要鉴权,详见C2 监控/系统外呼/话单/知识库类接口鉴权方式

前提条件

  • 开发者环境已经构建,能够正常进行呼叫,开发者有独立服务器并且已经绑定回调地址(callBackURL)。
  • 企业帐号(租间ID:accountId)、座席ID(agentId)以及话单ID(callId)为可选组合参数,可自由组合生成话单和录音索引文件。如果三者均没有传入,则生成指定时间段内该开发者下相应的数据记录。
  • 已通过鉴权(Authorization)、获得接入地址。

导入证书步骤

AICC对第三方系统进行回调时,必须先让AICC信任第三方https证书,通过证书建立安全信任关系,否则通信会被安全机制阻止。

  1. 获取证书。

    1. 在浏览器中打开第三方网页,单击地址栏左侧的不安全按钮,单击证书详情。

    2. 在证书详情弹窗中,选择详细信息页签,单击“导出”按钮。

    3. 导出扩展名为.pem或.cer的文件。通过DV下发证书时,要求大小不能超过512KB。

  2. 导入证书(DV管理证书场景)。

    如果局点是非DV管理证书场景,请参考3导入证书。
    1. 使用admin账户登录DV平台,单击左上角图标按钮,选择“系统设置”
      图1 系统设置
      图2 系统设置
    2. 顶部菜单栏选择“网元证书管理”,然后点击左侧“站点管理”菜单,找到站点名称为“AICC_VM”的记录,单击右侧“查看”按钮进入查看界面。
      图3 AICC_VM
      图4 AICC_VM
    3. 在查看界面找到“AICC客户端证书”记录,单击右侧“查看”按钮,进入证书详情页面。
      图5 查看按钮
      图6 查看按钮
    4. 单击“导入证书”按钮,进入导入证书页面。
      图7 导入证书按钮
      图8 导入证书按钮
    5. 填写证书相关信息,点击“导入”按钮,上传的证书仅支持扩展名为.pem,.crt,.cer,.keystore,.truststore,.jks的文件,大小不能超过512KB。
      图9 导入按钮
      图10 导入按钮
    6. 导入成功后,单击左侧的“证书更新”菜单,再单击右上角“创建”按钮。
      图11 创建按钮
      图12 创建按钮

    7. 填写任务信息,站点选择“AICC_VM”,点击下一步:
      图13 AICC_VM
      图14 AICC_VM
    8. "AICC虚拟化网元证书"选择"AICC客户端证书",服务选择"AICC CCFS"。
      图15 AICC CCFS
      图16 AICC CCFS
    9. 勾选“AICC客户端证书”,单击“下一步”
      图17 AICC客户端证书
      图18 AICC客户端证书
    10. 选择目标主机,点击完成后,自动跳转到证书“更新列表”,此时任务状态为“待执行”。
      图19 目标主机
      图20 目标主机
    11. 找到刚刚新建的任务,单击“更新”按钮,完成证书下发。
      图21 更新按钮
      图22 更新按钮

  3. 导入证书(非DV管理证书场景)。

    1. 以运维用户登录CC-FS的服务器,切换到root用户。
      su - root
    2. 请检查CC-FS配置文件“/home/ccfsapp/webapps/ccfsapp/WEB-INF/classes/config/servicecloud.base.properties”“aicc.ssl.trustAll”是否配置为false,请配置为false。
    3. 将CC-FS生成索引文件通知回调地址加载的第三方证书上传至AICC的truststore.jks证书的同一目录中,目录为:“$HOME/conf”,具体目录请以实际环境为准。
    4. 修改上传的第三放证书的属组。具体证书名称及后缀以实际导入为准。
      chown ccfsapp:ccfsapp XXX.pem
    5. 执行如下命令检查证书实际格式,查看输出内容的Keystore type的值,若结果为PKCS12 ,需要执行步骤3.6转换证书为pem格式,否则执行步骤3.7
      keytool -list -v -keystore XXX.pem
    6. 转换证书为pem格式:执行如下命令后,输入客户证书密码,转换后得到文本格式的pem文件。
      openssl pkcs12 -in 原证书名称.xxx -out 目标证书名称.pem -nodes
    7. 执行下面的命令将第三方证书导入到truststore.jks中。
      keytool -import -alias xxx -file XXX.pem -keystore truststore.jks

      请依据界面提示输入truststore.jks证书密码。

    8. 在环境上删除XXX.pem证书。
    9. 进入“/home/ccfsapp/bin”目录,执行如下命令重启CC-FS。。
      ./shutdown.sh;./startup.sh

使用限制

开发者只能访问该帐号下的数据信息,开发者帐号(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 请求Headers参数说明

序号

名称

参数类型

是否必选

默认值

说明

1

Content-Type

String

True

固定填 application/json; charset=UTF-8。

2

Authorization

String

True

生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式

表2 请求Body中request参数说明

序号

名称

参数类型

是否必选

默认值

说明

1

version

String(1-32)

True

2.0

协议版本。当前固定值为2.0。

表3 请求Body中msgBody参数说明

序号

名称

参数类型

是否必选

默认值

说明

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

需生成的数据记录文件类型。

  • call:话单记录
  • record:录音记录索引
  • call_record:话单记录和录音记录索引

10

callBackURL

String

True

回调地址,来源于第三方服务。平台生成数据记录文件后将billFileName返回到该地址。

响应说明

调用本接口获得响应分为两部分:

(1)调用本接口立即得到响应

表4 响应消息参数说明

序号

名称

参数类型

说明

1

resultCode

String

请求返回的结果码,

  • 0:成功
  • 非0:失败。

2

resultDesc

String

请求结果描述,详见错误码参考

3

resultData

Object

请求响应数据,参数说明详见表6-响应消息resultData参数说明。

4

response

Object

请求结果对象,参数说明详见表6

不推荐使用,为兼容老版本保留字段。

表5 响应消息resultData参数说明

序号

名称

参数类型

说明

3.1

responseId

String

调用本接口成功后,生成的唯一标识,是文件名称的组成部分。

表6 响应消息response参数说明

序号

名称

参数类型

说明

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)组成。

表7 回调返回消息请求Body中msgBody参数说明

序号

名称

参数类型

说明

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": ""
        }
    }

相关文档