先訂閱一台裝置的可達狀態。裝置變成可用數據聯繫、只能收簡訊,或與網路斷線時,電信主動通知。
A數據恢復
電信通知可用數據聯繫
裝置可以透過行動數據聯繫,電信主動通知。
B只能收簡訊
電信通知僅簡訊
裝置只連上簡訊服務,服務方可以改用簡訊聯繫。
C與網路斷線
電信通知斷線
裝置與網路斷線,服務方可以暫停發送,等恢復再送。
和查詢版的差別查詢版回覆當下狀態;訂閱版在狀態改變時由電信主動通知。
一個訂閱一種事件數據可聯繫、只能收簡訊、斷線,各自建立訂閱。
裝置可達狀態訂閱:運作原理
- 建立訂閱服務方送出接收通知的網址與一種事件類型;裝置由授權權杖識別,或在請求中指定。可設定到期時間與通知次數上限。
- 等待事件訂閱生效後,電信持續留意這台裝置能否聯繫得到。
- 推送通知事件發生時,電信把通知送到指定的網址;訂閱結束時也會通知。
裝置可達狀態訂閱:API 規格
規格名稱
Device Reachability Status Subscriptions(CAMARA 開源規格)
呼叫方式
POST /subscriptions 建立;GET /subscriptions 列出;GET/DELETE /subscriptions/{subscriptionId} 查詢或刪除輸入
protocol(HTTP)、sink 接收網址、types(一種事件類型)、config.subscriptionDetail.device 裝置(使用三方授權權杖時由權杖識別,不另外帶)事件
reachability-data、reachability-sms、reachability-disconnected;另有 subscription-started、subscription-updated、subscription-ended
訂閱設定
config.subscriptionExpireTime 到期時間、config.subscriptionMaxEvents 通知次數上限;config.initialEvent 設為 true 時,建立時若已符合條件先通知一次(這次通知也計入次數上限)典型用途
發送通知、派工或遠端維護前,掌握裝置何時聯繫得到
| 事件內容 | 意思 | 範例 |
|---|---|---|
| reachability-data | 裝置已連上行動網路,可用數據聯繫 | …v0.reachability-data |
| reachability-sms | 裝置只能使用簡訊 | …v0.reachability-sms |
| reachability-disconnected | 裝置與網路斷線 | …v0.reachability-disconnected |
| data.terminationReason | 訂閱結束的原因:MAX_EVENTS_REACHED、NETWORK_TERMINATED、SUBSCRIPTION_EXPIRED、ACCESS_TOKEN_EXPIRED、SUBSCRIPTION_DELETED | SUBSCRIPTION_EXPIRED |
三個情境的回覆內容(節錄)
A數據恢復
type
org.camaraproject.device-reachability-status-subscriptions.v0.reachability-data可用行動數據聯繫data.subscriptionId
550e8400-e29b-41d4對應的訂閱編號B只能收簡訊
type
org.camaraproject.device-reachability-status-subscriptions.v0.reachability-sms只能使用簡訊C與網路斷線
type
org.camaraproject.device-reachability-status-subscriptions.v0.reachability-disconnected與網路斷線規格來源:CAMARA DeviceReachabilityStatus r1.2(Device Reachability Status Subscriptions v0.8.0)