首页 - 14. 来电弹屏和坐席实时状态 登录  
最后修改者: admin  2019-08-15 00:00:00 

1. 坐席状态:实时获取自己分机状态(type=0)

编号  :  1

GET - /da/sub
此接口是一个长连接阻塞GET请求,当服务器端坐席状态改变后,才会有数据响应。 第三方应用接入本呼叫系统的时候,请务必将接口调用代码放到入ajax请求中,以免阻塞页面。示例代码详见后续 "备注"部分。

请求类型  application/x-www-form-urlencoded

请求参数

参数名 参数类型 必传 缺省值 描述
daID string Y 坐席分机
rnd string N 随机字符串,防止浏览器使用缓存数据

返回类型  application/json

返回值

总共有6种状态被返回,分别是:"未注册"、"空闲"、"通话中"、"振铃"、"示忙"、"取消示忙"。如下例子:

{"type":0,"data":{"exten":"5060", "state":"Unavailable"}}
{"type":0,"data":{"exten":"5060", "state":"Idle"}}
{"type":0,"data":{"exten":"5060", "state":"InUse"}}
{"type":0,"data":{"exten":"5060", "state":"Ringing"}}
{"type":0,"data":{"exten":"5060", "state":"DND"}}
{"type":0,"data":{"exten":"5060","state":"NotDND"}}

备注

第三方应用接入示例代码(javaScript):

var PBXHOST = 'http://192.168.1.210:8080';
function serverpush(exten){
    $.ajax({
        url: PBXHOST + "/da/sub?daID=" + exten,
        type: 'GET',
        data: { rnd: Math.random().toString(36).substring(3, 35) },
        dataType: 'json',
        timeout: 30000,
        error: function(jqXHR,textStatus){
            if( 'timeout' == textStatus ){
                serverpush(exten);
            }else{
                //如果是网络断开了,流程会执行到这里。暂停30s后继续执行
                setTimeout(function () {
                    serverpush(exten);
                }, 30000);
            }
        },
        success: function(json){
            serverpush(exten);

            if(json.type == 0){
                //分机状态改变
                console.log(json.data);
                
            }
            if(json.type == 1){
                //来电:外部客户(A客户)从中继呼入-->到内部(B坐席,B弹屏)振铃
                console.log(json.data);

            }
            if(json.type == 2){
            	//去电: 内部(A坐席,A弹屏)从中继呼出-->到外部客户(B客户)
                console.log(json.data);

            }
            if(json.type == 3){
            	//
            }
            if(json.type == 4){
            	//来电: 自动外呼
                
            }
            if(json.type == 5){
	         //来电: 来自内部(A坐席: 801)呼入-->到内部(B坐席:802,B弹屏)振铃
                console.log(json.data);
                
            }
            if(json.type == 6){
            	//去电: 从内部(A坐席:801,A弹屏)呼出-->到内部(B坐席:802)振铃
                console.log(json.data);

            }
            if(json.type == 7){
		//
            }
        }
    });
}
最后修改者: admin  2019-08-15 00:00:00 

2. 呼入来电弹屏:外部客户呼入振铃到坐席自己(type=1)

编号  :  2

GET - /da/sub
同"坐席状态"接口一样

请求类型  application/x-www-form-urlencoded

请求参数

参数名 参数类型 必传 缺省值 描述
daID string Y 坐席分机
rnd string N 随机字符串,防止浏览器使用缓存数据

返回类型  application/json

返回值

{"type":1,"data":{"caller":"18800000000","callee":"6600","duserid":15,"uniqueid":"1516202653.156","QueueNum":"901","TransferFrom":""}}

备注

参考"坐席状态"接口的代码
最后修改者: admin  2019-08-15 00:00:00 

3. 呼入来电弹屏:内部坐席呼入振铃到坐席自己(type=5)

编号  :  3

GET - /da/sub
同"坐席状态"接口一样

请求类型  application/x-www-form-urlencoded

请求参数

参数名 参数类型 必传 缺省值 描述
daID string Y 坐席分机
rnd string N 随机字符串,防止浏览器使用缓存数据

返回类型  application/json

返回值

{"type":5,"data":{"caller":"801","callee":"5060","duserid":1,"uniqueid":"1519120046.136","QueueNum":"","TransferFrom":"","cuserid":"2"}}

备注

参考"坐席状态"接口的代码
最后修改者: admin  2019-08-15 00:00:00 

4. 呼出去电弹屏:坐席自己呼叫外部客户(type=2)

编号  :  4

GET - /da/sub
同"坐席状态"接口一样

请求类型  application/x-www-form-urlencoded

请求参数

参数名 参数类型 必传 缺省值 描述
daID string Y 坐席分机
rnd string N 随机字符串,防止浏览器使用缓存数据

返回类型  application/json

返回值

{"type":2,"data":{"caller":"5060","callee":"18811111111","cuserid":1,"cworkno":"admin","orig_cid":"5060","orig_did":"18811111111","line_cid":"111196","line_did":"18811111111","uniqueid":"1517156882.114","TransferFrom":""}}

备注

参考"坐席状态"接口的代码
最后修改者: admin  2019-08-15 00:00:00 

5. 呼出去电弹屏:坐席自己呼叫内部其它坐席(type=6)

编号  :  5

GET - /da/sub
同"坐席状态"接口一样

请求类型  application/x-www-form-urlencoded

请求参数

参数名 参数类型 必传 缺省值 描述
daID string Y 坐席分机
rnd string N 随机字符串,防止浏览器使用缓存数据

返回类型  application/json

返回值

{"type":6,"data":{"caller":"801","callee":"5060","duserid":1,"uniqueid":"1519120031.136","QueueNum":"","TransferFrom":"","cuserid":"2"}}

备注

参考"坐席状态"接口的代码