Help Center/ IoT/ API Reference/ Northbound API Reference/ Subscription Management/ Subscribing to Management Data of the IoT Platform
Updated on 2022-02-24 GMT+08:00

Subscribing to Management Data of the IoT Platform

Typical Scenario

An NA can subscribe to management data of a device on the IoT platform. When operations are performed on the device (for example, device upgrade), the IoT platform notifies the NA of the operating status or results.

API Function

This API is used by an NA to subscribe to device upgrade notifications on the IoT platform. When the device is upgraded, the IoT platform sends a notification to the NA.

API Prototype

Method

POST

URL

https://server:port/iodm/app/sub/v1.1.0/subscribe

Transport Protocol

HTTPS

Request Parameters

Parameter

Mandatory or Optional

Type

Location

Description

app_key

Mandatory

String

header

Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform.

Authorization

Mandatory

String

header

Indicates the authentication information for accessing the IoT platform. The value is Bearer {accessToken}, in which {accessToken} indicates the access token returned by the Authentication API.

notifyType

Mandatory

String

body

Indicates the notification type.

  • swUpgradeStateChangeNotify: software upgrade status change notification; sending such a notification after subscription
  • swUpgradeResultNotify: software upgrade result notification; sending such a notification after subscription
  • fwUpgradeStateChangeNotify: hardware upgrade status change notification; sending such a notification after subscription
  • fwUpgradeResultNotify: hardware upgrade result notification; sending such a notification after subscription

callbackUrl

Mandatory

String

body

Indicates the callback URL of a subscription, which is used to receive notification messages of the corresponding type.

HTTPS or HTTP callback URL can be used. HTTPS is recommended. The callback URL can be a combination of an IP address or a domain name and a port number. An example value is https://XXX.XXX.XXX.XXX:443/callbackurltest.

Response Parameters

Status Code: 200 OK

Request Example

Method: POST
request: https://server:port/iodm/app/sub/v1.1.0/subscribe
Header:
app_key: ******
Authorization: Bearer *****
Content-Type: application/json
Body:
{
  "notifyType": "swUpgradeStateChangeNotify",
  "callbackUrl": "http://******"
}

Response Example

Response:
Status Code: 200 OK

Error Codes

HTTP Status Code

Error Code

Error Description

Remarks

400

100222

Internal server error.

The callback URL is invalid.

Recommended handling: Check whether the callback URL in the request body is correct.

400

100228

The application input is invalid.

The application input is invalid.

Recommended handling: Check whether parameters in the API request are correct by referring to the request parameter description.

403

100203

The application is not existed.

The application does not exist.

Recommended handling:

  • Check whether appId carried in the HTTP request header is correct.
  • Check whether appId in the request path (URL) is correct.

403

1010009

app throttle exceed.

The NA calls the API at a frequency that exceeds the flow control threshold (100 calls per minute by default).

Recommended handling: Contact IoT platform maintenance personnel to adjust the flow control threshold or control the API call frequency.

403

1010005

App_key or access_token is invalid.

The access token is invalid.

Recommended handling: Check whether accessToken carried in the API request is correct.

500

100229

Get AppKey from header failed.

Failed to obtain the AppKey from the message header.

500

100244

register out route fail.

Failed to register the route.

Recommendation: Contact the IoT platform maintenance personnel.