Querying Service Capabilities of a Device
Typical Scenario
If an NA needs to know which service attributes can be reported by a device and which commands can be delivered to the device, the NA can call this API to query the device service capabilities defined in the profile file of the device on the IoT platform.
API Function
This API is used by an NA to query device service capabilities, such as service attributes and device commands.
API Description
1 |
def queryDeviceCapabilities(self, qdcInDTO, accessToken)
|
Parameter Description
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
qdcInDTO |
Mandatory |
QueryDeviceCapabilitiesInDTO |
query |
For details, see QueryDeviceCapabilitiesInDTO structure. |
accessToken |
Mandatory |
String |
header |
This parameter is set to the value of the access token obtained by calling the Authentication API. |
QueryDeviceCapabilitiesInDTO structure
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
gatewayId |
Optional |
String |
query |
Identifies a gateway. |
appId |
Mandatory |
String |
query |
If the device belongs to the current application, set this parameter to None. Otherwise, set this parameter to the ID of the authorized application. |
deviceId |
Optional |
String |
query |
Uniquely identifies a device. |
Response Parameters
QueryDeviceCapabilitiesOutDTO
Parameter |
Type |
Description |
---|---|---|
deviceCapabilities |
List<DeviceCapabilityDTO> |
Indicates the query result list. For details, see DeviceCapabilityDTO structure. |
Parameter |
Type |
Description |
---|---|---|
deviceId |
String(256) |
Uniquely identifies a device. |
serviceCapabilities |
List<ServiceCapabilityDTO> |
Indicates the service capability list. For details, see ServiceCapabilityDTO structure. |
ServiceCapabilityDTO structure
Parameter |
Type |
Description |
---|---|---|
serviceId |
String(256) |
Identifies a service. |
serviceType |
String(256) |
Indicates the service type. |
option |
String(256) |
Indicates a service option. |
description |
String(10240) |
Indicates the service description. |
commands |
List<ServiceCommand> |
Indicates the supported commands. For details, see ServiceCommand structure. |
properties |
List<ServiceProperty> |
Indicates the attribute list. For details, see ServiceProperty structure. |
Parameter |
Type |
Description |
---|---|---|
commandName |
String(256) |
Indicates the command name. |
paras |
List<ServiceCommandPara> |
Indicates the attribute list. For details, see ServiceCommandPara structure. |
responses |
List<ServiceCommandResponse> |
Indicates the response list. For details, see ServiceCommandResponse structure. |
Parameter |
Type |
Description |
---|---|---|
paraName |
String(256) |
Indicates the parameter name. |
dataType |
String(256) |
Indicates the data type. |
required |
Boolean |
Indicates whether the parameter is mandatory. |
min |
String |
Indicates the minimum value of the attribute. |
max |
String |
Indicates the maximum value of the attribute. |
step |
Double |
Indicates the step. |
maxLength |
Integer |
Indicates the maximum length. |
unit |
String |
Indicates the unit (symbol). |
enumList |
List<String> |
Indicates the enumeration type list. |
ServiceCommandResponse structure
Parameter |
Type |
Description |
---|---|---|
responseName |
String(256) |
Indicates the response name. |
paras |
List<ServiceCommandPara> |
Indicates the attribute list. For details, see ServiceCommandPara structure. |
Parameter |
Type |
Description |
---|---|---|
propertyName |
String(256) |
Indicates the attribute name. |
dataType |
String(256) |
Indicates the data type. |
required |
Boolean |
Indicates whether the parameter is mandatory. |
min |
String |
Indicates the minimum value of the attribute. |
max |
String |
Indicates the maximum value of the attribute. |
step |
Double |
Indicates the step. |
maxLength |
Integer |
Indicates the maximum length. |
method |
String(256) |
Indicates the access method. The values are as follows:
|
unit |
String |
Indicates the unit (symbol). |
enumList |
List<String> |
Indicates the enumeration type list. |
Error Codes
HTTP Status Code |
Error Code |
Error Description |
Remarks |
---|---|---|---|
400 |
100022 |
The input is invalid. |
An input parameter is invalid. Recommended handling: Check whether parameters carried in the API call request are valid. |
403 |
100203 |
The application is not existed. |
The application does not exist. Recommended handling:
|
403 |
100217 |
The application hasn't been authorized. |
The application has not been authorized. Recommended handling: In scenarios where applications are not authorized, ensure that request parameter appId is null. |
403 |
1010009 |
app throttle exceed. |
The NA calls the API at a frequency that exceeds the flow control threshold (100 calls per minute by default). Recommended handling: Contact IoT platform maintenance personnel to adjust the flow control threshold or control the API call frequency. |
403 |
1010005 |
App_key or access_token is invalid. |
The access token is invalid. Recommended handling: Check whether accessToken carried in the API request is correct. |
500 |
100203 |
The application is not existed. |
The application does not exist. Recommended handling:
|
500 |
50252 |
Internal server error. |
An internal server error occurs. Recommended handling: An internal error occurs on the IoT platform. Contact IoT platform maintenance personnel. |
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