二、Http协议接入Restful API 方式开发指导

二、Http协议接入Restful API 方式开发指导


1、简介

本章节适用对象为设备侧,供设备采用HTTP协议以Http Restful API方式接入本IOT中继平台使用。

此设备采用http协议接入本IOT中继系统平台,所有接口均使用POST方式访问。主要实现从接入设备上报物模型属性、事件数据。

2、基本术语

  • 接口服务器地址(SERVER_URL):接口的Http资源入口,通常为WebURL。

  • 接口名称(INTERFACE):特定功能的资源访问路径。

  • 接口访问令牌(token):接口调用时用于身份验证的内容,token为登录以后返回的登录信息,每次调用新的接口都需要使用登录后的token。

3、接口调用方式

POST方式调用:(SERVER_URL)/(INTERFACE)

参数名称参数类型参数说明
AuthorizationHeader用于区分接入方应用身份的验证内容,通常为Bearer XXXXXXX格式
Content-TypeHeaderapplication/json
tokenHeader固定值:登陆后调用业务口时设置,内容从登陆鉴权的响应报文中获取

4、接口响应

接口响应内容为JSON格式报文:

报文属性说明
code响应标识代码
successtrue/false,请求是否成功
data请求返回的数据
msg请求返回的消息

响应代码:

代码说明
200请求正确完成
0后台处理成功
-1后台处理失败
401没有授权
403资源不可用
404访问地址不存在
500系统错误

5、接入配置信息

服务器地址: http://192.168.0.105:18080

用户名: 134xxxxxxxx  IOT设备接入设置的连接账号 (此设备采用http协议接入,在IOT设备接入配置中设置的设备连接账号)

密码: XXXXXX IOT设备接入设置的连接口令 (此设备采用http协议接入,在IOT设备接入配置中设置的设备连接口令)

Authorization: Bearer xxxxxxxxx (xxxxxxxxx 为登陆鉴权成功返回的token)

特别说明: 此处服务器IP地址为本IOT中继宝盒里面配置的盒子的IP地址,本文档后面出现的IP地址“192.168.0.105 ” 根据您盒子的配置统一替换,在本文档中只是演示使用。

6、登录获取token

Request URL: http://192.168.0.105:18080/oauth/token

Request Method: POST

数据提交格式  application/json

请求头  无

请求体格式 :

{ "username": "134xxxxxxxx", "password": "******"  }

请求体参数说明:

参数名类型必须描述
usernamestringIOT设备接入设置的连接账号 (此设备采用http协议接入,在IOT设备接入配置中设置的设备连接账号),此连接账号为: 134xxxxxxxx
passwordstringIOT设备接入设置的连接口令 (此设备采用http协议接入,在IOT设备接入配置中设置的连接口令 ******* )

正确响应结果示例:

{
 "code": "200",
 "msg": "success",
 "data": {
 "token" : "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM",
 }
}

错误响应结果示例:

{
 "code": "-1",
 "msg": "fail:用户登录验证失败"
}

7、注销登录

Request URL: http://192.168.0.105:18080/loginOut

Request Method: GET

请求头参数  Authorization

请求头参数说明:

参数名类型必须描述
AuthorizationHeader固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中

“Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM”

请求体格式 :无

正确响应结果示例:

{
"msg": "注销成功",
"code": "200",
"data": "{ }"
}

错误响应结果示例:

{
"code": "-1",
"msg": "注销失败"
}

8、上报属性数据

本文档适用对象为设备侧,供设备接入本IOT中继平台使用。 此设备采用http协议接入本IOT中继系统平台,主要实现从接入设备上报物模型属性数据。 设备侧根据业务需要周期性调用此接口向平台上报设备属性数据,例如:间隔10分钟上报设备温度。

Request URL: http://192.168.0.105:18080/httpService/uploadPropertiesData

Request Method: POST

数据提交格式  application/json

请求头参数  Authorization

请求头参数说明:

参数名类型必须描述
AuthorizationHeader固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中

“Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM”

请求体格式 Content-Type

{
   "deviceId": "44080000001111000017",
   "propertiesList": [
       { "propertiesId": "P_1696583483495", "dataValue": "36" },
       { "propertiesId": "P_1696583483496", "dataValue": "45" },
        。。。。。。
      ]
}

请求体参数说明:

参数名类型必须描述
deviceIdstring接入设备ID标识,黄色为接入设备ID标识值 “44080000001111000017
propertiesIdstringIOT接入设备物模型属性ID标识,黄色为物模型属性ID标识值 “P_1696583483495” “P_1696583483496”
dataValuestringIOT接入设备物模型属性值标识,黄色为物模型属性值,如: “36” “45”

正确响应结果示例:

{
  "code": "0",
  "msg": "success",
  "data": "true",
}

错误响应结果示例:

{
  "code": "-1",
  "msg": "fail:数据上报失败"
}

9、上报事件数据

本文档适用对象为设备侧,供设备接入本IOT中继平台使用。 此设备采用http协议接入本IOT中继系统平台,主要实现从接入设备上报物模型事件数据。 设备侧根据业务需要周期性调用此接口向平台上报设备事件数据,例如:设备温度超标关机。

Request URL: http://192.168.0.105:18080/httpService/uploadEventData

Request Method: POST

数据提交格式  application/json

请求头参数  Authorization

请求头参数说明:

参数名类型必须描述
AuthorizationHeader固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中

“Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM”

请求体格式 Content-Type

{
   "deviceId": "44080000001111000017",
   "eventId": "E_1696584389929",
   "paramsList": [
       { "paramsId": "aaaaa", "dataValue": "36" },
       { "paramsId": "bbbbb", "dataValue": "45" },
        。。。。。。
      ]
 }

请求体参数说明:

参数名类型必须描述
deviceIdstring接入设备ID标识,黄色为接入设备ID标识值 “44080000001111000017
eventIdstring接入设备物模型事件ID标识,黄色为物模型事件ID标识值 “E_1696584389929
paramsIdstringIOT接入设备事件物模型输出参数ID标识,黄色为事件物模型输出参数ID标识值 “aaaaa” “bbbbb”
dataValuestringIOT接入设备事件物模型输出参数值标识,黄色为事件物模型输出参数值,如: “36” “45”

正确响应结果示例:

{
  "code": "0",
  "msg": "success",
  "data": "true"
}

错误响应结果示例:

{
  "code": "-1",
  "msg": "fail:数据上报失败"
}


IOT中继宝盒 长按关注宜联科技公众号

QQ在线咨询

点击这里给我发消息 咨询客服专员

QQ咨询

专业咨询

199-4502-1328

电话咨询

微信扫一扫

IOT中继宝盒

微信咨询
返回顶部