Subscribing to Device Management Data

Typical Scenario

An application can subscribe to management data of a device on the platform. When operations are performed on the device (for example, device upgrade), the platform notifies the application of the operation status or results. The application can call this API to subscribe to different types of device upgrade notifications on the platform.

API Function

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

API Description

1
def subDeviceManagementData(self, sdmdInDTO, accessToken)

Parameter Description

Parameter

Mandatory or Optional

Type

Location

Description

smdInDTO

Mandatory

SubDeviceManagementDataInDTO

body

For details, see SubDeviceManagementDataInDTO structure.

accessToken

Mandatory

String

header

This parameter is set to the value of the accessToken obtained by calling the Authentication API.

SubDeviceManagementDataInDTO structure

Parameter

Mandatory or Optional

Type

Location

Description

notifyType

Mandatory

String

body

Indicates the notification type.

  • swUpgradeStateChangeNotify: software upgrade status changed
  • swUpgradeResultNotify: software upgrade result
  • fwUpgradeStateChangeNotify: hardware upgrade status changed
  • fwUpgradeResultNotify: hardware upgrade result

callbackurl

Mandatory

String

body

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

This URL must be an HTTPS channel callback URL and contain its port. An example value is https://XXX.XXX.XXX.XXX:443/callbackurltest.

NOTE:

The HTTP channel can be used only for commissioning.

Response Parameters

void

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 does not exist.

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

The application calls the API at a frequency that exceeds the flow control threshold.

The application 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

Invalid access token or application ID.

The access token is invalid.

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

500

100229

Failed to obtain the AppKey from the message header.

Failed to obtain the AppKey from the message header.

500

100244

Failed to register the route.

Failed to register the route.

Recommendation: Contact the IoT platform maintenance personnel.