Subscribing to Service Data of the IoT Platform
Typical Scenario
An NA can subscribe to service data of a device on the IoT platform. When the service data changes (for example, the device is registered, the device reports data or the device status changes), the IoT platform can push change notifications to the NA.
API Function
This API is used by an NA to subscribe to service change notifications on the IoT platform. When the device status or data changes, the IoT platform pushes notifications to the NA.
API Prototype
Method |
POST |
---|---|
URL |
https://server:port/iocm/app/sub/v1.2.0/subscriptions?ownerFlag={ownerFlag} |
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. |
ownerFlag |
Optional |
String(256) |
query |
Indicates the owner flag of the callback URL.
|
appId |
Optional |
String(256) |
body |
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. Set this parameter to the value of appId of the authorized application. |
notifyType |
Mandatory |
String |
body |
Indicates the notification type based on which an NA can receive notifications pushed by the IoT platform.
|
callbackUrl |
Mandatory |
String(1024) |
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. |
channel |
Optional |
String(32) |
Body |
Indicates the transmission channel. For the MQTT client, the value is MQTT. In other cases, the value is HTTP. |
Response Parameters
Status Code: 201 Created
Parameter |
Type |
Description |
---|---|---|
subscriptionId |
String |
Uniquely identifies a subscription. The value of this parameter is allocated by the IoT platform during subscription creation. |
notifyType |
String |
Indicates the notification type. |
callbackUrl |
String |
Indicates the callback URL of the subscription. |
clientIds |
List<String> |
Identifies an MQTT client. The value is that returned when MQTT is subscribed to. |
Request Example
Method: POST request: https://server:port/iocm/app/sub/v1.2.0/subscriptions Header: app_key: ****** Authorization: Bearer ***** Content-Type: application/json Body: { "appId": "*******", "notifyType": "deviceInfoChanged", "callbackUrl": "https://***********" }
Response Example
Response: Status Code: 201 Created Content-Type: application/json Body: { "subscriptionId": "*******", "notifyType": "*******", "callbackUrl": "https://***********" }
Error Codes
HTTP Status Code |
Error Code |
Error Description |
Remarks |
---|---|---|---|
400 |
100222 |
The request callbackurl is illegal. |
The callback URL is invalid. Recommended handling: Check whether the callback URL in the request body is correct. |
403 |
100217 |
The application hasn't been authorized. |
The application has not been authorized. Recommended handling: In scenarios where applications are not authorized, ensure that request parameter appId is null. |
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. |
409 |
100227 |
The resource is conflicted. |
A resource conflict occurs. The notification type has been subscribed to. Recommended handling: Check whether the notification type has been subscribed. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot