使用Postman调测(联通用户专用)
非联通用户请查看设备接入服务。
调用API接口前建议完成Profile文件和编解码插件的开发。尽管接口的调用不依赖于Profile文件和编解码插件,但是由于profile文件定义了设备数据的字段,编解码插件是上报数据和下发命令时的必要条件,因此为了使得调用接口前的业务都正常,需要先行完成产品的开发。
为充分了解接口,建议提前获取《应用侧API参考》查阅。我们已经写好了Postman的Collection,在Collection中接口的请求结构体已经完成可以直接使用。
本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口:
配置Postman
- 导入Postman环境变量。
- 点击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。
- 点击“Import”,导入OceanConnect.postman_environment.json文件。
- 点击“Manage Environments”,选择导入的“OcceanConnect”环境,修改IAM终端节点“IAMEndpoint”、物联网平台终端节点“IOTDMEndpoint”、华为云用户名“IAMUserName”、华为云密码“IAMPassword”、华为云账号名“IAMDoaminId”、区域“region”。这里已经填写好北京四站点对应的IAM终端节点、物联网平台终端节点和区域,如果您是在北京四站点订购的“设备管理”服务,只需要修改华为云用户名、华为云密码和华为云账号名。
- 返回主页,选择环境变量为刚导入的“OcceanConnect”。
- 点击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。
- 导入“应用侧API调用(V5版本).postman_collection.json”。
成功后:
调测“获取IAM用户Token”接口
在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token。
应用服务器需要构造一个HTTP请求,请求示例如下:
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } }
接下来参考API文档,调测“获取IAM用户Token”接口。
- 配置“获取IAM用户Token”接口的HTTP方法、URL和Headers。
- 配置“获取IAM用户Token”接口的Body。
- 点击“Send”,在下方查看返回码和响应消息内容。
- 请将返回头域中的的X-Subject-Token更新到“OcceanConnect”环境的“X-Auth-Token”参数中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。
这里我们已经在postman中自动更新了“X-Auth-Token”参数,使用时无需手动操作。
调测“查询IAM用户可以访问的项目列表”接口
在访问物联网平台业务接口前,应用服务器需要调用“查询IAM用户可以访问的项目列表”接口获取用户的项目ID,用于后续访问物联网平台业务接口。
应用服务器需要构造一个HTTP请求,请求示例如下:
GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ********
接下来参考API文档,调测“查询IAM用户可以访问的项目列表”接口。
- 配置“查询IAM用户可以访问的项目列表”接口的HTTP方法、URL和Headers。
- 点击“Send”,在下方查看返回码和响应消息内容。
- 返回body中包含一个projects列表,查找其中“name”参数值与“OceanConnect”环境中“region”参数值相同的条目,取其“id”参数值更新到“OceanConnect”环境中“project_id”参数,以便于在调用其它接口时使用。
这里我们已经在postman中自动更新了“project_id”参数,使用时无需手动操作。
调测“创建产品”接口
在设备接入物联网平台前,应用服务器需要调用此接口创建产品,后续注册设备时需要使用这里创建的产品。
应用服务器需要构造一个请求,请求示例如下:
POST https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products Content-Type: application/json X-Auth-Token: ******** { "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "LWM2M", "data_format" : "binary", "manufacturer_name" : "ABC", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ { "service_type" : "temperature", "service_id" : "temperature", "description" : "temperature", "properties" : [ { "unit" : "centigrade", "min" : "1", "method" : "R", "max" : "100", "data_type" : "decimal", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : true, "property_name" : "temperature", "max_length" : 100 } ], "commands" : [ { "command_name" : "reboot", "responses" : [ { "response_name" : "ACK", "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "option" : "Mandatory" } ], "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka" }
接下来参考API文档,调测物联网平台“创建产品”接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“创建产品”接口的HTTP方法、URL和Headers。
- 配置“创建产品”接口的BODY。
- 点击“Send”,在下方查看返回码和响应消息内容。
- 将返回的“product_id”更新到“OceanConnect”环境中的“product_id”参数中,用于后续其它接口使用。
这里我们已经在postman中自动更新了“product_id”参数,使用时无需手动操作。
调测“查询产品”接口
应用服务器如果需要查询之前创建的产品详情,可以调用此接口。
应用服务器需要构造一个请求,请求示例如下:
GET https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products/{product_id} Content-Type: application/json X-Auth-Token: ********
接下来参考API文档,调测物联网平台“查询产品”接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“查询产品”接口的HTTP方法、URL和Headers。
- 点击“Send”,在下方查看返回码和响应消息内容。
调测“注册设备”接口
在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台注册设备。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。
应用服务器需要构造一个HTTP请求,请求示例如下:
POST https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices Content-Type: application/json X-Auth-Token: ******** { "node_id" : "ABC123456789", "device_name" : "dianadevice", "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "auth_info" : { "auth_type" : "SECRET", "secure_access" : true, "fingerprint" : "dc0f1016f495157344ac5f1296335cff725ef22f", "secret" : "3b935a250c50dc2c6d481d048cefdc3c", "timeout" : 300 }, "description" : "watermeter device" }
接下来参考API文档,调测物联网平台“注册设备”接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“注册设备”接口的HTTP方法、URL和Headers。
- 配置“注册设备”接口的Body。
- 点击“Send”,在下方查看返回码和响应消息内容。
- 请将返回的“device_id”更新到“OceanConnect”环境中的“device_id”参数中,用于后续其它接口使用。
这里我们已经在postman中自动更新了“device_id”参数,使用时无需手动操作。
调测“查询设备”接口
应用服务器需要查询在物联网平台注册的设备详情时,可以调用此接口。
应用服务器需要构造一个HTTP请求,请求示例如下:
GET https://iotdm.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id} Content-Type: application/json X-Auth-Token: ********
接下来参考API文档,调测物联网平台“查询设备”接口。
注:在以下步骤中,只呈现样例调测用到的参数。
- 配置“查询设备”接口的HTTP方法、URL和Headers。
- 点击“Send”,在下方查看返回码和响应消息内容。