阿那亚秦皇岛景区单车租赁管理项目(旧)

设备数据与管理接口


根据读卡设备ID订阅读卡事件消息

连接地址:

  • 测试环境 wss://iotdn.net:1443/api/v1/webSocket/readEventsBydeviceID
  • 正式环境 wss://iotdn.net:2443/api/v1/webSocket/readEventsBydeviceID

连接方式:

  • WebSocket

头部参数

标签 内容
Sec-WebSocket-Key 获取的X-Subject-Token

简要描述:

  • 根据读卡设备ID订阅读卡事件消息

请求参数:

参数名 必填 类型 说明
requestID string 请求UUID,由请求端自行生成,用于对应服务端返回内容
requestType string 请求类型,1 - 添加订阅所给读卡设备ID的读卡事件消息
deviceID array 添加订阅的读卡设备ID列表,若为空则订阅所有读卡设备的读卡事件消息
 deviceID[0] string 添加订阅的读卡设备ID列表项

请求示例

{
  "requestID": "8cff2230026b4434a0bdb06b190931c8",
 "requestType": 1,
 "deviceID": [
  "0a3e46ca01ea43bd941ddcbec693e1c6",
  "c2423f11d47245038e7fa3527b3b3c02"
 ]
}

返回参数说明

参数名 类型 说明
responseID string 响应UUID,与订阅请求UUID一致
code string 返回码
msg string 返回描述

返回码

返回码 错误提示 描述 消除提示
0 SUCCESS 操作成功

返回示例

{
 "responseID": "8cff2230026b4434a0bdb06b190931c8",
 "code": "0",
 "msg": "SUCCESS"
}

简要描述:

  • 根据读卡设备ID取消订阅读卡事件消息

请求参数:

参数名 必填 类型 说明
requestID string 请求UUID,由请求端自行生成,用于对应服务端返回内容
requestType string 请求类型,0 - 取消订阅所给读卡设备ID的读卡事件消息
deviceID array 取消订阅的读卡设备ID列表,若为空则取消订阅所有读卡设备的读卡事件消息
 deviceID[0] string 取消订阅的读卡设备ID列表项

请求示例

{
 "responseID": "5ef6e6253a374d53ad2bdabb8742a774",
 "requestType": 0,
 "deviceID": [
  "0a3e46ca01ea43bd941ddcbec693e1c6",
  "c2423f11d47245038e7fa3527b3b3c02"
 ]
}

返回参数说明

参数名 类型 说明
responseID string 响应UUID,与取消订阅请求UUID一致
code string 返回码
msg string 返回描述

返回示例

{
 "responseID": "5ef6e6253a374d53ad2bdabb8742a774",
 "code": "0",
 "msg": "SUCCESS"
}

简要描述:

  • 查询当前订阅了读卡事件消息的读卡设备ID列表

请求参数:

参数名 必填 类型 说明
requestID string 请求UUID,由请求端自行生成,用于对应服务端返回内容
requestType string 请求类型,2 - 查询订阅了读卡事件消息的读卡设备ID列表
pageSize number 分页内容大小,不填则默认为10,有效范围[1, 1000]
pageNo number 结果分页页码,不填则默认为1

请求示例

{
 "responseID": "cd2b5341275eb0da723a7f48a7c89981",
 "requestType": 2,
 "pageSize": 20,
 "pageNo": 1
}

返回参数说明

参数名 类型 说明
responseID string 响应UUID,与取消订阅请求UUID一致
code string 返回码
msg string 返回描述
data object 结果内容结构体
 total number 查询到订阅了读卡事件消息的读卡设备ID总数
 pageSize number 分页大小
 pageNum number 当前页码
 deviceID array 订阅了读卡事件消息的读卡设备ID列表
  deviceID[0] string 订阅了读卡事件消息的读卡设备ID列表项

返回示例

{
    "responseID": "cd2b5341275eb0da723a7f48a7c89981",
    "code": "0",
    "msg": "SUCCESS",
    "data": {
        "total": 2,
        "pageSize": 20,
        "pageNum": 1,
        "deviceID": [
            "0a3e46ca01ea43bd941ddcbec693e1c6",
            "c2423f11d47245038e7fa3527b3b3c02"
        ]
    }
}

订阅读卡事件消息类型

类型名称 类型枚举值 说明
cardFirstRead 0 卡片TID在读卡设备感应范围内(相对上一次被读取超出读卡事件超时时间)首次被读取到,新的读卡事件被创建,该读卡事件isOngoing初始化为true
cardReadTimeout 1 原来能识别到的卡片TID在读卡设备感应范围内超出读卡事件超时时间都未再次读取到,判定该读卡事件isOngoing转为false,不再更新最后一次读取时间
cardRead 2 仅当读卡设备设定readEventTimeout为0时出现,即每次读卡都作为单独事件记录

推送的读卡事件消息参数说明

参数名 类型 说明
readEventType number 读卡事件消息类型,<br />0 - cardFirstRead<br />1 - cardReadTimeout<br />2 - cardRead
readEventID string 读卡事件ID
cardTID string 卡片TID
deviceID string 读卡设备ID
firstReadTime number 第一次读取时间
lastReadTime number 最后一次读取时间
eventDuration number 事件时长
readEventTimeout number 读卡事件超时时间
isOngoing bool 是否进行中

推送的读卡事件消息示例

{
    &quot;readEventType&quot;: 0,
    &quot;readEventID&quot;: &quot;6a30a889e0334d0690e50d6ce2c75820&quot;,
    &quot;cardTID&quot;: &quot;E20034120614141100734886&quot;,
    &quot;deviceID&quot;: &quot;0a3e46ca01ea43bd941ddcbec693e1c6&quot;,
    &quot;firstReadTime&quot;: 1674111043000,
    &quot;lastReadTime&quot;: 1674111043000,
    &quot;eventDuration&quot;: 0,
    &quot;readEventTimeout&quot;: 300000,
    &quot;isOngoing&quot;: true
}

{
    &quot;readEventType&quot;: 1,
    &quot;readEventID&quot;: &quot;6a30a889e0334d0690e50d6ce2c75820&quot;,
    &quot;cardTID&quot;: &quot;E20034120614141100734886&quot;,
    &quot;deviceID&quot;: &quot;0a3e46ca01ea43bd941ddcbec693e1c6&quot;,
    &quot;firstReadTime&quot;: 1674111043000,
    &quot;lastReadTime&quot;: 1674111365000,
    &quot;eventDuration&quot;: 322000,
    &quot;readEventTimeout&quot;: 300000,
    &quot;isOngoing&quot;: false
}

{
    &quot;readEventType&quot;: 2,
    &quot;readEventID&quot;: &quot;24d7d9fbfe5a445398f689baef9d2eab&quot;,
    &quot;cardTID&quot;: &quot;E20034120614141100734886&quot;,
    &quot;deviceID&quot;: &quot;c2423f11d47245038e7fa3527b3b3c02&quot;,
    &quot;firstReadTime&quot;: 1674111933000,
    &quot;lastReadTime&quot;: 1674111933000,
    &quot;eventDuration&quot;: 0,
    &quot;readEventTimeout&quot;: 0,
    &quot;isOngoing&quot;: false
}

心跳机制

本WebSocket接口支持双向心跳,无论是服务端还是客户端都可以发起 ping message,对方返回 pong message,返回的数据里面 pong 的值为收到的 ping 的值。服务端默认会以每分钟一次的频率对客户端发起 ping message,如果一分钟内无应答则判定客户端掉线,服务端主动释放连接

心跳请求示例

{&quot;ping&quot;: 1674119546000}

心跳返回示例

{&quot;pong&quot;: 1674119546000}

页面列表

ITEM_HTML