Updated on 2025-03-26 GMT+08:00

Creating a Source

Function

Creating a Source

URI

POST /v2/{project_id}/link/instances/{instance_id}/rules/{rule_id}/sources

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. The default value is default for compatibility with 20.0.Project ID. For details about how to get the project ID, see "Appendix" > "Obtaining a Project ID" in this document.

instance_id

Yes

String

Instance ID. The default value is default for compatibility with 20.0.

rule_id

Yes

String

Rule ID.

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).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

product_id

Yes

Integer

Product ID, which is automatically rounded down. When the rule source is set to a product, no group can be configured.

device_id

No

Integer

Device ID. The value is automatically rounded down. If this parameter is left blank, all devices are queried.

group_id

No

Integer

Device ID, which is automatically rounded down. When the rule source is set to a group, no product can be configured.

topic

Yes

String

Topic. If the device ID is empty, the topic is a product-level (device group) topic. If the device ID is not empty, the topic is a device-level topic.

is_base64

No

Integer

Whether the payload uses Base64 encoding.

0: yes

1: no

contain_device_info

No

Integer

Whether device information is included.

0: yes

1: no

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

source_id

Integer

Data source ID at the source.

product_id

Integer

Product ID.

group_id

Integer

Device group ID.

device_id

Integer

Device ID. If this parameter is left blank, all devices are queried.

topic

String

Topic. If the device ID is left empty, the topic is a product-level topic. If the device ID is not left empty, the topic is a device-level topic.

device_name

String

Device name.

product_name

String

Product name.

group_name

String

Device group name.

is_base64

Integer

Whether the payload uses Base64 encoding.

0: yes

1: no

contain_device_info

Integer

Whether device information is included.

0: yes

1: no

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.

error_msg

String

Error description.

request_id

String

Message ID.

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.

error_msg

String

Error description.

request_id

String

Message ID.

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.

error_msg

String

Error description.

request_id

String

Message ID.

Example Requests

Add a topic of a specified device as the source which is not Base64-encoded for a specified rule.

{
  "product_id" : 100001,
  "device_id" : 200001,
  "topic" : "/v1/3ds234242/datas",
  "is_base64" : 0,
  "contain_device_info" : 0
}

Example Responses

Status code: 201

Created

{
  "source_id" : 35296,
  "product_id" : 122893,
  "device_id" : 711568,
  "topic" : "/v1/devices/214/datas",
  "device_name" : "device",
  "product_name" : "product",
  "is_base64" : 0,
  "contain_device_info" : 0
}

Status code: 400

Bad Request

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Parameter is not valid for operation [romalink.link-rulesrc.save]. Parameter is [rule_oid]. Processor is [path].",
  "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01"
}

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" : "13984193-ca65-4954-9b7f-4b7d680399d6-1619678681445-cnnorth7a-P-romalink-service01"
}

Status code: 500

Internal Server Error

{
  "error_code" : "ROMA.00110002",
  "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611",
  "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01"
}

Status Codes

Status Code

Description

201

Created

400

Bad Request

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more