首页 - 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{
   //无录音文件

}