我正在开发一个应用程序,当在主线或任何可用的分机上收到呼叫时,我需要得到通知。应该订阅哪个事件来获得通知?
此外,RingCentral 是否支持 Webhook 通知?在某个地方,我遇到了说 RingCentral 只支持 PubNub 的东西,但我看到有一种方法可以将 TransportType 提供为 PubNub 或 Webhook。
我正在开发一个应用程序,当在主线或任何可用的分机上收到呼叫时,我需要得到通知。应该订阅哪个事件来获得通知?
此外,RingCentral 是否支持 Webhook 通知?在某个地方,我遇到了说 RingCentral 只支持 PubNub 的东西,但我看到有一种方法可以将 TransportType 提供为 PubNub 或 Webhook。
您可能希望订阅 Presence 事件,确保将detailedTelephonyStatus
查询参数设置为true
.
以下是创建在线事件订阅的文档中的一个示例:
POST /restapi/v1.0/subscription HTTP/1.1
Authorization: Bearer U0pDMDFQMDFQQVMwMnxBQUJFU3VOMlp2bjZFR0gxNFhfTUNONhaU1SVHc
Content-Type: application/json
Content-Length: 235
{
"eventFilters": [
"/restapi/v1.0/account/~/extension/~/presence?detailedTelephonyState=true&aggregated=true"
],
"deliveryMode": {
"transportType": "PubNub",
"encryption": "true"
}
}
在该eventFilters
属性中,您可能希望为您希望监控的帐户中的每个扩展添加一个数组元素。
我在 Node.js 中创建了一个示例应用程序,用于在此处创建对 RingCentral 沙箱帐户中所有扩展的订阅:https ://github.com/bdeanindy/ringcentral-subscription-basics 。
是的,阅读有关创建订阅的文档 https://developers.ringcentral.com/api-docs/latest/index.html#!#RefCreateSubscription,您将看到两者PubNub
都Webhook
支持transportType。
以下是如何创建使用Webhook
transportType的订阅的示例:
POST /restapi/v1.0/subscription HTTP/1.1
Accept: application/json
Authorization: Bearer U0pDMDFQMDFQQVMwMXxBQURIZjAzWFFySGpMen
Content-Type: application/json
Content-Length: 269
{
"eventFilters": [
"/restapi/v1.0/account/~/extension/~/presence",
"/restapi/v1.0/account/~/extension/~/message-store"
],
"deliveryMode": {
"transportType": "WebHook",
"address": "https://consumer-host.example.com/consumer/path"
}
}
您需要确保将deliveryMode.address
值更改为指向您管理接收事件的服务器。此服务器需要有一个有效的证书链,支持端口 443 上的连接。