根据读卡设备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 | 是否进行中 |
推送的读卡事件消息示例
{
"readEventType": 0,
"readEventID": "6a30a889e0334d0690e50d6ce2c75820",
"cardTID": "E20034120614141100734886",
"deviceID": "0a3e46ca01ea43bd941ddcbec693e1c6",
"firstReadTime": 1674111043000,
"lastReadTime": 1674111043000,
"eventDuration": 0,
"readEventTimeout": 300000,
"isOngoing": true
}
{
"readEventType": 1,
"readEventID": "6a30a889e0334d0690e50d6ce2c75820",
"cardTID": "E20034120614141100734886",
"deviceID": "0a3e46ca01ea43bd941ddcbec693e1c6",
"firstReadTime": 1674111043000,
"lastReadTime": 1674111365000,
"eventDuration": 322000,
"readEventTimeout": 300000,
"isOngoing": false
}
{
"readEventType": 2,
"readEventID": "24d7d9fbfe5a445398f689baef9d2eab",
"cardTID": "E20034120614141100734886",
"deviceID": "c2423f11d47245038e7fa3527b3b3c02",
"firstReadTime": 1674111933000,
"lastReadTime": 1674111933000,
"eventDuration": 0,
"readEventTimeout": 0,
"isOngoing": false
}
心跳机制
本WebSocket接口支持双向心跳,无论是服务端还是客户端都可以发起 ping message,对方返回 pong message,返回的数据里面 pong 的值为收到的 ping 的值。服务端默认会以每分钟一次的频率对客户端发起 ping message,如果一分钟内无应答则判定客户端掉线,服务端主动释放连接。
心跳请求示例
{"ping": 1674119546000}
心跳返回示例
{"pong": 1674119546000}