用户存在是查找此信息的正确位置,这可以通过 REST API 静态完成,也可以使用订阅 API 的推送通知通过实时更新完成。
软电话中显示的状态是用户在场的几个不同值的组合,可以如下所示。
以下知识库文章说明了如何确定状态:
Presence - 通过收藏夹查看 Presence | RingCentral 电话
他们的电话状态将显示为可用、请勿打扰和忙碌。隐形或离线联系人将被视为隐形。
“ Get User Status API ”(又名 Presence API)将返回如下对象:
{
"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
}
由此,可以使用以下伪代码构建用户状态:
user_status =
!user.allowSeeMyPresence ? "Invisible" :
user.presenceStatus == "Offline" ? "Invisible" :
user.dndStatus == "DoNotAcceptAnyCalls" ? "Do Not Disturb" :
user.telephonyStatus == "CallConnected" ? "On a Call" :
user.telephonyStatus == "OnHold" ? "On Hold" :
user.presenceStatus == "Busy" ? "Busy" : "Available"
一旦页面显示此信息,您还可以通过为您希望接收更新的用户创建对存在端点的订阅来实时更新它。