更新时间:2023-09-27 GMT+08:00

轮询方式获取单座席事件

前置条件

  • 座席已签入成功,如果座席已签出,则停止调用该接口
  • 针对获取在某个CC-gateway上已登录的座席的相关事件。采用HTTPS方式进行长轮询获取
  • 此方式能够提供单座席短连接的事件获取
  • 座席签入时不携带serviceToken或callBackUri

场景描述

轮询方式获取单座席事件。

座席没有事件时,这个接口需要10s才会有返回,如果有事件,则立即返回。请参考配置agentgateway/WEB-INF/config/basic.properties。

AGENT_POLL_WAIT_FLAG = ON //是否等待事件,ON表示启动,没有事件时,10s后,服务端返回响应

AGENT_POLL_WAIT_TIMES = 100 // 没有事件时,最大等待100次

AGENT_POLL_WAIT_INTERVAL = 100 //每次等待时间,单位毫秒

注:业务在调用该接口时,等待请求响应后,间隔200ms~500ms,再次调用该接口获取事件。

接口方法

设置成“GET”。该接口仅支持GET方法,不支持PUT、POST和DELETE等方法。

接口URI

https://ip:port/agentgateway/resource/agentevent/{agentid}?calldata=XXX

其中,ip为CC-Gateway服务器地址,port为CC-Gateway服务器的HTTPS端口号。

序号

名称

参数类型

是否必选

说明

1

agentid

string

True

签入的座席工号。

2

calldata

string

False

呼叫数据,接续条刷新场景下使用。

日志中的方法名

getAgentEvent

请求说明

  • 消息头
    表1 请求头参数说明

    序号

    名称

    参数类型

    是否必选

    说明

    1

    Content-Type

    string

    True

    消息主体编码方式,缺省值:application/json; charset=UTF-8

    2

    Guid

    string

    True

    静态鉴权(AUTHMODE = 1)签入接口返回的Guid;动态鉴权(AUTHMODE = 2)轮询事件接口返回的Guid。

  • 消息体

响应说明

表2 消息体参数说明

序号

名称

参数类型

说明

1

message

string

描述

2

retcode

string

错误码。取值如下:

0:成功

非0:失败

3

event

object

座席事件对象

该对象的参数说明请参见表3

表3 event对象参数说明

序号

名称

参数类型

说明

3.1

eventType

string

事件类型,参考事件

3.2

workNo

string

座席工号

3.3

content

object

事件内容对象,根据不同的事件,其相关的定义也不同

触发事件

错误结果码

  • 000-001
  • 000-003
  • 100-006

注:出现如上的失败原因码,需要将座席签出(或设置为签出态),停止轮询事件获取;直到再进行签入。

另外,在HTTPS的响应说明中,如果Status Code出现非“200 OK”的原因码,则轮询时间间隔需要间隔1秒以上,避免死循环出现,对中间网络设备产生影响,或是被拦截。

报文样例

  • 消息头
    Content-Type:application/json; charset=UTF-8
    Guid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.AgentGateway1
  • 请求参数

  • 响应参数
    {
        "message": "",
        "retcode": "0",
        "event": {
            "eventType": "AgentOther_InService",
            "workNo": "291",
            "content": null
        }
    }