文档首页 > > 开发指南> 应用侧开发> 使用API对接> 使用Postman调测

使用Postman调测

分享
更新时间: 2020/01/08 GMT+08:00

调用API接口前建议完成Profile文件和编解码插件的开发。尽管接口的调用不依赖于Profile文件和编解码插件,但是由于profile文件定义了设备数据的字段,编解码插件是上报数据和下发命令时的必要条件,因此为了使得调用接口前的业务都正常,需要先行完成产品的开发。

在调用平台开放的Restful接口前需要获取调用的SSL证书。测试证书可以向环境管理者获取,商用证书需要向第三方申请获取。本文使用的证书为平台自签发的证书,在下文会有将此证书导入到Postman的内容,关于调用证书的更多内容请参看证书处理

为充分了解接口,建议提前获取《应用侧API参考》查阅。我们已经写好了Postman的Collection,在Collection中接口的请求结构体已经完成可以直接使用。

本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口:

配置Postman

  1. 导入Postman环境变量。

    1. 点击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。

    2. 点击“Import”,导入OceanConnect-Integration.postman_environment.json文件。

    3. 点击导入的“OcceanConnect-Integration”,修改物联网平台的对接地址“OCNorthboundIPPort”、“appId”、“secret”。
    4. 修改在创建产品时填写的“manufacturerName”“manufacturerId”“deviceType”“model”“protocolType”

    5. 返回主页,选择环境变量为刚导入的“OcceanConnect-Integration”。

  2. 导入“Northbound API Invoking.postman_collection.json”。

    成功后:

  3. 导入Postman证书。

    1. 打开Postman的“Settings”菜单。

    2. 关闭证书校验,使Postman不再校验服务端的证书。

    3. 下载并配置证书文件(解压后在“certificate -> Northbound API -> postman”目录下)。“Host”栏的地址和端口填写物联网平台开放给应用的域名与端口(HTTPS协议),或者用IP地址与端口,“client.crt”“client.key”为客户端证书和私钥文件。

      注:在cmd命令框中执行“ping 域名”获取IP地址。

调测“鉴权”接口

应用服务器携带appIdsecret调用“鉴权”接口,物联网平台认证通过后向应用服务器返回鉴权令牌accessTokenappIdsecret由物联网平台在创建项目/应用时分配。

应用服务器需要构造一个HTTP请求,请求示例如下:

POST /iocm/app/sec/v1.1.0/login HTTP/1.1
Host: server:port
Content-Type: application/x-www-form-urlencoded

appId=******&secret=******

接下来参考API文档,调测物联网平台“鉴权”接口。

  1. 配置“鉴权”接口的HTTP方法、URL和Headers。

  2. 配置“鉴权”接口的Body

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回的accessToken更新到“OcceanConnect-Integration”中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。

调测“注册设备”接口

在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台注册设备,并把设备的唯一标识码(如IMEI)设置为设备接入平台的验证码。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。

应用服务器需要构造一个HTTP请求,请求示例如下:

POST iocm/app/reg/v1.1.0/deviceCredentials?appId={appId} HTTP/1.1
Host: server:port
app_key: ******
Authorization: Bearer ******
Content-Type: application/json

{
  "verifyCode": "34333333433333",
  "nodeId": "34333333433333",
  "deviceInfo": {
    "manufacturerName": "{{manufacturerName}}",
    "manufacturerId": "{{manufacturerId}}",
    "deviceType": "{{deviceType}}",
    "model": "{{model}}",
    "protocolType": "{{protocolType}}"
  },
  "timeout": 0
}

接下来参考API文档,调测物联网平台“注册设备(验证码方式)”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“注册设备(验证码方式)”接口的HTTP方法URLHeaders

  2. 配置“注册设备(验证码方式)”接口的Body

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回的deviceId更新到“OcceanConnect-Integration”中,以便于在调用其它接口时使用。

调测“查询设备历史数据”接口

在日常运行中,物联网平台会收到并保存设备上报业务数据,应用服务器若需要查看某个设备上报到平台的历史数据,可调用此接口查询获取。

应用服务器需要构造一个HTTP请求,请求示例如下:

GET https://server:port/iocm/app/data/v1.2.0/deviceDataHistory?deviceId={deviceId}&gatewayId={gatewayId}&appId={appId}&pageNo={pageNo}&pageSize={pageSize}&startTime={startTime}&endTime={endTime} HTTP/1.1
app_key: ******
Authorization: Bearer *****
Content-Type: application/json

接下来参考API文档,调测物联网平台“查询设备历史数据”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“查询设备历史数据”接口的HTTP方法URLHeaders

  2. 配置“查询设备历史数据”接口的Query

  3. 点击“Send”,在下方查看返回码和响应消息内容。

    :由于此设备未向平台上报过数据,所以记录为0。

调测“修改设备信息”接口

应用服务器在物联网平台注册设备后,若设备的基本信息发生变更,可调用此接口在物联网平台修改设备的信息。

应用服务器需要构造一个HTTP请求,将设备的型号修改为“test”,请求示例如下:

PUT /iocm/app/dm/v1.4.0/devices/{deviceId}?appId={appId} HTTP/1.1
Host: server:port
app_key: ******
Authorization: Bearer ******
Content-Type: application/json

{
  "model": "test"
}

接下来参考API文档,调测物联网平台“修改设备信息”接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“修改设备信息”接口的HTTP方法URLPathHeaders

  2. 配置“修改设备信息”接口的Body

  3. 点击“Send”,在下方查看返回码和响应消息内容。

  4. 可以调用“查看单个设备信息”接口查看新的设备型号。

调测“删除设备”接口

已在物联网平台注册的设备,若不再需要接入平台时,应用服务器可调用此接口在物联网平台删除设备。后续设备若需要再次接入平台,则需重新注册。

应用服务器需要构造一个HTTP请求,请求示例如下:

DELETE /iocm/app/dm/v1.4.0/devices/{deviceId}?appId={appId}&cascade={cascade} HTTP/1.1
Host: server:port
app_key: ******
Authorization: Bearer ******

接下来参考API文档,调测物联网平台“删除设备”接口。

  1. 配置“修改设备信息”接口的的HTTP方法URLPathHeaders

  2. 点击“Send”,在下方查看返回码和响应消息内容。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区