Streaming API提供了对所选数据集的只读访问业务指标.一旦你的应用程序建立了到流端点的连接,事件的提要就会传递到你的应用程序。

基于时间的度量,例如waiting_time_avg在响应影响度量值的事件而更改度量时,将在提要中交付。这些事件包括访客或座席加入聊天、离开聊天或发送消息、座席转移部门或聊天结束。

使用流式API包括以下步骤:

如果决定停止收集某个指标的数据,可以取消订阅。看到取消订阅一个度量

允许

  • 老板
  • 管理员
  • 代理

速度限制

每分钟只允许一定数量的到Streaming API的新连接。属性限制了新连接的数量REST API速率限制每分钟200个请求。验证并建立到Streaming API的一个web套接字连接算作每分钟200个请求中的一个请求。例如,在一分钟内,您可以发出190个REST API请求并建立10个新连接,然后才会受到速率限制。

此外,只允许一定数量的并发运行到Streaming API的连接。作为流式API消费者,每个帐户最多可以有1000个并发连接,每个代理最多可以有10个并发连接。

一旦连接打开,您就可以收到无限数量的度量或事件更改。这些不计入任何设定的速率限制。

亚博Zendesk保留对指定端点的速率限制进行调整的权利,以便为所有客户提供高质量的服务。

如果超过帐户或代理速率限制,Zendesk Chat将响应HTTP 429亚博请求太多响应代码和详细说明启动速率限制器原因的正文。

建立连接

要打开连接,请连接到wss: / / rtm.zopim.com/stream使用API OAuth令牌的WebSocket端点。

下面以Node.js为例ws从服务器端创建到API的WebSocket连接。

             
varWebSocket需要“ws”varws_clientWebSocket“wss: / / rtm.zopim.com/stream”“授权”“持票人”+OAuth2访问令牌ws_client“开放”函数控制台日志成功连接的

订阅指标

建立连接后,可以使用指定度量键的消息订阅度量。看到聊天指标代理指标对于度量键。

要订阅聊天指标,请使用以下格式:

             
主题“聊天{metric_key}”。行动“订阅”

要订阅代理指标,请使用以下格式:

             
主题“代理{metric_key}”。行动“订阅”

订阅具有时间窗口的度量

有些聊天指标有一个时间窗口。订阅它们时必须指定窗口大小。看到聊天指标对于带有时间窗口的度量。

请注意:所有代理指标都没有时间窗口。

             
主题“聊天{metric_key}”。行动“订阅”窗口window_size_in_minutes

可用的时间窗口为30.分钟,60分钟。

订阅一个部门的度量

您可以选择为特定部门订阅指标department_id在订阅消息中。要列出帐户上的所有部门或按名称获取部门,请使用部门API

关于聊天指标:

             
主题“聊天{metric_key}”。行动“订阅”department_iddepartment_id

对于代理度量:

             
主题“代理{metric_key}”。行动“订阅”department_iddepartment_id

处理传入事件

一旦订阅了一个或多个指标,就可以开始从传入事件收集数据。在下面的例子中,WebSocket客户端监听传入的事件。客户端是使用Node.js创建的ws图书馆。看到建立连接

             
ws_client“消息”函数事件控制台日志'收到来自服务器的消息:'+事件var消息JSON解析事件如果消息status_code= = !200控制台日志“无效状态码”+消息status_code返回如果消息内容& &消息内容类型= =“更新”控制台日志“收到的度量数据”...

聊天事件示例

以下是在30分钟的时间窗口内订阅几个聊天指标后收到的示例消息。的department_id当订阅度量时不指定部门时为空。还要注意上提供的30分钟窗口missed_chats

             
“内容”“主题”“聊天”“数据”“incoming_chats”2“类型”“更新”“department_id”“status_code”200
             
“内容”“主题”“聊天”“数据”“assigned_chats”0“类型”“更新”“department_id”“status_code”200
             
“内容”“主题”“聊天”“数据”“waiting_time_avg”12“类型”“更新”“department_id”“status_code”200
             
“内容”“主题”“聊天”“数据”“missed_chats”“30”1“类型”“更新”“department_id”“status_code”200

代理事件示例

以下是订阅特定代理指标后收到的示例消息department_id

             
“内容”“主题”“代理”“数据”“agents_online”26“类型”“更新”“department_id”5“status_code”200
             
“内容”“主题”“代理”“数据”“agents_away”0“类型”“更新”“department_id”5“status_code”200
             
“内容”“主题”“代理”“数据”“agents_invisible”1“类型”“更新”“department_id”5“status_code”200

取消订阅一个度量

一旦您希望停止为某个指标收集数据,您可以取消对该指标的订阅。事件将停止在连接上推送。

             
主题"{聊天或代理}.{metric_key}"行动“退订”