繁体   English   中英

如何获得 RingCentral 呼叫队列成员可用性?

[英]How to get RingCentral Call Queue Members Availability?

我如何获得在线帐户门户中显示的每个队列的队列成员的呼叫队列可用性? 我特别希望每个队列的“成员可用性”下的 UI 中显示AvailableBusyUnavailable状态。

我发现了一些可以列出队列和队列成员的呼叫队列 API,但它们提供了像 UI 一样的成员可用性。

调用队列 API:

下图来自“ 呼叫队列 - 用户可用性和呼叫处理”一文

RingCentral 呼叫队列成员可用性

以上是正确的轨道。 队列成员列表可用后,您可以查询每个用户的队列可用性。

注意:如下所示,用户的队列可用性对于他们所在的所有队列都是相同的,因此要按队列进行演示,此信息需要与他们的队列成员列表相结合。 这可以从队列或用户角度检索:

要管理单个队列的可用性,可以使用Edit Call Queue Members API从感兴趣的队列中添加/删除用户。

对于这两个步骤,请查询获取用户状态 API。 下面提供了一个示例。

获取用户状态 API:

示例请求和响应如下所示:

要求:

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/presence

回复:

HTTP 200 OK

{
  "uri": "https://platform.ringcentral.com/restapi/v1.0/account/403228676008/extension/403228676008/presence",
   "extension":    {
      "uri": "https://platform.ringcentral.com/restapi/v1.0/account/403228676008/extension/403228676008",
      "id": 403228676008,
      "extensionNumber": "101"
   },
   "presenceStatus": "Available",
   "telephonyStatus": "NoCall",
   "userStatus": "Available",
   "dndStatus": "TakeAllCalls",
   "allowSeeMyPresence": true,
   "ringOnMonitoredCall": false,
   "pickUpCallsOnHold": true
}

使用以下命令获取用户的队列可用性:

1) 用户队列设置

用户的请勿打扰dndStatus属性用于指示用户是否接受呼叫,包括呼叫队列。 用户可以将他们的dndStatus设置为以下四个值之一,其中“部门”是呼叫队列的另一个名称:

  • DoNotAcceptAnyCalls
  • DoNotAcceptDepartmentCalls
  • TakeAllCalls
  • TakeDepartmentCallsOnly

这可以大致映射为:

  • DoNotAcceptAnyCalls用于队列呼叫: DoNotAcceptAnyCallsDoNotAcceptDepartmentCalls
  • 可用于队列呼叫: TakeAllCallsTakeDepartmentCallsOnly

2) 用户总体可用性

下一步是检查presenceStatus属性,它是一个枚举字符串,具有以下值: OfflineBusyAvailable Offline映射到 UI 中的Unavailable用。 这是个人呼叫和队列呼叫的整体可用性。

3) 队列成员可用性

要创建队列成员可用性,请像以下伪代码一样组合上述两个属性。

我在下面添加了一个额外的“可用”条件,这是绝对不需要的,但对解释很有用:

member_availability = 
  user.dndStatus == "DoNotAcceptAnyCalls"        ? "Unavailable" :
  user.dndStatus == "DoNotAcceptDepartmentCalls" ? "Unavailable" :
  user.presenceStatus == "Offline"               ? "Unavailable" :
  user.presenceStatus == "Busy"                  ? "Busy" :
  user.presenceStatus == "Available"             ? "Available" : "Available"

这为用户提供了他们所在的所有队列的可用性,因此需要将其映射到队列成员列表或用户的队列列表。

示例代码

这是我编写的一些 Ruby 包装器代码,以便更轻松地在此处更新用户的队列状态:

RingCentral Ruby SDK extension_presence.rb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM