Querying Devices
Function
This API is used to query devices.
URI
GET /v2/{project_id}/link/instances/{instance_id}/devices
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 |
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 |
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_id |
No |
String |
Application ID. Minimum: 0 Maximum: 36 |
product_id |
No |
Integer |
ID of the product to which the device belongs. Minimum: 1 Maximum: 999999999999999999 |
product_name |
No |
String |
Name of the product to which the device belongs. Minimum: 2 Maximum: 32 |
device_name |
No |
String |
Device name. The value is a string of 2 to 64 characters, which can contain letters, digits, and the following special characters: ()_,#.?''-@%&!, Minimum: 2 Maximum: 64 |
client_id |
No |
String |
Client ID, which is the unique device ID generated by the ROMA platform. Minimum: 2 Maximum: 32 |
node_id |
No |
String |
Physical number of a device. The value is a string of 2 to 64 characters, which can contain only letters, digits, underscores (_), and hyphens (-). Generally, the MAC address or IMEI is used. Minimum: 2 Maximum: 64 |
node_type |
No |
Integer |
Node type. The options are as follows: 0: direct connection; 1: gateway; 2: subdevice. If this parameter is not transferred, all devices are queried by default. Minimum: 0 Maximum: 10 |
online_status |
No |
String |
Whether a device is online. The options are as follows: 0: not connected; 1: online; 2: offline. Use commas (,) to separate multiple values. Minimum: 0 Maximum: 10 |
created_date_start |
No |
Long |
Creation start time. The format is timestamp(ms) and the UTC time zone is used. Minimum: 1 Maximum: 999999999999999999 |
created_date_end |
No |
Long |
Creation end time. The format is timestamp(ms) and the UTC time zone is used. Minimum: 1 Maximum: 999999999999999999 |
tag |
No |
String |
Tag. Minimum: 0 Maximum: 200 |
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). Minimum: 1 Maximum: 100000 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
total |
Integer |
Total. Minimum: 1 Maximum: 99999 |
size |
Integer |
Number of records displayed on each page. Minimum: 1 Maximum: 1000 |
connect_address |
String |
Device access address. Minimum: 0 Maximum: 200 |
ssl_connect_address |
String |
Device access SSL address. Minimum: 0 Maximum: 200 |
ipv6_connect_address |
String |
IPv6 address for device access. This parameter is valid only when IPv6 is enabled. Minimum: 0 Maximum: 200 |
ipv6_ssl_connect_address |
String |
IPv6 SSL address for device access. This parameter is valid only when IPv6 is enabled. Minimum: 0 Maximum: 200 |
items |
Array of Device objects |
Device ID list. |
Parameter |
Type |
Description |
---|---|---|
permissions |
Array of strings |
Permission. |
id |
Integer |
Device ID. Minimum: 1 Maximum: 99999999999999999 |
device_id |
Integer |
Device ID (compatible with 20.0). Minimum: 1 Maximum: 99999999999999999 |
parent_device_id |
Integer |
Parent device ID. Minimum: 1 Maximum: 99999999999999999 |
parent_device_name |
String |
Parent device name. Minimum: 2 Maximum: 64 |
product |
ProductReferer object |
Product. |
device_name |
String |
Device name. The value is a string of 2 to 64 characters, which can contain letters, digits, and the following special characters: ()_,#.?''-@%&!, Minimum: 2 Maximum: 64 |
instance_id |
String |
Instance ID. Minimum: 2 Maximum: 64 |
client_id |
String |
Client ID, which is the unique device ID generated by the ROMA platform. Minimum: 0 Maximum: 32 |
node_id |
String |
Physical number of a device. The value is a string of 2 to 64 characters, which can contain only letters, digits, underscores (_), and hyphens (-). Generally, the MAC address or IMEI is used. Minimum: 2 Maximum: 64 |
app_name |
String |
Application name. Minimum: 0 Maximum: 256 |
status |
Integer |
Device status. The options are as follows: 0: enabled; 1: disabled. Minimum: 0 Maximum: 10 |
online_status |
Integer |
Connection status. The options are as follows: 0: disconnected; 1: online; 2: offline. Minimum: 0 Maximum: 10 |
description |
String |
Description. Minimum: 0 Maximum: 200 |
authentication |
Authentication object |
Authentication. |
created_user |
CreatedUser object |
Name of the user who created the attribute. |
last_updated_user |
LastUpdatedUser object |
User who performed the last update. |
tags |
Array of strings |
Tag. Minimum: 1 Maximum: 64 |
created_datetime |
Long |
Creation start time. The format is timestamp(ms) and the UTC time zone is used. Minimum: 1 Maximum: 99999999999999999 |
last_updated_datetime |
Long |
Last modification time (timestamp, in milliseconds). The UTC time zone is used. Minimum: 1 Maximum: 99999999999999999 |
connect_address |
String |
Device access address. Minimum: 0 Maximum: 200 |
ssl_connect_address |
String |
Device access SSL address. Minimum: 0 Maximum: 200 |
ipv6_connect_address |
String |
IPv6 address for device access. This parameter is valid only when IPv6 is enabled. Minimum: 0 Maximum: 200 |
ipv6_ssl_connect_address |
String |
IPv6 SSL address for device access. This parameter is valid only when IPv6 is enabled. Minimum: 0 Maximum: 200 |
last_login_datetime |
Long |
Last login time. Minimum: 1 Maximum: 99999999999999999 |
node_type |
Integer |
Node type. The options are as follows: 0: direct connection; 1: gateway; 2: subdevice. Minimum: 1 Maximum: 99999999999999999 |
device_type |
Integer |
Device type. The options are as follows: [/topic/body/section/table/tgroup/tbody/row/entry/p/br {""}) (br]0: common device (without a child device or parent device); [/topic/body/section/table/tgroup/tbody/row/entry/p/br {""}) (br]1: gateway device (which can contain subdevices); [/topic/body/section/table/tgroup/tbody/row/entry/p/br {""}) (br]2: child device (belonging to a gateway device). Minimum: 0 Maximum: 10 |
client_ip |
String |
Client IP address. Minimum: 0 Maximum: 64 |
keep_alive |
String |
Heartbeat time. Minimum: 0 Maximum: 200 |
last_active_time |
Long |
Last login time. Minimum: 1 Maximum: 99999999999999999 |
version |
String |
Device version. Minimum: 0 Maximum: 64 |
app_id |
String |
Application ID. Minimum: 0 Maximum: 36 |
Parameter |
Type |
Description |
---|---|---|
product_id |
Integer |
Product ID. The product ID is mandatory if the manufacturer ID and model are not set. Minimum: 1 Maximum: 99999999999999999 |
product_name |
String |
Product name. Minimum: 0 Maximum: 64 |
manufacturer_id |
String |
Manufacturer ID. If the product ID is not specified, the manufacturer ID and model are mandatory. Minimum: 0 Maximum: 64 |
model |
String |
Model. If the product ID is not specified, the manufacturer ID and model are mandatory. Minimum: 0 Maximum: 64 |
protocol_type |
Integer |
Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol Minimum: 0 Maximum: 5 |
product_type |
Integer |
Product type. The options are as follows: 0: common; 1: gateway. Minimum: 0 Maximum: 10 |
extend_protocol_name |
String |
Extended protocol name. Minimum: 0 Maximum: 64 |
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 |
Parameter |
Type |
Description |
---|---|---|
user_id |
String |
User ID (reserved). Minimum: 0 Maximum: 64 |
user_name |
String |
Username. Minimum: 0 Maximum: 64 |
Parameter |
Type |
Description |
---|---|---|
user_id |
String |
User ID (reserved). Minimum: 0 Maximum: 64 |
user_name |
String |
Username. Minimum: 0 Maximum: 64 |
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. 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
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
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}/devices
Example Responses
Status code: 200
OK (All addresses return --: Exclusive protocol plug-ins are deployed on all nodes with MQTT and CoAP unavailable. CoAP link address returns --: An external ELB needs to be configured first.)
{ "total" : 1, "size" : 1, "items" : [ { "permissions" : [ "read", "access", "delete", "modify" ], "id" : 711537, "parent_device_id" : 711536, "parent_device_name" : "parent-device", "product" : { "product_id" : 116303, "product_name" : "p1", "manufacturer_id" : "p1", "model" : "p1", "product_type" : 0, "protocol_type" : 0 }, "device_name" : "device", "instance_id" : "8993a690-cf61-46af-880d-587d823d14e5", "client_id" : "D116303711537sGDtK", "node_id" : "string", "app_name" : "app", "status" : 0, "online_status" : 2, "description" : "device", "authentication" : { "user_name" : "F01A8D25FE6E4CF5A286B711B31888AE", "password" : "************************" }, "created_user" : { "user_id" : "", "user_name" : "user" }, "last_updated_user" : { "user_id" : "", "user_name" : "user" }, "tags" : [ ], "created_datetime" : 1607408244841, "last_updated_datetime" : 1607422571094, "connect_address" : "xx.xx.xx.xx", "ssl_connect_address" : "xx.xx.xx.xx", "ipv6_connect_address" : "xx.xx.xx.xx", "ipv6_ssl_connect_address" : "xx.xx.xx.xx", "coap_connect_address" : "xx.xx.xx.xx", "coap_ssl_connect_address" : "xx.xx.xx.xx", "coap_ipv6_connect_address" : "xx.xx.xx.xx", "coap_ipv6_ssl_connect_address" : "xx.xx.xx.xx", "node_type" : 0, "device_type" : 0, "app_id" : "cb4b3ec0-8f7f-432f-b05e-fc149d05da5d" } ] }
Status code: 400
Bad Request
{ "error_code" : "SCB.00000000", "error_msg" : "Parameter is not valid for operation [romalink.link-device.batchQuery]. Parameter is [node_type]. Processor is [body].", "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01" }
Status code: 404
Not Found
{ "error_code" : "SCB.00000000", "error_msg" : "Not Found", "request_id" : "624c8be1-39b6-47b7-941d-c159aced368a-1619602544650-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 |
---|---|
200 |
OK (All addresses return --: Exclusive protocol plug-ins are deployed on all nodes with MQTT and CoAP unavailable. CoAP link address returns --: An external ELB needs to be configured first.) |
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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot