Updated on 2022-12-05 GMT+08:00

Querying Products

Function

This API is used to query products.

URI

GET /v2/{project_id}/link/instances/{instance_id}/products

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

Table 2 Query parameters

Parameter

Mandatory

Type

Description

limit

No

Integer

Number of items displayed on each page. The maximum value is 999. If the value exceeds 999, only 999 items are returned.

Minimum: 0

Maximum: 999999

Default: 10

app_id

No

String

Application ID.

Minimum: 0

Maximum: 36

id

No

String

Product ID.

Minimum: 0

Maximum: 64

name

No

String

Product name.

Minimum: 0

Maximum: 64

manufacturer_id

No

String

Manufacturer ID.

Minimum: 0

Maximum: 64

manufacturer_name

No

String

Manufacturer name.

Minimum: 0

Maximum: 64

model

No

String

Model.

Minimum: 0

Maximum: 64

device_type

No

String

Device type of a product. The default value is Default.

Minimum: 0

Maximum: 64

product_type

No

Integer

Product type. 0: common product (subdevices are not supported) 1: gateway product

Minimum: 0

Maximum: 10

protocol_type

No

Integer

Protocol type of the product. 0: mqtt 2: modbus 4: opcua

Minimum: 0

Maximum: 10

created_user_name

No

String

This API is used to create a user.

Minimum: 0

Maximum: 64

created_date_start

No

Long

Creation start time. The format is timestamp(ms) and the UTC time zone is used.

Minimum: 1

Maximum: 99999999999999999

created_date_end

No

Long

Creation end time. The format is timestamp(ms) and the UTC time zone is used.

Minimum: 1

Maximum: 99999999999999999

offset

No

Integer

Offset, which is the position where the query starts. The value must be greater than or equal to 0.

Minimum: 0

Maximum: 999999

Default: 0

app_name

No

String

Application name.

Minimum: 0

Maximum: 256

product_serial

No

String

Unique sequence number of a product (unique value in the system, which is used to mark a product in the topic of MQS).

Minimum: 0

Maximum: 64

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

total

Integer

Total.

Minimum: 1

Maximum: 9999999999

size

Integer

Number of records displayed on each page.

Minimum: 1

Maximum: 999

items

Array of Product objects

Product list.

Table 4 Product

Parameter

Type

Description

permissions

Array of strings

Permission.

id

Integer

Product ID.

Minimum: 1

Maximum: 99999999999999999

product_serial

String

Unique sequence number of a product (unique value in the system, which is used to mark a product in the topic of MQS).

Minimum: 0

Maximum: 64

app_id

String

Application ID.

Minimum: 0

Maximum: 64

name

String

Product name, which is unique in a tenant. The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.

Minimum: 0

Maximum: 64

manufacturer_id

String

Product manufacturer ID.

Minimum: 0

Maximum: 64

manufacturer_name

String

Manufacturer name.

Minimum: 0

Maximum: 64

model

String

Product model.

Minimum: 0

Maximum: 64

product_type

Integer

Product type. The options are as follows: 0: common (subdevices are not supported); 1: gateway.

Minimum: 0

Maximum: 10

description

String

Product description, which contains a maximum of 200 characters.

Minimum: 0

Maximum: 200

protocol_type

Integer

Protocol type of the product. 0: mqtt 2: modbus 4: opcua

Minimum: 0

Maximum: 10

device_type

String

Device type of a product. The default value is Default.

Minimum: 0

Maximum: 64

version

String

Product version.

Minimum: 0

Maximum: 64

created_user

CreatedUser object

Name of the user who created the attribute.

last_updated_user

LastUpdatedUser object

User who performed the last update.

authentication

Authentication object

Authentication.

created_datetime

Long

Creation start time. The format is timestamp(ms) and the UTC time zone is used.

Minimum: 1

Maximum: 99999999999999999

app_name

String

Application name.

Minimum: 0

Maximum: 256

data_format

Integer

data_format 0-JSON 1-USER_DEFINED

Minimum: 1

Maximum: 99999999999999999

Table 5 CreatedUser

Parameter

Type

Description

user_id

String

User ID (reserved).

Minimum: 0

Maximum: 64

user_name

String

Username.

Minimum: 0

Maximum: 64

Table 6 LastUpdatedUser

Parameter

Type

Description

user_id

String

User ID (reserved).

Minimum: 0

Maximum: 64

user_name

String

Username.

Minimum: 0

Maximum: 64

Table 7 Authentication

Parameter

Type

Description

user_name

String

One-model-one-secret or one-device-one-secret username.

Minimum: 0

Maximum: 64

password

String

One-model-one-secret or one-device-one-secret password. The password must contain 8 to 32 characters, including at least one digit, one uppercase letter, one lowercase letter, and one special character (~!@#$%^&*()-_=+|[{}];:<>/?).

Minimum: 0

Maximum: 64

Status code: 400

Table 8 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 9 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 10 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

GET /{project_id}/link/instances/{instance_id}/products

Example Responses

Status code: 200

OK

{
  "total" : 1,
  "size" : 1,
  "items" : [ {
    "permissions" : [ "read", "access", "delete", "modify" ],
    "id" : 120671,
    "product_serial" : "Dd1bRt122894",
    "app_id" : "a1503e51-46f7-4d23-8617-7cb2d28dde98",
    "name" : "pro-opcua",
    "manufacturer_id" : "pro-opcua",
    "manufacturer_name" : "pro-opcua",
    "model" : "pro-opcua",
    "product_type" : 0,
    "description" : "opcua product",
    "protocol_type" : 4,
    "device_type" : "default",
    "version" : "version",
    "created_datetime" : 1607481372416,
    "app_name" : "app-link",
    "data_format" : 0,
    "created_user" : {
      "user_id" : "6546435432432",
      "user_name" : "user1"
    },
    "last_updated_user" : {
      "user_id" : "6546435432432",
      "user_name" : "user1"
    },
    "authentication" : {
      "user_name" : "4MjxbCl4q461",
      "password" : "********"
    }
  } ]
}

Status code: 400

Bad Request

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Parameter is not valid for operation [romalink.link-product.search]. Parameter is [product_type]. Processor is [query].",
  "requestId" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01"
}

Status code: 404

Not Found

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Not Found"
}

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

200

OK

400

Bad Request

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.