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
: 失败时,返回的失败原因。