开发者中心 开发者中心
  • 简体中文
  • English
视频教程
敢为云网站
  • 6.0版本
  • 6.1 版本
视频教程
敢为云网站
  • 平台概述
  • 平台功能
  • 平台安装
  • 开发者指南
  • 项目实战
  • 附录
    • 常用协议说明
    • 接口说明
      • 服务端API
      • 后台WebAPI
      • 北向WebAPI
        • 简介
        • 业务流程
        • 业务接口
          • 鉴权
          • 查询终端列表信息
          • 查询单个终端信息
          • 查询终端类型
          • 查询终端属性及指令信息
          • 查询终端属性历史值
          • 查询平台终端实时事件列表
          • 查询平台终端历史事件列表
          • 终端指令下发
        • 订阅接口
          • 创建订阅
          • 查询订阅列表
          • 修改订阅
          • 删除订阅
        • 消息推送模型
          • 终端属性数据变化通知
          • 终端在离线变化通知
          • 终端事件变化通知
          • 终端指令下发结果通知
    • 数据库说明
    • 平台接入能力
    • 如何使用gRPC
    • 敢为公共库
    • 设备禁用配置
    • 内网平台获取外网平台数据
    • 工程调试
    • Q&A

北向WebAPI

# 接口说明

北向WebAPI说明

# 简介

本文档为IoTCenter平台北向通用API说明文档。

原则上本文档中API进行鉴权认证后,方可调用IoT平台上发布的业务类接口。

提示

状态码说明:
0:成功
-1:失败

# 业务流程

  • 总体流程

    业务接口使用前需要通过鉴权,鉴权有效时间为120分钟,在有效期内可无限次访问其他业务API接口,第三方应用需在120分钟内重新调用鉴权接口以实现续签。方可继续调用其他业务API。

  • 传参说明

    注意:所有接口中,都需在Headers头中增加X-ClientId参数,参数值为文档提供方提供的AppId值。

# 业务接口

# 鉴权

  • 典型场景

    第三方应用需要调用IoT平台业务及订阅API接口前,需调用此API实现鉴权认证。

  • 接口功能

    实现第三方应用在访问业务及订阅API之前的认证。

  • 使用说明

    • 注意事项

      鉴权接口登录系统返回accessToken信息,有效期120分钟,其余业务接口需要在Header中添加Bearer Token。

    • 前提条件

      无

    • 使用限制

      无

  • 接口原型

    接口原型
    请求方法 POST
    请求地址 /south/platform/signIn
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    UserName 是 String body 第三方应用的身份标识,由物联网平台提供。
    Password 是 String body 第三方应用的密码,与appID对应,用于登录访问物联网平台。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    accessToken 是 String 鉴权成功生成的Token,其余业务接口需在Header中添加此Token。
    accessTokenExpired 是 int 平台生成并返回accessToken的有效时间。 单位:秒。
    succeeded 是 bool 接口请求是否成功。成功:true;失败:false
  • HTTP请求示例

    代码
    {
        "UserName": "admin",
        "Password":"****************"
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "accessToken": "*****************",
            "accessTokenExpired": 7200
        },
        "succeeded": true
    }
    

# 查询终端列表信息

  • 典型场景

    当应用查询指定网关下所有终端的基本信息(终端类型,终端状态、经纬度等)时,需调用此接口。

  • 接口功能

    根根据给定的条件批量获取符合条件的终端信息列表。

  • 交互流程

    • 应用向平台发送查询终端信息的条件。

    • 平台根据查询条件返回终端信息列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型
    请求方法 POST
    请求地址 /iot/ganwei/v2/devices
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    gatewayId 否 String body 网关标识
    terminalId 否 int body 终端标识(优先选择)
    terminalNo 否 List<string> body 终端编码(terminalId和terminalNo二选一)
    terminalName 否 String body 终端名称
    terminalTypeId 否 int body 终端类型Id
    terminalStatus 否 string body 查询终端的状态。
    NoCommunication:离线;
    CommunicationOK:正常;
    HaveAlarm:报警;
    HaveSetParm:正在设置中;
    Initial:正在初始化;CheFang:撤防
    beginTime 否 String body 查询注册终端信息时间在beginTime之后的记录。
    平台时间格式:
    yyyy-MM-ddTHH:mm:ss。
    endTime 否 String body 查询注册终端信息时间在endTime之前的记录。
    平台时间格式:
    yyyy-MM-ddTHH:mm:ss。
    sort 否 String body 指定返回记录的排序。缺省值:DESC。
    ASC:按注册终端的时间升序排列;
    DESC:按注册终端的时间降序排列。
    areaName 否 String body 查询指定区域下的终端,可模糊查询
    buildName 否 String body 查询指定建筑中的终端,可模糊查询
    unitName 否 String body 查询指定单位的终端,可模糊查询
    pageNo 否 Int body 查询的页码。 值等于-1时不分页,批量返回。 值大于0时分页查询。 值等于1时查询第一页, 缺省值:1
    pageSize 否 Int body 查询每页信息的数量,范围0-50, 缺省值:25。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 object 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<Device> 终端分页列表信息。

    Device

    名称 是否必选 是否可改 类型 说明
    terminalId 是 否 Int 终端ID,用于唯一标识一个终端
    terminalNo 是 否 String 终端编码
    gatewayId 是 是 String 网关ID,用于标识一个测站。
    createTime 是 否 String 创建终端的时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10。
    lastModifiedTime 是 是 String 最后修改终端的时间。
    terminalName 是 是 String 终端名称。
    terminalTypes 是 是 String 终端类型
    terminalTypeIds 是 是 String 终端类型Id
    longitude 否 是 String 经度
    latitude 否 是 String 纬度
    areaName 否 是 String 所属区域名称
    buildName 否 是 String 所在建筑名称
    unitName 否 是 String 所属单位名称
    address 否 是 String 终端的位置信息
    extendInfo 否 是 String 终端的扩展信息
    remark 否 是 String 终端的描述信息
    terminalStatus 否 否 String 终端的状态,共三类
    NoCommunication:离线;
    CommunicationOK:正常
    HaveAlarm:报警
    eventTime 否 是 DateTime 当前时间
  • HTTP请求示例

    代码
    {
        "pageNo": 1,
        "pageSize": 2
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 2,
            "totalCount": 24,
            "totalPage": 12,
            "list": [
                {
                    "terminalId": 1,
                    "terminalNo": "1",
                    "gatewayId": "",
                    "createTime": "2020-06-29T16:53:31",
                    "lastModifiedTime": "2020-06-29T16:53:31",
                    "terminalName": "企业用电-浦江县欣亚水晶饰品有限公司",
                    "terminalTypes": "",
                    "terminalTypeIds": "",
                    "longitude": "",
                    "latitude": "",
                    "areaName": "",
                    "buildName": "",
                    "unitName": "",
                    "address": "",
                    "extendInfo": "",
                    "remark": "",
                    "terminalStatus": "NoCommunication",
                    "eventTime": "2020-06-29T16:53:31"
                },
                {
                    "terminalId": 2,
                    "terminalNo": "2",
                    "gatewayId": "",
                    "createTime": "2020-06-29T16:53:31",
                    "lastModifiedTime": "2020-06-29T16:53:31",
                    "terminalName": "企业用电-浙江浦江亿帆钻饰科技有限公司",
                    "terminalTypes": "",
                    "terminalTypeIds": "",
                    "longitude": 0,
                    "latitude": 0,
                    "areaName": "",
                    "buildName": "",
                    "unitName": "",
                    "address": "",
                    "extendInfo": "",
                    "remark": "",
                    "terminalStatus": "NoCommunication",
                    "eventTime": "2020-06-29T16:53:31"
                }
            ]
        },
        "succeeded": true
    }
    

# 查询单个终端信息

  • 典型场景

    当应用查询指定网关下指定终端的基本信息(终端类型,终端状态、经纬度等)时,需调用此接口。

  • 接口功能

    根据给定的条件批量获取符合条件的终端信息列表。

  • 交互流程

    • 应用向平台发送查询终端信息的条件。

    • 平台根据查询条件返回终端信息。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型
    请求方法 POST
    请求地址 /iot/ganwei/v2/device
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    terminalId 否 Int body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Device

    名称 是否必选 是否可改 类型 说明
    terminalId 是 否 Int 终端ID,用于唯一标识一个终端
    terminalNo 是 否 String 终端编码
    gatewayId 是 是 String 网关ID,用于标识一个测站。
    createTime 是 否 String 创建终端的时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10。
    lastModifiedTime 是 是 String 最后修改终端的时间。
    terminalName 是 是 String 终端名称。
    terminalTypes 是 是 String 终端类型
    terminalTypeIds 是 是 String 终端类型Id
    longitude 否 是 String 经度
    latitude 否 是 String 纬度
    areaName 否 是 String 所属区域名称
    buildName 否 是 String 所在建筑名称
    unitName 否 是 String 所属单位名称
    address 否 是 String 终端的位置信息
    extendInfo 否 是 String 终端的扩展信息
    remark 否 是 String 终端的描述信息
    terminalStatus 否 否 String 终端的状态,共三类
    NoCommunication:离线;
    CommunicationOK:正常
    HaveAlarm:报警
    eventTime 否 是 DateTime 当前时间
  • HTTP请求示例

    代码
    {
        "terminalId": 1
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "terminalId": 1,
            "terminalNo": "1",
            "gatewayId": "",
            "createTime": "2020-06-29T16:53:31",
            "lastModifiedTime": "2020-06-29T16:53:31",
            "terminalName": "企业用电-浦江县欣亚水晶饰品有限公司",
            "terminalTypes": "",
            "terminalTypeIds": "",
            "longitude": "",
            "latitude": "",
            "areaName": "",
            "buildName": "",
            "unitName": "",
            "address": "",
            "extendInfo": "",
            "remark": "",
            "terminalStatus": "NoCommunication",
            "eventTime": "2020-06-29T16:53:31"
        },
        "succeeded": true
    }
    

# 查询终端类型

  • 典型场景

    当应用需要查询终端信息中类型参数信息时,需调用此API。

  • 接口功能

    根据给定的条件获取符合条件的终端类型参数信息列表。

  • 交互流程

    • 应用请求调用终端类型参数API。

    • 物联网平台返回终端类型参数信息列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/types
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    lists 是 list<DevicePars> 终端参数列表信息。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    DevicePars

    名称 是否必选 是否可改 类型 说明
    terminalTypeId 否 否 Int 终端类型Id
    terminalTypeName 否 是 String 终端类型名称,如多传感器,接触传感器,摄像通道。
  • HTTP请求示例

    代码
    {
    
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": [
            {
                "terminalTypeId": 1,
                "terminalTypeName": "摄像通道"
            },
            {
                "terminalTypeId": 2,
                "terminalTypeName": "可燃气体传感器"
            },
            {
                "terminalTypeId": 3,
                "terminalTypeName": "接触传感器"
            },
            {
                "terminalTypeId": 4,
                "terminalTypeName": "多传感器"
            },
            {
                "terminalTypeId": 5,
                "terminalTypeName": "储罐"
            },
            {
                "terminalTypeId": 6,
                "terminalTypeName": "温湿度传感器"
            }
        ],
        "succeeded": true
    }
    

# 查询终端属性及指令信息

  • 典型场景

    当应用查询指定网关下所有终端的属性(如终端的温度、压力、容量等)及指令(如开门/关门)信息时,需调用此接口。

  • 接口功能

    根据给定的条件批量获取符合条件的终端属性及指令信息列表。

  • 交互流程

    • 应用向平台发送查询终端属性及指令信息的条件。

    • 平台根据查询条件返回终端属性及指令信息列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/propertys
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    gatewayId 否 String body 网关唯一标识。
    terminalId 否 Int body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
    terminalTypeId 否 int body 终端类型Id
    areaName 否 String body 查询指定区域下的终端,可模糊查询
    buildName 否 String body 查询指定建筑中的终端,可模糊查询
    unitName 否 String Body 查询指定单位的终端,可模糊查询
    pageNo 否 Int body 查询的页码,第一页为1,缺省值为1
    pageSize 否 Int body 查询每页信息的数量,范围0-50, 缺省值:25。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<Property> 终端列表信息。

    Property

    名称 是否必选 是否可改 类型 说明
    terminalId 是 否 String 终端标识。
    terminalNo 是 否 String 终端编码
    terminalName 是 是 String 终端属性名称
    propertys 是 否 List<PropertyV2Item> 终端属性合集

    PropertyV2Item

    名称 是否必选 是否可改 类型 说明
    propertyId 是 否 Int 终端属性Id
    propertyCode 是 否 String 终端属性编码
    propertyName 是 是 String 终端属性名称
    propertyType 是 否 String 终端属性类型
    propertyIsAlarm 否 否 Bool 终端属性当前是否报警
    propertyUnit 否 否 String 终端属性单位
    propertyType 否 否 String propertyValue类型
    YC:double,string
    YX:string
    SET:无
  • HTTP请求示例

    代码
    {
        "pageNo": 1,
        "pageSize": 50,
        "terminalId": "22254",
        "terminalNo": "1"
    }
    
  • HTTP响应示例

    代码
    {
        "code": 200,
        "succeeded": true,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 2,
            "totalCount": 144,
            "totalPage": 72,
            "list": [{
                "terminalId": 1,
                "terminalNo": "1",
                "terminalName": "净水器",
                "propertys": [{
                    "propertyId": 1,
                    "propertyCode": "233",
                    "propertyName": "空气湿度04",
                    "propertyType": "yc",
                    "propertyValue": "28",
                    "propertyIsAlarm": false,
                    "propertyUnit": "℃",
                    "propertyDataType": "double"
                }]
            }]
        }
    }
    

# 查询终端属性历史值

  • 典型场景

    当应用查询指定网关下所有终端属性的历史值时,需调用此接口,最大支持查询一年。

  • 接口功能

    根据给定的条件批量获取符合条件的终端信息列表。

  • 交互流程

    • 应用向平台发送查询终端属性历史值的条件。

    • 平台根据查询条件返回终端属性历史值列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/property/history
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    propertyCode 是 String body 终端属性唯一标识。
    terminalId 是 Int body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
    beginTime 否 DateTime body 查询起始时间
    endTime 否 DateTime body 查询终止时间
    pageNo 否 Int body 查询的页码,第一页为1,缺省值为1
    pageSize 否 Int body 查询每页信息的数量,范围0-50, 缺省值:25。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<PropertyHistory> 终端列表信息。

    PropertyHistory

    名称 是否必选 是否可改 类型 说明
    datetime 是 否 String 时间
    value 是 是 String 值。
  • HTTP请求示例

    代码
    {
        "pageNo": 1,
        "pageSize": 50,
        "propertyCode": "shidu",
        "terminalId": 22254,
        "terminalNo": "1",
        "beginTime": "2021-09-09 00:00:00",
        "endTime": "2021-09-09 16:00:00"
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 25,
            "totalCount": 30,
            "totalPage": 2,
            "list": [
                {
                    "datetime": "2021-01-01T13:00:01",
                    "value": 0
                },
                {
                    "datetime": "2021-01-01T13:00:10",
                    "value": 0
                },
                {
                    "datetime": "2021-01-01T13:00:20",
                    "value": 0
                },
                {
                    "datetime": "22021-01-01T13:00:30",
                    "value": 0
                }
            ]
        },
        "succeeded": true
    }
    

# 查询平台终端实时事件列表

  • 典型场景

    当应用查询指定网关下物联网平台实时终端事件(含报警、报警消除、指令下发)的信息时,需调用此接口。

  • 接口功能

    根据给定的条件批量获取符合条件的实时报警及消除信息列表。

  • 交互流程

    • 应用向平台发送查询终端实时事件(含报警、报警消除、指令下发)的条件。

    • 平台根据查询条件返回终端实时事件(含报警、报警消除、指令下发)列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/events
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    terminalId 否 String body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
    eventType 否 String body 事件类型
    NORMAL:报警消除(恢复);
    ABNORMAL:报警;
    COMMAND:指令下发
    pageNo 否 Int body 查询的页码,第一页为1,缺省值为1
    pageSize 否 Int body 查询每页信息的数量,范围0-50, 缺省值:25。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<DeviceEvent> 查询列表信息。

    DeviceEvent

    名称 是否必选 是否可改 类型 说明
    requestId 是 否 String 终端事件标识
    terminalId 是 否 String 终端标识
    terminalNo 是 否 String 终端编码
    terminalName 否 否 String 终端名称
    terminalType 否 否 String 终端类型
    gatewayId 是 否 String 网关唯一标识。
    propertyId 否 否 String 终端属性唯一标识
    propertyName 否 否 String 终端属性名称
    propertyType 是 否 String 终端属性类型,如压力、温度、湿度
    propertyModel 是 否 String 终端属性模型
    yc:属性(模拟量)
    yx:属性(状态量)
    Set:指令(设置量)
    eventType 是 否 String 事件类型
    NORMAL:报警消除(恢复)
    ABNORMAL:报警
    COMMAND:指令下发
    eventContent 是 否 String 事件内容
    eventTime 是 否 String 事件发生时间
    currentValue 是 是 String 终端属性实时值
    currentPropertyIsAlarm 否 是 String 终端属性实时状态
    NORMAL:正常
    ABNORMAL:报警
    OFFLINE:离线
    propertyUnit 否 是 String 终端属性值的单位。如%
    terminalStatus 否 否 String 终端状态,共三类
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
  • HTTP请求示例

    代码
    {
        "pageNo": 1,
        "pageSize": 10
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 10,
            "totalCount": 2,
            "totalPage": 1,
            "list": [
                {
                    "requestId": "00f37aab-46c7-4d80-8c44-fb0670173925",
                    "terminalId": "ae0c7032-d6a9-4240-bee9-d9b22229d002",
                    "terminalNo": "1",
                    "terminalName": "温湿度1",
                    "terminalType": "test",
                    "gatewayId": "",
                    "propertyName": "",
                    "propertyType": "",
                    "propertyCode": "",
                    "eventType": "COMMAND",
                    "eventContent": "温湿度1-遥测设置1>>设置成功!---by:ganwei",
                    "eventTime": "2020-06-30T13:35:04",
                    "currentValue": "",
                    "currentPropertyIsAlarm": "",
                    "propertyUnit": "",
                    "terminalStatus": "HaveAlarm"
                }
            ]
        },
        "succeeded": true
    }
    

# 查询平台终端历史事件列表

  • 典型场景

    当应用查询指定网关下物联网平台历史终端事件(含报警、报警消除、指令下发)的信息时,需调用此接口。

  • 接口功能

    根据给定的条件批量获取符合条件的历史报警及消除信息列表。

  • 交互流程

    • 应用向平台发送查询终端历史事件(含报警、报警消除、指令下发)的条件。

    • 平台根据查询条件返回终端历史事件(含报警、报警消除、指令下发)列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/events/history
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    terminalId 否 String body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
    eventType 否 String body 事件类型
    NORMAL:报警消除(恢复)
    ABNORMAL:报警
    COMMAND:指令下发
    beginTime 否 DateTime body 开始时间。起止时间不可跨天
    endTime 否 DateTime body 终止时间。起止时间不可跨天
    pageNo 否 Int body 查询的页码,第一页为1,缺省值为1
    pageSize 否 Int body 查询每页信息的数量,范围0-50, 缺省值:25。
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<DeviceEvent> 终端列表信息。

    DeviceEvent

    名称 是否必选 是否可改 类型 说明
    requestId 是 否 String 终端事件标识
    terminalId 是 否 String 终端标识
    terminalNo 是 否 String 终端编码
    terminalName 否 否 String 终端名称
    terminalType 否 否 String 终端类型
    gatewayId 是 否 String 网关唯一标识。
    propertyId 否 否 String 终端属性唯一标识
    propertyName 否 否 String 终端属性名称
    propertyType 是 否 String 终端属性模型
    yc:属性(模拟量)
    yx:属性(状态量)
    Set:指令(设置量)
    eventType 是 否 String 事件类型
    NORMAL:报警消除(恢复)
    ABNORMAL:报警
    COMMAND:指令下发
    eventContent 是 否 String 事件内容
    eventTime 是 否 String 事件发生时间
    currentValue 是 是 String 终端属性实时值
    currentPropertyIsAlarm 否 是 String 终端属性实时状态
    NORMAL:正常
    ABNORMAL:报警
    OFFLINE:离线
    propertyUnit 否 是 String 终端属性值的单位。如%
    terminalStatus 否 否 String 终端状态,共三类
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
  • HTTP请求示例

    代码
    {
        "pageNo":1,
        "pageSize": 100,
        "beginTime": "2021-09-09 8:22:13",
        "endTime": "2021-09-09 16:22:13",
        "eventType":"ABNORMAL",
        "terminalId":22254,
        "terminalNo": "2"
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 10,
            "totalCount": 2,
            "totalPage": 1,
            "list": [
                {
                    "requestId": "00f37aab-46c7-4d80-8c44-fb0670173925",
                    "terminalId": "ae0c7032-d6a9-4240-bee9-d9b22229d002",
                    "terminalNo": "2",
                    "terminalName": "温湿度1",
                    "terminalType": "test",
                    "gatewayId": "",
                    "propertyName": "",
                    "propertyType": "",
                    "propertyCode": "",
                    "eventType": "COMMAND",
                    "eventContent": "温湿度1-遥测设置1>>设置成功!---by:ganwei",
                    "eventTime": "2020-06-30T13:35:04",
                    "currentValue": "",
                    "currentPropertyIsAlarm": "",
                    "propertyUnit": "",
                    "terminalStatus": "HaveAlarm"
                }
            ]
        },
        "succeeded": true
    }
    

# 终端指令下发

  • 典型场景

    第三方应用向终端立即下发指令(如下发开门指令)时需调用此API,支持给本应用的终端和授予权限的其它应用的终端下发指令。

  • 接口功能

    应用给终端发送指令消息,实现对传感器的实时控制。平台分别提供了下发至终端或者具体某传感器的控制指令接口,下发消息的具体格式需要应用与终端自定义,平台在接口中进行封装与透传。应用发送命令/事件给网关(或者网关下的终端)指定的服务。

  • 交互流程

    • 应用请求调用终端指令下发API。

    • 物联网平台下发命令到终端层。

  • 使用说明

    • 注意事项

      终端具备功能:停用/启用,修改频率

      测站具备功能:召测,修改频率

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/device/property/command
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    terminalId 否 Int body 终端标识(优先选择)
    terminalNo 否 String body 终端编码(terminalId和terminalNo二选一)
    propertyCode 否 String body 终端属性编码
    value 否 String body 下发值
    如开关门禁,1:关门 0:开门
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。
    成功:200
    失败:-1
    message 是 String 接口请求结果描述。
    status 是 String 指令状态
    sent:已发送。
    failed:失败。
    commandTime 是 String 平台下发指令的时间
    平台时间格式:
    yyyy-MM-ddTHH:mm:ss。
    commandId 是 String 终端指令唯一标识。在下发终端命令时由物联网平台分配获得
  • HTTP请求示例

    代码
    {
        "terminalId": 1,
        "terminalNo": "2",
        "propertyCode": "wenduset",
        "value": "25"
    }
    
  • HTTP响应示例

    代码
    {
        "code": 200,
        "message": "终端指令下发成功",
        "status": "sent",
        "commandTime": "2020-06-22T13:27:22",
        "commandId": "56c7b1ea-0d46-4e0b-8788-a9cc1f8b3793"
    }
    

# 订阅接口

# 创建订阅

  • 典型场景

    应用服务器需要订阅消息推送(如终端属性数据变化,终端在离线变化等)的通知时,可调用此接口进行消息订阅。

  • 接口功能

    根据给定的条件订阅消息推送数据。

  • 交互流程

    • 应用依据需求请求调用创建订阅API。

    • 物联网平台返回订阅结果。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/subscription/create
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 是 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    subscriptionName 是 String body 订阅名称
    terminalTypeIdList 是 Int[] body 授权终端Id
    callbackUrl 是 String body 订阅回调地址
    callbackappId 是 String body 订阅回调请求账号
    callbackappkey 是 String body 订阅回调请求密钥
    protocolType 否 Int body 协议类型
    1:Https
    2:Http
    3:Kafka
    4:Activemq
    5:Rabbitmq
    6:Mqtt
    dataType 否 Int body 通知类型
    1:DATA_CHANGED(终端属性变化)
    2:EVENT_CHANGED(终端事件)
    3:STATUS_CHANGED(终端状态变化)
    4:COMMAND_RESPONSE(终端命令响应)
    mqsTopic 否 String body MQS消息主题
    sslPath 否 String body SSL证书路径
    sslPassword 否 String body SSL证书密码(加密存储)
    subState 否 Int body 是否有效 0:失效 1:有效
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 Int 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 SubCreate 执行结果。 0订阅失败 1 订阅成功
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    SubCreate

    名称 是否必选 类型 说明
    Id 是 Int 订阅ID
  • HTTP请求示例

    代码
    {
        "subscriptionName": "终端属性变化",
        "terminalTypeIdList": [1],
        "callbackUrl": "10.51.9.152:9092,10.51.9.77:9092,10.51.9.184:9092",
        "callbackappId": "ganwei//Kafka账号",
        "callbackappkey": "15a8728fc3b84636912e76a1fbd7f6ac//Kafka密码",
        "protocolType": 3//Kafka,
        "dataType": 1//DATA_CHANGED,
        "mqsTopic": "T_GANWEI_DEVICE_DATA_CHANGED_JiaJu",
        "sslPath": null,
        "sslPassword": null,
        "state": 1
    }
    
  • HTTP响应示例

    代码
    {
        "data":{
            "Id": 1	
        },
        "code": 200,
        "message": "Success",
        "succeeded": true
    }
    

# 查询订阅列表

  • 典型场景

    应用服务器可在物联网平台上创建多个订阅,以订阅不同类型的消息推送通知。应用服务器若需要查看多个订阅的配置信息,可调用此接口进行查询。

  • 接口功能

    根据给定的条件获取符合条件的订阅配置信息列表。

  • 交互流程

    • 应用请求调用查询订阅列表API。

    • 物联网平台返回订阅配置信息列表。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/subscription/query
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    protocolType 否 Int body 协议类型
    1:Https
    2:Http
    3:Kafka
    4:Activemq
    5:Rabbitmq
    6:Mqtt
    dataType 否 Int body 通知类型
    1:DATA_CHANGED(终端属性变化)
    2:EVENT_CHANGED(终端事件)
    3:STATUS_CHANGED(终端状态变化)
    4:COMMAND_RESPONSE(终端命令响应)
    subscriptionId 否 Int body 订阅Id
    appId 否 String body 应用Id
    channelType 否 String body 类型。 RomaOfflineApi:线下Roma北向Api RestfulApi:第三方平台API RomaConnectKafka:线上ROMA-Kafka 默认RestfulApi。
    notifyType 否 String body 通知类型。 T_GANWEI_DEVICE_DATA_CHANGED:终端属性数据变化通知 T_GANWEI_DEVICE_STATUS_CHANGED:终端在离线变化通知 T_GANWEI_DEVICE_EVENT:终端事件变化通知 T_GANWEI_COMMAND_RESPONSE:终端指令下发结果通知 T_GANWEI_DEVICE_INFO_CHANGED:终端信息变化通知
    state 否 Int body 是否有效 0:失效 1:有效
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    data 是 Page 查询结果集合。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。

    Page

    名称 是否必选 类型 说明
    pageNo 是 Int 查询的页码。
    pageSize 是 Int 查询每页信息的数量。
    totalCount 是 Int 查询的记录数量。
    totalPage 是 Int 查询的总页数。
    list 是 List<Subscription> 查询列表信息。

    Subscriptions

    名称 是否必选 是否可改 类型 说明
    subscriptionId 是 String body 订阅Id
    appId 否 String body 应用Id
    callbackUrl 是 String body 回调地址
    callbackappId 否 String body 回调地址请求账号
    callbackappkey 否 String body 回调地址请求密钥
    protocolType 否 Int body 协议类型
    1:Https
    2:Http
    3:Kafka
    4:Activemq
    5:Rabbitmq
    6:Mqtt
    dataType 否 Int body 通知类型
    1:DATA_CHANGED(终端属性变化)
    2:EVENT_CHANGED(终端事件)
    3:STATUS_CHANGED(终端状态变化)
    4:COMMAND_RESPONSE(终端命令响应)
    mqsTopic 否 String MQS消息主题
    sslPath 否 String SSL证书路径
    sslPassword 否 String SSL证书密码(加密存储)
    subTime 否 DateTime body 订阅时间
    delTime 否 DateTime body 失效时间
    state 否 Int body 是否有效 0:失效 1:有效
  • HTTP请求示例

    代码
    {
        "pageNo": 1,
        "pageSize": 10
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "data": {
            "pageNo": 1,
            "pageSize": 10,
            "totalCount": 1,
            "totalPage": 1,
            "list": [
                {
                    "subscriptionId": "15a8728fc3b84636912e76a1fbd7f6ac",
                    "appId": "admin",
                    "callbackUrl": "/iot/ganwei/v2/subscription/query",
                    "callbackappId": "user",
                    "callbackappkey": "123",
                    "protocolType": 1,
                    "dataType": 2,
                    "subTime": "2020-07-20T15:50:40",
                    "delTime": null,
                    "state": 1
                }
            ]
        },
        "succeeded": true
    }
    

# 修改订阅

  • 典型场景

    应用服务器需要修改订阅消息配置时,可调用此接口进行消息订阅配置变更。

  • 接口功能

    根据给定的条件修改订阅消息配置数据。

  • 交互流程

    • 应用依据需求请求调用修改订阅API。

    • 物联网平台返回修改结果。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/subscription/edit
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    subscriptionId 是 Int body 订阅Id
    subscriptionName 是 String body 订阅名称
    terminalTypeIdList 是 Int[] body 授权终端Id
    callbackUrl 否 String body 订阅回调地址
    callbackappId 否 String body 订阅回调请求账号
    callbackappkey 否 String body 订阅回调请求密钥
    protocolType 否 Int body 协议类型
    1:Https
    2:Http
    3:Kafka
    4:Activemq
    5:Rabbitmq
    6:Mqtt
    dataType 否 Int body 通知类型
    1:DATA_CHANGED(终端属性变化)
    2:EVENT_CHANGED(终端事件)
    3:STATUS_CHANGED(终端状态变化)
    4:COMMAND_RESPONSE(终端命令响应)
    mqsTopic 否 String body MQS消息主题
    sslPath 否 String body SSL证书路径
    sslPassword 否 String body SSL证书密码(加密存储)
    state 否 Int body 是否有效 0:失效 1:有效
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。
  • SHTTP请求示例

    代码
    {
        "subscriptionName": "终端属性",
        "terminalTypeIdList": [1],
        "callbackUrl": "https://192.168.0.126:44380/iot/ganwei/v1/gateway/database/sync21",
        "callbackappId": "user",
        "callbackappkey": "123",
        "protocolType": 1,
        "dataType": 1,
        "mqsTopic": "T_GANWEI_DEVICE_DATA_CHANGED_JiaJu111111",
        "sslPath": null,
        "sslPassword": null,
        "state": 1,
        "subscriptionId": 42
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "succeeded": true
    }
    

# 删除订阅

  • 典型场景

    应用服务器需要删除订阅消息通知时,可调用此接口进行删除订阅。

  • 接口功能

    根据给定的条件删除订阅。

  • 交互流程

    • 应用依据需求请求调用删除订阅API。

    • 物联网平台返回订阅结果。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成鉴权,accessToken在有效期内。

    • 使用限制

      无

  • 接口原型

    接口原型表格
    请求方法 POST
    请求地址 /iot/ganwei/v2/subscription/delete
    传输协议 HTTP
    接口方式 Restful
  • 请求参数

    请求参数表格
    名称 是否必选 类型 位置 说明
    Authorization 否 String Header 访问IoT平台的认证信息,值为accessToken,accessToken值为调用鉴权接口返回的accessToken。 格式:Bearer accessToken
    subscriptionId 是 Int header 订阅Id
  • 响应参数

    响应参数表格
    名称 是否必选 类型 说明
    code 是 String 接口请求结果,表示接口是否调用成功,对实际功能调用成功与否不做描述。 成功:0 失败:-1或者大于0。(大于0时参考具体错误代码)
    message 是 String 接口请求结果描述。
    succeed 是 Bool 接口请求是否成功。 成功:true。 失败:false。
  • SHTTP请求示例

    代码
    {
        "subscriptionId":1
    }
    
  • HTTP响应示例

    代码
    {
        "code": 0,
        "message": "Success",
        "succeeded": true
    }
    

# 消息推送模型

# 终端属性数据变化通知

  • 典型场景

    平台发现终端属性数据变化时(如温度值的变化),消息主题Topic为DATA_CHANGED,第三方应用可订阅该Topic,实时监听终端属性数据变化消息。

  • 消息功能

    平台使用此消息主题将终端数据的变化通知给第三方应用。

  • 交互流程

    • 真实终端数据发生变化。

    • 平台检测到此变化,主动推送变化数据到消息主题Topic中。

    • 第三方应用监听DATA_CHANGED主题,实时获取终端属性数据消息

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成消息主题订阅。

    • 使用限制

      无

  • 消息主题

    DATA_CHANGED

  • 参数说明

    参数说明表格
    名称 是否必选 类型 说明
    requestId 是 String 消息的序列号,唯一标识该消息
    terminalId 是 String 终端唯一标识
    terminalName 是 String 终端属性唯一标识
    terminalNo 是 String 终端编码
    terminalTypeId 是 Int[] 终端类型Id(数组)
    terminalTypeName 是 String[] 终端类型名称(数组)
    gatewayId 否 String 网关标识
    notifyType 是 String 平台发布通知类型
    终端属性变化:DATA_CHANGED
    mqsTime 是 String 变化时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10
    terminalStatus 是 String 终端状态
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
    Data 是 List<TerminalDataInfo> 终端下各个属性实时信息集合

    TerminalDataInfo终端属性对象如下:

    名称 是否必选 类型 说明
    propertyName 是 String 终端属性名称
    propertyCode 是 String 终端属性编码
    propertyType 是 String 终端属性类型:YC,YX,SET
    propertyValue 是 String 终端属性实时值
    propertyIsAlarm 是 Bool 终端属性是否报警
    propertyUnit 否 String 终端属性单位
    propertyDataType 是 String propertyValue类型
    YC:double,string
    YX:string
    SET:无
  • 消息示例

    代码
    {
        "requestId":"6c505c63-fbb3-483e-aa7c-dc7c8b9bae13",
        "terminalId":24,
        "terminalNo":"1",
        "terminalName":"温湿度#11146",
        "terminalTypeId":"[1]",
        "terminalTypeName":"["智能温感设备"]",
        "gatewayId":"1122",
        "notifyType":"DATA_CHANGED",
        "mqsTime":"2021-08-06 17:02:07.855",
        "terminalStatus":"CommunicationOK",
        "Data":[
            {
                "propertyName":"温度",
                "propertyCode":"wendu",
                "propertyType":"YC",
                "propertyValue":"21",
                "propertyIsAlarm":false,
                "propertyUnit":"℃",
                "propertyDataType":"string"
            },
            {
                "propertyName":"湿度",
                "propertyCode":"shidu",
                "propertyType":"YC",
                "propertyValue":"43",
                "propertyIsAlarm":false,
                "propertyUnit":"%",
                "propertyDataType":"string"
            }
        ]
    }
    

# 终端在离线变化通知

  • 典型场景

    平台发现终端在离线或网络连接中断时(如水质终端异常离线),消息主题Topic为STATUS_CHANGED,第三方应用可订阅该Topic,实时监听终端状态变化消息。

  • 消息功能

    平台使用此消息主题将终端状态的变化通知给第三方应用。

  • 交互流程

    • 真实终端状态发生变化,异常离线。

    • 平台检测到此变化,主动推送状态变化到消息主题Topic中。

    • 第三方应用监听STATUS_CHANGED主题,实时获取终端状态消息

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成消息主题订阅。

    • 使用限制

      无

  • 消息主题

    STATUS_CHANGED

  • 参数说明

    参数说明表格
    名称 是否必选 类型 说明
    requestId 是 String 消息的序列号,唯一标识该消息
    terminalId 是 String 终端唯一标识
    terminalName 是 String 终端属性唯一标识
    terminalTypeId 是 String 终端类型Id(数组)
    terminalNo 是 String 终端编码
    terminalTypeName 是 String 终端类型名称(数组)
    gatewayId 否 String 网关标识
    notifyType 是 String 平台发布通知类型
    终端属性变化:STATUS_CHANGED
    mqsTime 是 String 变化时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10
    terminalStatus 是 String 终端状态
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
    Data 是 TerminalStateInfo 当前终端状态

    TerminalStateInfo对象如下

    名称 是否必选 类型 说明
    terminalStatus 是 String 终端状态
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
  • 消息示例

    代码
    {
        "requestId":"6c505c63-fbb3-483e-aa7c-dc7c8b9bae13",
        "terminalId":24,
        "terminalNo":"1",
        "terminalName":"温湿度#11146",
        "terminalTypeId":"[1]",
        "terminalTypeName":"["智能温感设备"]",
        "gatewayId":"1122",
        "notifyType":"STATUS_CHANGED",
        "mqsTime":"2021-08-06 17:02:07.855",
        "terminalStatus":"CommunicationOK",
        "Data":{
            "terminalStatus":"CommunicationOK"
        }
    }
    

# 终端事件变化通知

  • 典型场景

    平台发现终端事件(含报警、报警消除、指令下发)变化时(如温度值越线报警、烟感终端恢复通讯、门禁终端开/关门指令),消息主题Topic为DEVICE_EVENT,第三方应用可订阅该Topic,实时监听终端事件变化消息。

  • 消息功能

    平台使用此消息主题将终端事件(含报警、报警消除、指令下发)变化通知给第三方应用。

  • 交互流程

    • 真实终端数据发生变化,超出阈值范围。

    • 平台检测到此变化,触发越限报警,主动推送此报警事件变化数据到消息主题Topic中。

    • 第三方应用监听EVENT_CHANGED主题,实时获取终端事件消息

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成消息主题订阅。

    • 使用限制

      无

  • 消息主题

    EVENT_CHANGED

  • 参数说明

    参数说明表格
    名称 是否必选 类型 说明
    requestId 是 String 消息的序列号,唯一标识该消息
    terminalId 是 String 终端唯一标识
    terminalName 是 String 终端属性唯一标识
    terminalTypeId 是 String 终端类型Id(数组)
    terminalNo 是 String 终端编码
    terminalTypeName 是 String 终端类型名称(数组)
    gatewayId 否 String 网关标识
    notifyType 是 String 平台发布通知类型
    终端属性变化:STATUS_CHANGED
    mqsTime 是 String 变化时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10
    terminalStatus 是 String 终端状态
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
    Data 是 TerminalAlarmInfo 终端事件信息

    TerminalAlarmInfo终端属性对象如下:

    名称 是否必选 类型 说明
    propertyName 是 String 终端属性名称
    propertyCode 是 String 终端属性编码
    propertyType 是 String 终端属性类型:YC,YX,SET
    propertyValue 是 String 终端属性实时值
    ropertyIsAlarm 是 Bool 终端属性是否报警
    propertyUnit 否 String 终端属性单位
    eventType 是 String 事件类型:恢复正常,告警
    eventContent 是 String 事件内容
    propertyDataType 是 String propertyValue类型
    YC:double,string
    YX:string
    SET:无
  • 消息示例

    代码
    {
        "requestId":"6c505c63-fbb3-483e-aa7c-dc7c8b9bae13",
        "terminalId":24,
        "terminalNo":"1",
        "terminalName":"温湿度#11146",
        "terminalTypeId":"[1]",
        "terminalTypeName":"["智能温感设备"]",
        "gatewayId":"1122",
        "notifyType":"EVENT_CHANGED",
        "mqsTime":"2021-08-06 17:02:07.855",
        "terminalStatus":"CommunicationOK",
        "Data":{
            "propertyName":"温度",
            "propertyCode":"wendu",
            "propertyType":"YC",
            "propertyValue":"21",
            "propertyDataType":"string",
            "propertyIsAlarm":false,
            "propertyUnit":"℃",
            "eventType":"恢复正常",
            "eventContent":"温度恢复正常"
        }
    }
    

# 终端指令下发结果通知

  • 典型场景

    平台发现终端指令下发结果执行完成时(如门禁终端开门指令执行完成),消息主题Topic为COMMAND_RESPONSE,第三方应用可订阅该Topic,实时监听终端指令执行结果消息。

  • 消息功能

    平台使用此消息主题将终端指令执行结果通知给第三方应用。

  • 交互流程

    • 第三方应用调用终端指令下发接口,执行指令动作。

    • 平台检测到指令请求,将指令下发至终端层,同时生成唯一指令Id返回接口请求,当平台监听到终端层响应指令并执行完成后,主动推送指令执行结果消息到主题Topic中。

    • 第三方应用监听COMMAND_RESPONSE主题,实时获取消息,依据请求接口返回的指令Id获取指令执行结果。

  • 使用说明

    • 注意事项

      无

    • 前提条件

      应用已完成消息主题订阅。

    • 使用限制

      无

  • 消息主题

    COMMAND_RESPONSE

  • 参数说明

    参数说明表格
    名称 是否必选 类型 说明
    requestId 是 String 消息的序列号,唯一标识该消息
    terminalId 是 String 终端唯一标识
    terminalName 是 String 终端属性唯一标识
    terminalTypeId 是 String 终端类型Id(数组)
    terminalNo 是 String 终端编码
    terminalTypeName 是 String 终端类型名称(数组)
    gatewayId 否 String 网关标识
    notifyType 是 String 平台发布通知类型
    终端属性变化:STATUS_CHANGED
    mqsTime 是 String 变化时间,时间格式:yyyy-MM-dd HH:mm:ss,如2019-09-27 17:54:10
    terminalStatus 是 String 终端状态
    NoCommunication:离线
    CommunicationOK:正常
    HaveAlarm:报警
    Data 是 TerminalCommandInfo 命令响应内容

    TerminalCommandInfo终端属性对象如下:

    名称 是否必选 类型 说明
    propertyName 是 String 终端属性名称
    propertyCode 是 String 终端属性编码
    CommandResult 是 Bool 是否成功
    CommandMsg 是 String 执行结果描述
    CommandRequestId 否 Bool 下发命令时传入的标识
  • 消息示例

    代码
    {
        "requestId":"6c505c63-fbb3-483e-aa7c-dc7c8b9bae13",
        "terminalId":24,
        "terminalNo":"1",
        "terminalName":"温湿度#11146",
        "terminalTypeId":"[1]",
        "terminalTypeName":"["智能温感设备"]",
        "gatewayId":"1122",
        "notifyType":"COMMAND_RESPONSE",
        "mqsTime":"2021-08-06 17:02:07.855",
        "terminalStatus":"CommunicationOK",
        "Data":{
            "propertyName":"温度",
            "propertyCode":"wendu",
            "CommandResult":true,
            "CommandMsg":"执行成功",
            "CommandRequestId":"",
        }
    }
    
上次更新: 5/7/2024, 9:32:29 PM

← 后台WebAPI 数据库说明→

目录
简介
业务流程
业务接口
鉴权
查询终端列表信息
查询单个终端信息
查询终端类型
查询终端属性及指令信息
查询终端属性历史值
查询平台终端实时事件列表
查询平台终端历史事件列表
终端指令下发
订阅接口
创建订阅
查询订阅列表
修改订阅
删除订阅
消息推送模型
终端属性数据变化通知
终端在离线变化通知
终端事件变化通知
终端指令下发结果通知
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式