青鸟消防云开放接口
  1. 1.事件回调
青鸟消防云开放接口
  • README(开发前必看)
  • 1.事件回调
    • 1.1.事件报送(设备报警、处警、心跳;数据增、删、改)
      POST
    • 1.2.感温电缆注册
      POST
    • 1.3.感温电缆温度上传
      POST
    • 1.4.感温电缆事件
      POST
  • 2.查询接口
    • 2.0.获取Token
      GET
    • 2.1.查询社会单位列表
      GET
    • 2.2.查询设施列表
      GET
    • 2.3.查询设施详情
      GET
    • 2.4.查询设施警情记录
      GET
    • 2.5.查询场所列表
      GET
    • 2.6.查询联系人
      GET
    • 2.7.查询报送记录
      GET
    • 2.8.短信发送记录
      GET
    • 2.9.语音拨打记录
      GET
    • 2.10.查询操作日志(设施)
      GET
    • 2.11.查询操作日志(社会单位)
      GET
    • 2.12.查询操作日志(场所)
      GET
    • 2.13.远程消音
      POST
    • 2.14.远程联动
      POST
    • 2.15.控制器远程控制
      POST
    • 2.16.设备远程控制
      POST
  • 3.数据字典
    • 3.1.警情事件类型
      GET
    • 3.2.警情事件
      GET
    • 3.3.设施类别
      GET
    • 3.4.设施类型
      GET
    • 3.5.模拟量类型
      GET
    • 3.6.传感器类型
      GET
    • 3.7.语音拨打状态
      GET
    • 3.8.处警类型
      GET
    • 3.9.系统类型
      GET
  • 4.上报接口
    • 4.1.事件上报
    • 4.2.设备-新增
    • 4.3.设备-删除
    • 4.4.设备-修改
    • 4.5.无线烟感设备-修改
  1. 1.事件回调

1.1.事件报送(设备报警、处警、心跳;数据增、删、改)

POST
/endpoint
最后修改时间:2023-12-11 06:19:27

概述#

本接口采用 http 协议+json 数据格式,将设备运行状况及报警信息,推送至第三方服务器,方便第三方平台采数据。

推送方式#

请求协议: http
请求地址: 由客户提供
请求方法: post
消息内容: http 协议 body 体内
内容格式: application/json; charset=utf-8

安全认证#

由第三方平台提供请求地址(endpoint)和签名票据(ticket),本接口会根据消息内容、时间戳和签名票据,生成签名,附加在 http 协议 headers 中,签名参数名:X-Signature,时间戳参数名:X-Timestamp。第三方平台可根据签名算法,校验消息来源。注意:如果第三方平台不提供签名票据,则不会生成签名。

签名算法#

消息内容、时间戳、签名票据都采用 utf-8 编码,消息内容+时间戳+签名票据拼接成字符串 string1,对 string1 作 sha1 加密得到签名。

示例#

步骤 1:
消息内容为:
{"facility":{"addrStr":"869662033589802","descr":"无线设备参与联动测试","facilitiesCode":2,"facilitiesModel":"JBF-VH76N","facilitiesModelId":7,"facilitiesType":"无线感烟","facilitiesTypeCode":332,"facilityId":565788,"isWireless":1},"fireUnit":{"address":"北京市海淀区成府路207号","id":75,"latitude":39.999008,"longitude":116.32534,"name":"北大青鸟"},"stat":[{"time":1565838801,"type":6,"typeStr":"故障","val":66,"valStr":"分离故障"}]}
当前时间戳为:
1565838801305
签名票据为:
1231
步骤 2:
按顺序拼接消息内容、时间戳、签名票据,得到 string1:
{"facility":{"addrStr":"869662033589802","descr":"无线设备参与联动测试","facilitiesCode":2,"facilitiesModel":"JBF-VH76N","facilitiesModelId":7,"facilitiesType":"无线感烟","facilitiesTypeCode":332,"facilityId":565788,"isWireless":1},"fireUnit":{"address":"北京市海淀区成府路207号","id":75,"latitude":39.999008,"longitude":116.32534,"name":"北大青鸟"},"stat":[{"time":1565838801,"type":6,"typeStr":"故障","val":66,"valStr":"分离故障"}]}15658388013051231
步骤 3:
对 string1 进行 sha1 签名,得到签名:
20770ba8fc475bf417d27a09b0d2c86c52aebba7

签名算法示例-Java#

请求参数

Header 参数
Content-Type
string 
报文格式
可选
示例值:
application/json
X-Timestamp
string 
可选
报文签名时间戳(秒)
示例值:
1565830209313
X-Signature
string 
可选
报文签名,算法参考【README/安全认证/签名认证】
示例值:
445a0424afda95b3fbb297ab96ad60a8c10d9dc7
Body 参数application/json
event
string 
必需
事件类型
alarm:报警
treat:处警
heartbeat:无线设施心跳
insert:注册
update:修改
delete:删除
facility
object 
设施
可选
facilitiesCode
integer 
设施类别
必需
取值参考【数据字典/设施类别】
id
integer 
设施id
可选
主键,同一设施类别唯一标识
addrStr
string 
编码地址
必需
无线设备的imei或有线设备的机器号-回路号-部位号或二次码
descr
string 
安装位置
必需
isWireless
integer 
是否为无线设备
必需
1:是;0:否
online
number 
在线状态
必需
1:在线;0:离线
imei
string 
设备识别码
可选
无线设备唯一标识
imsi
string 
国际移动用户识别码
可选
net
string 
网关唯一标识
可选
有线设备网关唯一标识
facilitiesTypeCode
integer 
设施类型编码
必需
取值参考【数据字典/设施类型】
facilitiesType
string 
设施类型名称
可选
facilitiesModelId
integer 
设施型号编码
可选
取值参考【数据字典/设施类型】
facilitiesModel
string 
设施型号名称
可选
analogType
string 
模拟量类型
可选
取值参考【数据字典/模拟量类型】
analogValue
string 
模拟量值
可选
temperature
integer 
温度
可选
voltage
string 
电量电压
可选
rssi
integer 
信号强度
可选
优:0~-80dBm
良:-81~-100dBm
中:-101~-110dBm
差:≤-111dBm
longitude
number 
经度(百度BD09坐标系)
可选
latitude
number 
纬度(百度BD09坐标系)
可选
extraInfo
object 
智慧用电附加属性
必需
energyUsedA
number 
A相用电量(有功能量)
必需
float类型
energyUsedB
number 
B相用电量(有功能量)
必需
float类型
energyUsedC
number 
C相用电量(有功能量)
必需
float类型
currentA
number 
A相电流
必需
float类型
currentB
number 
B相电流
必需
float类型
currentC
number 
C相电流
必需
float类型
voltageA
number 
A相电压
必需
float类型
voltageB
number 
B相电压
必需
float类型
voltageC
number 
C相电压
必需
float类型
powerA
number 
A相有功功率
必需
float类型
powerB
number 
B相有功功率
必需
float类型
powerC
number 
C相有功功率
必需
float类型
fireUnit
object 
社会单位
可选
id
integer 
防火单位ID
必需
name
string 
名称
必需
address
string 
地址
必需
latitude
integer 
纬度(百度BD09坐标系)
可选
longitude
integer 
经度(百度BD09坐标系)
可选
stat
array [object {6}] 
警情
可选
id
integer 
事件ID
必需
time
integer 
时间戳(秒)
必需
type
integer 
事件类型编码
必需
取值参考【数据字典/警情事件类型】
typeStr
string 
事件类型名称
可选
val
integer 
事件编码
必需
取值参考【数据字典/警情事件】
valStr
string 
事件名称
可选
treat
object 
处警
可选
id
integer 
事件ID
必需
time
integer 
事件时间戳(秒)
必需
treatTime
string 
处警时间
必需
treator
string 
处警人
必需
treatType
integer 
处警类型编码
必需
取值范围参考【数据字典/处警类型】
treatTypeStr
string 
处警类型名称
必需
linkman
object 
联系人
可选
id
integer 
ID
必需
unitType
integer 
所属单位类型
必需
1:防火单位;2:场所;3:网关;4:控制器;5:现场部件
unitId
integer 
所属单位ID
必需
name
string 
姓名
必需
phone
string 
电话
必需
示例
{
  "event": "string",
  "facility": {
    "facilitiesCode": 0,
    "id": 0,
    "addrStr": "string",
    "descr": "string",
    "isWireless": 0,
    "online": 0,
    "imei": "string",
    "imsi": "string",
    "net": "string",
    "facilitiesTypeCode": 0,
    "facilitiesType": "string",
    "facilitiesModelId": 0,
    "facilitiesModel": "string",
    "analogType": "string",
    "analogValue": "string",
    "temperature": 0,
    "voltage": "string",
    "rssi": 0,
    "longitude": 0,
    "latitude": 0,
    "extraInfo": {
      "powerArr": [
        {
          "phase": "string",
          "active": 0,
          "reactive": 0,
          "apparent": 0,
          "powerFactor": 0
        }
      ],
      "malignantLoadArr": [
        {
          "phase": "string",
          "enable": 0,
          "time": 0,
          "power": 0
        }
      ],
      "energyUsedArr": [
        {
          "phase": "string",
          "active": 0,
          "reactive": 0,
          "reverseActive": 0,
          "forwardActive": 0,
          "reverseReactive": 0,
          "forwardReactive": 0,
          "main": 0
        }
      ],
      "currentArr": [
        {
          "phase": "string",
          "analogType": "string",
          "analogValue": 0,
          "ratedCurrent": 0,
          "enable": 0,
          "overcurrentRatio": 0,
          "transformationRatio": 0
        }
      ],
      "voltageArr": [
        {
          "phase": "string",
          "enable": 0,
          "analogType": "string",
          "analogValue": 0,
          "overvoltageRatio": 0,
          "undervoltageRatio": 0
        }
      ],
      "switch": {
        "enable": 0,
        "lackCurrent": 0,
        "temperature": 0,
        "current": 0,
        "voltage": 0
      },
      "lineType": 0
    },
    "energyUsedA": 0,
    "energyUsedB": 0,
    "energyUsedC": 0,
    "currentA": 0,
    "currentB": 0,
    "currentC": 0,
    "voltageA": 0,
    "voltageB": 0,
    "voltageC": 0,
    "powerA": 0,
    "powerB": 0,
    "powerC": 0
  },
  "fireUnit": {
    "id": 0,
    "name": "string",
    "address": "string",
    "latitude": 0,
    "longitude": 0
  },
  "stat": [
    {
      "id": 0,
      "time": 0,
      "type": 0,
      "typeStr": "string",
      "val": 0,
      "valStr": "string"
    }
  ],
  "treat": {
    "id": 0,
    "time": 0,
    "treatTime": "string",
    "treator": "string",
    "treatType": 0,
    "treatTypeStr": "string"
  },
  "linkman": {
    "id": 0,
    "unitType": 0,
    "unitId": 0,
    "name": "string",
    "phone": "string"
  }
}

返回响应

🟢200成功
application/json
Body
object {0}
示例
{}
上一页
README(开发前必看)
下一页
1.2.感温电缆注册
Built with