Updated on 2023-06-29 GMT+08:00

Creating a Subscription Management Task

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

Table 1 Path Parameters

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.

Minimum: 0

Maximum: 32

instance_id

Yes

String

Instance ID.

Minimum: 0

Maximum: 36

Request Parameters

Table 2 Request header 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).

Minimum: 1

Maximum: 100000

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

app_id

Yes

String

ID of the app to which a notification belongs.

Minimum: 0

Maximum: 36

type

Yes

Integer

Notification type. The options include 0 (device online), 1 (device offline), 2 (device addition), 3 (device deletion), and 4 (device change).

Minimum: 0

Maximum: 10

notification_dest

No

String

Destination type. Options: MQS: The destination is MQS in the current ROMA instance. MRSKAFKA: The destination is MRS Kafka data source in the current ROMA instance. THIRD_KAFKA: The destination is Kafka data source in the current ROMA instance. This parameter is mandatory for instance-level notification subscription.

Minimum: 0

Maximum: 10

destination_app_id

No

String

Application ID to which the destination belongs. If this parameter is empty, the value is the same as that of app_id. This parameter is mandatory for instance-level notification subscription.

Minimum: 0

Maximum: 36

destination_name

No

String

Data source name at the destination. If destination_type is 1, 2, or 3, the value is the name of the KAFKA data source. This parameter is mandatory for instance-level notification subscription.

Minimum: 0

Maximum: 64

topic

Yes

String

Name of the topic to which a notification is sent. The topic must exist in MQS.

Minimum: 0

Maximum: 64

status

Yes

Integer

Start/Stop status. The options include 0 (enabled) and 1 (disabled).

Minimum: 0

Maximum: 10

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

notification_id

Integer

Subscription ID.

Minimum: 0

Maximum: 100

type

Integer

Subscription type. The options include 0 (device online), 1 (device offline), 2 (device addition), 3 (device deletion), and 4 (device change).

Minimum: 0

Maximum: 4

status

Integer

Subscription management status. The options include 0 (enabled) and 1 (disabled).

Minimum: 0

Maximum: 1

topic

String

Name of the subscribed topic.

Minimum: 3

Maximum: 200

instance_id

String

Instance ID.

Minimum: 0

Maximum: 20

app_id

String

Application ID.

Minimum: 0

Maximum: 64

destination_type

String

Destination type. Options: MQS: The destination is MQS in the current ROMA instance. MRSKAFKA: The destination is MRS Kafka data source in the current ROMA instance. THIRD_KAFKA: The destination is Kafka data source in the current ROMA instance.

Minimum: 0

Maximum: 10

destination_app_id

String

Application ID to which the destination belongs. If this parameter is empty, the value is the same as that of app_id.

Minimum: 0

Maximum: 36

destination_name

String

Data source name at the destination. If destination_type is 1, 2, or 3, the value is the name of the KAFKA data source.

Minimum: 0

Maximum: 64

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Status code: 404

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Status code: 500

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

System error code, which is the detailed error code of HTTP error codes 4xx and 5xx.

Minimum: 0

Maximum: 64

error_msg

String

Error description.

Minimum: 0

Maximum: 200

request_id

String

Message ID.

Minimum: 0

Maximum: 64

Example Requests

{
  "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.