首页 - 13. 管理呼叫、坐席状态监控接口 登录  
最后修改者: admin  2019-08-15 00:00:00 

1. 监听坐席通话

编号  :  1

GET/POST - /index.php?m=Api&c=AgentMonitor&a=spy

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
exten string Y 监听者坐席自己的分机号
callee_exten string Y 被监听者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"监听通话成功!"}


失败:
{"result":"error","code":404,"msg":"监听通话失败,监听者分机号不存在"}
{"result":"error","code":403,"msg":"监听通话失败,Token不合法或者已经失效!请刷新token后再试"}
{"result":"error","code":404,"msg":"监听通话失败:未选择被监听的坐席通话!"}
{"result":"error","code":404,"msg":"监听通话失败:被监听的坐席分机(1003)通话不存在!"}
{"result":"error","code":403,"msg":"监听通话失败:监听者坐席分机(5060)未就绪!"}
{"result":"error","code":500,"msg":"监听通话失败!"}
最后修改者: admin  2019-08-15 00:00:00 

2. 介入通话

编号  :  2

GET/POST - /index.php?m=Api&c=AgentMonitor&a=involveIn

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
exten string Y 介入者坐席自己的分机号
callee_exten string Y 被介入者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"介入通话成功!"}


失败:
{"result":"error","code":404,"msg":"介入通话失败,介入者分机号不存在"}
{"result":"error","code":403,"msg":"介入通话失败,Token不合法或者已经失效!请刷新token后再试"}
{"result":"error","code":404,"msg":"介入通话失败:未选择被介入的坐席通话!"}
{"result":"error","code":404,"msg":"介入通话失败:被介入的坐席分机(1003)通话不存在!"}
{"result":"error","code":403,"msg":"介入通话失败:介入者坐席分机(5060)未就绪!"}
{"result":"error","code":500,"msg":"介入通话失败!"}
最后修改者: admin  2019-08-15 00:00:00 

3. 接管坐席通话

编号  :  3

GET/POST - /index.php?m=Api&c=AgentMonitor&a=takeover

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
exten string Y 接管者坐席的分机号
callee_exten string Y 被接管者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"接管通话成功!"}


失败:
{"result":"error","code":404,"msg":"接管通话失败,接管者分机号不存在"}
{"result":"error","code":404,"msg":"接管通话失败:未选择被接管的坐席通话!"}
{"result":"error","code":404,"msg":"接管通话失败:被接管的坐席(10051)通话不存在!"}
{"result":"error","code":403,"msg":"接管通话失败:接管者坐席分机(5060)未就绪!"}
{"result":"error","code":500,"msg":"接管通话失败!"}
最后修改者: admin  2019-08-15 00:00:00 

4. 批量挂断坐席通话

编号  :  4

GET/POST - /index.php?m=Api&c=AgentMonitor&a=hangup
说明:本接口可以批量挂断坐席通话,不丢失通话录音。 url参考: /index.php?m=Api&c=AgentMonitor&a=hangup&token=BDWGLZVP7BAPRK3EIZYBQRB4SFQMR7X8TBIUOYG474KP34BY&extens=5060,1005

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

请求参数

参数名 参数类型 必传 缺省值 描述
extens string Y 要挂断的坐席分机号字符串,请用逗号分隔,例如:"8001,8002,8003"
token string Y token
exten string Y 接口发起者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"挂断1个通话成功!"}


失败:
{"result":"error","code":404,"msg":"挂断失败:未选择要挂断的坐席通话!"}
{"result":"error","code":500,"msg":"挂断通话失败!"}
最后修改者: admin  2019-08-15 00:00:00 

5. 批量强制挂断坐席通话

编号  :  5

GET/POST - /index.php?m=Api&c=AgentMonitor&a=forcehangup
说明:对于有些顽固的通话,当采用"批量挂断坐席通话" 接口后仍然不能挂断该坐席的通话,则可以尝试本接口来强制挂断坐席通话。注意:本接口挂断通话,可能会丢失通话录音。 url参考: /index.php?m=Api&c=AgentMonitor&a=forcehangup&token=BDWGLZVP7BAPRK3EIZYBQRB4SFQMR7X8TBIUOYG474KP34BY&extens=5060,1005

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

请求参数

参数名 参数类型 必传 缺省值 描述
extens string Y 要挂断的坐席分机号拼接字符串,请用逗号分隔,例如:"8001,8002,8003"
token string Y token
exten string Y 接口发起者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"强制挂断1个通话成功!"}


失败:
{"result":"error","code":404,"msg":"强制挂断失败:未选择要强制挂断的坐席通话!"}
{"result":"error","code":500,"msg":"强制挂断通话失败!"}
最后修改者: admin  2019-08-15 00:00:00 

6. 批量注销坐席分机

编号  :  6

GET/POST - /index.php?m=Api&c=AgentMonitor&a=unregister
注意:此接口只针对 SIP 和 IAX 类型分机 有效,对于DAHDI等其它类型分机无效。

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
extens string Y 要注销的坐席分机号拼接字符串,请用逗号分隔,例如:"8001,8002,8003"
exten string Y 接口发起者坐席的分机号

返回类型  application/json

返回值

成功:
{"result":"success","code":200,"msg":"成功注销1个分机!"}


失败:
{"result":"error","code":404,"msg":"注销失败:未选择要注销的坐席!"}
{"result":"error","code":403,"msg":"注销失败,Token不合法或者已经失效!请刷新token后再试"}
{"result":"error","code":404,"msg":"注销失败:所选分机都不能被注销!"}
最后修改者: admin  2019-08-15 00:00:00 

7. 坐席状态监控: 获取所有坐席实时通话状态(拉取)

编号  :  7

GET - /index.php?m=Api&c=AgentMonitor&a=agentstate

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

请求参数

参数名 参数类型 必传 缺省值 描述

返回类型  application/json

返回值

总共有4种状态被返回,分别是:Unavailable:"未注册"、Idle:"空闲"、InUse:"通话中"、Ringing:"振铃"、DND:"示忙"、 CF:"无条件转移"。如下例子:

{
result: "success",
code: 200,
msg: "获取分机状态成功",
data: {
    "703": "Unavailable",
    "801": "Idle",
    "1001": "Unavailable",
    "1002": "Idle",
    "1003": "Unavailable",
    "1004": "Unavailable",
    "1005": "Unavailable",
    "5060": "Idle"
  }
}


{"result":"success","code":200,"msg":"获取分机状态成功","data":{"1001":"Unavailable","1002":"Idle","1005":"Unavailable","1004":"Unavailable","5060":"InUse","703":"Unavailable","1003":"Unavailable","801":"Ringing"}}
最后修改者: admin  2019-08-15 00:00:00 

8. 坐席状态监控: 获取所有坐席实时通话状态(推送)

编号  :  8

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

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

请求参数

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

返回类型  application/json

返回值

总共有4种状态被返回,分别是:Unavailable:"未注册"、Idle:"空闲"、InUse:"通话中"、Ringing:"振铃"、DND:"示忙"、 CF:"无条件转移"。如下例子:

{"1001":"Idle","1002":"Unavailable","1005":"Unavailable","1004":"Unavailable","5060":"Unavailable","1003":"Unavailable","801":"Unavailable"}

如果坐席 "5060" 注册成功,那么只推送 "5060"分机的状态变化,如下:
{"5060":"Idle"}

备注

第3方开发商接入示例代码(javaScript):

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

            //要监控的坐席状态发生改变,使用返回的json数据,采用js修改页面dom内容
             console.log(json);

        }
    });
}
最后修改者: admin  2019-08-15 00:00:00 

9. 批量示忙

编号  :  9

GET/POST - /index.php?m=Api&c=AgentMonitor&a=dnd

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
exten string Y 接口发起者坐席的分机号
extens string Y 要示忙的坐席分机号字符串,请用逗号分隔,例如:"8001,8002,8003"

返回类型  application/json

最后修改者: admin  2019-08-15 00:00:00 

10. 批量示闲

编号  :  10

GET/POST - /index.php?m=Api&c=AgentMonitor&a=idle

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

请求参数

参数名 参数类型 必传 缺省值 描述
token string Y token
exten string Y 接口发起者坐席的分机号
extens string Y 要示闲的坐席分机号字符串,请用逗号分隔,例如:"8001,8002,8003"

返回类型  application/json