首页 - 10. 通话记录CDR接口
最后修改者: admin 2019-08-15 00:00:00
1. 下载和播放通话录音【旧-舍弃】
编号 : 01
GET - /index.php?m=Api&c=Cdr&a=downloadRec
/index.php?m=Api&c=Cdr&a=downloadRec&uniqueid=1513858964.23&accountcode=103_out_188111111&inner_exten=103&token=d8447357560b8710c91f7ba8877839c1
请求类型 application/x-www-form-urlencoded
请求参数
参数名 | 参数类型 | 必传 | 缺省值 | 描述 |
---|---|---|---|---|
uniqueid | string | Y | 通话记录唯一id | |
accountcode | string | Y | 此值请从数据库中查询 | |
inner_exten | string | Y | 通话记录关联的坐席分机号 | |
token | string | N | token鉴权字符串 | |
userid | int | N | 用户id,用于特殊权限用户查看通话记录 |
返回类型 application/json
返回值
1)token非法 {"result":"error","code":403,"msg":"Token不合法或者已经失效!请刷新token后再试"} 2)成功
最后修改者: admin 2021-03-15 14:54:46
2. 下载和播放通话录音【新】
编号 : 02
GET - http://IP/基础目录/年-月/日/mp3文件名
例如: http://1.2.3.4/rec/2021-01/05/91275_out_18811110000_1609846843.23925.mp3
请求类型 text/plain
请求参数
参数名 | 参数类型 | 必传 | 缺省值 | 描述 |
---|---|---|---|---|
accountcode | string | N | 数据库中字段名,即mp3文件名前缀部分 | |
uniqueid | string | N |
返回类型 text/plain
返回值
完整的mp3文件下载url地址
备注
第3方CRM嵌入录音开发步骤说明: 1) 点星PBX需要开启mysql的远程链接并授权 cdrlog.cdr 表的select权限 2) 录音文件的URL解析依赖于第3方CRM后端脚本(例如:PHP) 从 数据cdrlog的cdr表中查询到的如下几个字段:starttime、 callresult 、answered_tag 、 uniqueid 、 accountcode 、rec_base_dir 和 rec_format字段。 【字段用处说明】: starttime:呼叫开始时间,可以解析出录音文件存放的目录,录音目录按 "年-月/日"存放 uniqueid: 呼叫时间戳,和starttime一样,也可以解析出录音文件存放的目录,开发者选择任意字段都可以。【注意】拼接录音URL需要此字段 callresult 和 answered_tag:用于判断呼叫是否接通,接通后的录音才有效,详见下面代码 accountcode:点星PBX呼叫中心服务器存储录音文件名的一部分字符串,【注意】拼接录音URL需要此字段 rec_base_dir:录音文件存放的基础目录(服务器上的绝对路径),【注意】拼接录音URL需要此字段 rec_format: 录音文件的格式,字段内容一般是mp3或者wav,【注意】拼接录音URL需要此字段 3)只有当 callresult == 'ANSWERED' && answered_tag == 'Y' 时, 且 accountcode 字段不为空字符串(accountcode != '')时,才表示接听成功且有录音 4)通过starttime 或 uniqueid字段都可以计算出录音的日期目录路径,开发者选择任意字段都可以,解析方法很简单不再解释 5)根据数据库中查询到的上述字段,解析录音URL的PHP程序示例代码如下: <?php if( $callresult=='ANSWERED' && $answered_tag=='Y' && $accountcode != '' ){ //有录音文件,下面用PHP脚本解析出录音文件URL,返回给前端H5播放器插件 $recUrl = 'http://1.2.3.4'; //具体点星PBX服务器请替换成不同的IP地址(【注意】:不要带/结尾) //下面的5字段变量均来自点星PBX通话记录数据表cdrlog.cdr //$starttime = '2021-01-05 10:21:32'; //本例子也可以用 $uniqueid 字段解析出录音存放目录:2021-01/05/ $uniqueid = '1609844297.142596'; //小数点左边是呼叫时间戳,可以解析出录音存放目录:2021-01/05/ $accountcode = '8029_out_18811110000'; $rec_base_dir = '/rec'; $rec_format = 'mp3'; list($cdrTime, $temp1) = explode('.', $uniqueid); //切割字符串后,$cdrTime 就为当前呼叫 $starttime 对应的时间戳 $ymd = Date('Y-m/d', $cdrTime); //解析出录音存放目录:2021-01/05/ $recUrl .= $rec_base_dir .'/'. $ymd .'/'. $accountcode .'_'. $uniqueid .'.'. $rec_format; //【拼接字符串】 //打印解析出来的录音文件URL为: http://1.2.3.4/rec/2021-01/05/8029_out_18811110000_1609844297.142596.mp3 echo $recUrl ; //第3方CRM可以将$recUrl嵌入到 h5音频播放器 }else{ //无录音文件 }