Creating a Subscription
Function
This API is used to create device operations under an application in a specified instance and subscribe to the specified topic.
URI
POST /v2/{project_id}/link/instances/{instance_id}/notifications
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference. |
| instance_id | Yes | String | Instance ID. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| app_id | Yes | String | ID of the application to which a notification belongs. This parameter is transferred only when an application-level subscription is created. If neither app_id nor product_serial is specified, an instance-level subscription is created. |
| type | Yes | Integer | Notification type. The options include 0 (device online), 1 (device offline), 2 (device addition), 3 (device deletion), and 4 (device change). |
| topic | Yes | String | Name of the topic to which a notification is sent. The topic must exist in MQS. |
| status | Yes | Integer | Start/Stop status. The options include 0 (enabled) and 1 (disabled). |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| notification_id | Integer | Subscription ID. |
| type | Integer | Subscription type. The options include 0 (device online), 1 (device offline), 2 (device addition), 3 (device deletion), and 4 (device change). |
| status | Integer | Subscription management status. The options include 0 (enabled) and 1 (disabled). |
| topic | String | Name of the subscribed topic. |
| instance_id | String | Instance ID. |
| app_id | String | Application ID. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Status code: 404
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Status code: 500
| Parameter | Type | Description |
|---|---|---|
| error_code | String | System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
| error_msg | String | Error description. |
| request_id | String | Message ID. |
Example Requests
Subscribe to notifications when devices of a specified integration application are online and send messages to a specified MQS topic.
{
"app_id" : "ef3845be-091a-4ab5-869a-9de0025e2165",
"type" : 0,
"topic" : "online",
"status" : 0
} Example Responses
Status code: 200
Created
{
"notification_id" : 100,
"type" : 0,
"status" : 0,
"topic" : "string",
"instance_id" : "string",
"app_id" : "string"
} Status code: 404
Not Found
{
"error_code" : "ROMA.00110006",
"error_msg" : "The resource does not exist. Check whether the resource ID 1 is correct.",
"request_id" : "624c8be1-39b6-47b7-941d-c159aced368a-1619602544650-cnnorth7a-P-romalink-service01"
} Status Codes
| Status Code | Description |
|---|---|
| 200 | Created |
| 400 | Bad Request |
| 404 | Not Found |
| 500 | Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.