Updated on 2023-06-29 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. 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

rule_id

Yes

String

Rule ID.

Minimum: 0

Maximum: 20

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

product_id

Yes

Integer

Product ID, which is automatically rounded down.

Minimum: 1

Maximum: 99999999999999999

device_id

No

Integer

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

Minimum: 1

Maximum: 99999999999999999

topic

Yes

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.

Minimum: 0

Maximum: 64

is_base64

No

Integer

Whether the payload uses Base64 encoding. 0: yes 1: no

Minimum: 1

Maximum: 10

Default: 1

contain_device_info

No

Integer

Whether device information is included. 0: yes 1: no

Minimum: 1

Maximum: 10

Default: 1

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

source_id

Integer

Data source ID at the source.

Minimum: 1

Maximum: 99999999999999999

product_id

Integer

Product ID.

Minimum: 1

Maximum: 99999999999999999

device_id

Integer

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

Minimum: 1

Maximum: 99999999999999999

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.

Minimum: 0

Maximum: 200

device_name

String

Device name.

Minimum: 0

Maximum: 64

product_name

String

Product name.

Minimum: 0

Maximum: 64

is_base64

Integer

Whether the payload uses Base64 encoding. 0: yes 1: no

Minimum: 0

Maximum: 10

Default: 1

contain_device_info

Integer

Whether device information is included. 0: yes 1: no

Minimum: 0

Maximum: 10

Default: 1

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

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