注意事项
HTTP 状态码
1.4.3 查询产品
接口说明
应用服务器可调用此接口查询已导入物联网平台的指定产品模型详细信息,包括产品 模型的服务、属性、命令等。
调试
您可以在API Explorer中调试该接口。
URI
请求方法 GET
URI /v5/iot/{project_id}/products/{product_id}
传输协议 HTTPS
请求参数
名称 必选/可
选
类型 位置 说明
X-Auth-Token 必选 String Head
er 参数说明:用户Token。通过调用 IAM服务 获取IAM用户Token接口 获取,接口返回的响应消息头中
“X-Subject-Token”就是需要获 取的用户Token。简要的获取方法 样例请参见 Token认证。
Instance-Id 可选 String Head
er 参数说明:实例ID。物理多租下各 实例的唯一标识,一般华为云租户 无需携带该参数,仅在物理多租场 景下从管理面访问API时需要携带 该参数。
project_i
d 必选 String Path 参数说明:项目ID。获取方法请参 见 获取项目ID。
product_i
d 必选 String Path 参数说明:产品ID,用于唯一标识 一个产品,在物联网平台创建产品 后由平台分配获得。
取值范围:长度不超过36,只允许 字母、数字、下划线(_)、连接 符(-)的组合。
app_id 可选 String Quer
y 参数说明:资源空间ID。此参数为 非必选参数,存在多资源空间的用 户需要使用该接口时,建议携带该 参数,指定要查询的产品属于哪个 资源空间;若不携带,则优先取默 认资源空间下产品,如默认资源空 间下无对应产品,则按照产品创建 时间取最早创建产品。如果用户存 在多资源空间,同时又不想携带该 参数,可以联系华为技术支持对用 户数据做资源空间合并。
取值范围:长度不超过36,只允许 字母、数字、下划线(_)、连接 符(-)的组合。
响应参数
名称 类型 说明
app_id String 资源空间ID。
app_name String 资源空间名称。
名称 类型 说明
product_id String 产品ID,用于唯一标识一个产品,在物联网平台 创建产品后由平台分配获得。
name String 产品名称。
device_type String 设备类型。
protocol_typ
e String 设备使用的协议类型。取值范围:MQTT,
CoAP,HTTP,HTTPS,Modbus,ONVIF,
OPC-UA,OPC-DA,Other。
data_format String 设备上报数据的格式,取值范围:json,
binary。
manufactur
er_name String 厂商名称。
industry String 设备所属行业。
description String 产品的描述信息。
service_capa
bilities List<ServiceCa
pability> 设备的服务能力列表。
create_time String 在物联网平台创建产品的时间,格式:
yyyyMMdd'T'HHmmss'Z',如 20151212T121212Z。
表1-15 ServiceCapability
名称 类型 说明
service_id String 参数说明:设备的服务ID。注:产品内不允许重 复。
取值范围:长度不超过32,只允许中文、字母、
数字、以及_?'#().,&%@!-$等字符的组合。
service_type String 参数说明:设备的服务类型。
取值范围:长度不超过32,只允许中文、字母、
数字、以及_?'#().,&%@!-$等字符的组合。
properties List<ServicePro
perty> 参数说明:设备服务支持的属性列表。
取值范围:数组长度大小不超过500。
commands List<ServiceCo
mmand> 参数说明:设备服务支持的命令列表。
取值范围:数组长度大小不超过500。
events List<ServiceEve
nt> 参数说明:设备服务支持的事件列表。
取值范围:数组长度大小不超过500。
名称 类型 说明
description String 参数说明:设备服务的描述信息。
取值范围:长度不超过128,只允许中文、字 母、数字、空白字符、以及_?'#().,;&
%@!- ,、:;。/等字符的组合。
option String 参数说明:指定设备服务是否必选。目前本字段 为非功能性字段,仅起到标识作用。
取值范围:
● Master:主服务
● Mandatory:必选服务
● Optional:可选服务 默认值为Optional。
表1-16 ServiceProperty
名称 类型 说明
property_na
me String 参数说明:设备属性名称。注:设备服务内不允
许重复。属性名称作为设备影子JSON文档中的 key不支持特殊字符:点(.)、dollar符号($)、空 char(十六进制的ASCII码为00),如果包含了以上 特殊字符则无法正常刷新影子文档。
取值范围:长度不超过64,只允许中文、字母、
数字、以及_?'#().,&%@!-等字符的组合。
data_type String 参数说明:设备属性的数据类型。
取值范围:int,long,decimal,string,
DateTime,jsonObject,enum,boolean,
string list。
required Boolean 参数说明:设备属性是否必选。默认为false。
enum_list List<String> 参数说明:设备属性的枚举值列表。
min String 参数说明:设备属性的最小值。
取值范围:长度1-16。
max String 参数说明:设备属性的最大值。
取值范围:长度1-16。
max_length Integer 参数说明:设备属性的最大长度。
step Double 参数说明:设备属性的步长。
unit String 参数说明:设备属性的单位。
取值范围:长度不超过16。
名称 类型 说明
method String 参数说明:设备属性的访问模式。
取值范围:RWE,RW,RE,WE,E,W,R。
● R:属性值可读
● W:属性值可写
● E:属性值可订阅,即属性值变化时上报事件 description String 参数说明:设备属性的描述。
取值范围:长度不超过128,只允许中文、字 母、数字、空白字符、以及_?'#().,;&
%@!- ,、:;。/等字符的组合。
default_valu
e Object 参数说明:设备属性的默认值。如果设置了默认
值,使用该产品创建设备时,会将该属性的默认 值写入到该设备的设备影子预期数据中,待设备 上线时将该属性默认值下发给设备。
表1-17 ServiceCommand
名称 类型 说明
command_n
ame String 参数说明:设备命令名称。注:设备服务内不允 许重复。
取值范围:长度不超过64,只允许中文、字母、
数字、以及_?'#().,&%@!-等字符的组合。
paras List<ServiceCo
mmandPara> 参数说明:设备命令的参数列表。
responses List<ServiceCo mmandRespon se>
参数说明:设备命令的响应列表。
表1-18 ServiceCommandPara
名称 类型 说明
para_name String 参数说明:参数的名称。
取值范围:长度不超过32,只允许中文、字母、
数字、以及_?'#().,&%@!-等字符的组合。
data_type String 参数说明:参数的数据类型。
取值范围:int,long,decimal,string,
DateTime,jsonObject,enum,boolean,
string list。
required Boolean 参数说明:参数是否必选。默认为false。
名称 类型 说明
enum_list List<String> 参数说明:参数的枚举值列表。
min String 参数说明:参数的最小值。
取值范围:长度1-16。
max String 参数说明:参数的最大值。
取值范围:长度1-16。
max_length Integer 参数说明:参数的最大长度。
step Double 参数说明:参数的步长。
unit String 参数说明:参数的单位。
取值范围:长度不超过16。
description String 参数说明:参数的描述。
取值范围:长度不超过128,只允许中文、字 母、数字、空白字符、以及_?'#().,;&
%@!- ,、:;。/等字符的组合。
表1-19 ServiceCommandResponse
名称 类型 说明
response_na
me String 参数说明:设备命令响应名称。
取值范围:长度不超过128,只允许中文、字 母、数字、以及_?'#().,&%@!-等字符的组合。
paras List<ServiceCo
mmandPara> 参数说明:设备命令响应的参数列表。
表1-20 ServiceEvent
名称 类型 说明
event_type String 参数说明:设备事件类型。注:设备服务内不允 许重复。
取值范围:长度不超过32,只允许中文、字母、
数字、以及_?'#().,&%@!-等字符的组合。
paras List<ServiceCo
mmandPara> 参数说明:设备事件的参数列表。
请求示例
X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{ "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "app_name" : "testAPP01",
"product_id" : "5ba24f5ebbe8f56f5a14f605", "name" : "Thermometer",
"device_type" : "Thermometer", "protocol_type" : "MQTT", "data_format" : "json", "manufacturer_name" : "ABC", "industry" : "smartCity",
"description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ {
"service_id" : "temperature", "service_type" : "temperature", "properties" : [ {
"property_name" : "temperature", "required" : true,
"paras" : [ {
"description" : "temperature", "option" : "Mandatory"
} ],
"create_time" : "20190303T081011Z"
}
错误码
HTTP 状态码
错误码 错误码英文描述 错误码中文描述 处理建议
403 IOTDA .00002 2
Operation not allowed. The user does not have the permission
Operation not allowed.
Application not found by
authorized user or the authorized user has no application.
Operation not allowed. The application does not belong to the authorized user.
应用与用户信息不 匹配
请排查该用户下是 否有指定的应用。
404 IOTDA .01300 0