Callcenter API
WebSocket 接口说明
说明: 这是Websocket底层的接口。不推荐直接使用,推荐使用上一节的JS SDK。仅供参考。
约定
- WebSocket接口主要用于通话控制接口及订阅事件
- WebSocket 地址:
ws://IP:端口/ws
,如ws://192.168.1.141:8081/ws
。 - 必选参数一般以黑体字标出
- 接口功能动作名称及参数采用驼峰式
- 请求及返回数据都是JSON格式
- 返回值中的code
200
为正常,其它为错误
请求及返回值格式
请求消息
请求消息如下面格式,使用JSON-RPC编码:
socket.send('[{
"jsonrpc": "2.0", -- 固定参数
"method": "jsapi", -- jsapi/login/verto.subscribe/verto.unsubscribe
"id": 1, -- 客户端消息ID
"params": { -- 固定参数
"command": "lua", -- 除认证及事件订阅外,该参数固定为lua
"data": { -- 除认证及事件订阅外,该参数固定
"method": "ccc", -- 除认证及事件订阅外,该参数固定ccc
"func" : "ccGoBreak" -- 具体调用的接口功能
"data": {
"queue": "100000", -- 队列
"agent": "1001", -- 坐席
"reason": "lunch" -- 示忙的原因
}
},
"sessid": "156f46c4-2cfd-b568-92f3-9f4e5b4385fd" -- 代表客户端的唯一ID
}
}]');
以上格式是XSwitch最终所收到的数据格式,实际使用过程中,需要再封装一层,以签入举例如下:
function ccLogin(agent, queue, extn)
对于基于浏览器的坐席客户端,Verto已经封装好,文档参见:http://evoluxbr.github.io/verto-docs/ 。
由于坐席客户端基于Windows,文档中将展示XSwitch的原始数据格式,开发人员需要基于该数据格式,进行集成和封装,可以参考Verto的集成方式。
返回值
返回值中的result
是我们需要的数据。
code
: 整数,状态码。200
表示成功,500
及其它均表示出错(参考HTTP协议状态码)。message
: 文本。成功时返回的数据。reason
: 失败时,返回的失败原因。