订单簿增量更新
WSProduction
wss://ws.btse.com/ws/oss/spotTestnetwss://testws.btse.io/ws/oss/spot通过 update 主题订阅订单簿增量更新。
主题格式: update:<symbol>_<grouping>(例如 update:BTC-USD_0)
_grouping 后缀代表价格档位的聚合粒度。有效值为 0 到 8。
如果省略后缀(例如 update:BTC-USD),默认使用 _0。
不同的 grouping 值会产生独立的主题订阅和缓存。
首次收到的响应将是当前订单簿的快照(由 type 字段标识),最多包含 50 档。
后续数据包将以 delta 类型发送增量更新。
买单和卖单以 price 和 size 元组发送。发送的 size 为该价位的最新数量。
如果发送的值为 "0",则应从本地订单簿副本中删除该价位。
为确保按序接收更新,seqNum 表示当前序列号,prevSeqNum 表示前一个数据包的序列号。
seqNum 始终比 prevSeqNum 大 1。如果序列号出现断档,请取消订阅并重新订阅。
此外,如果出现交叉订单簿 (最优买价高于或等于最优卖价),请取消订阅并重新订阅。
响应内容
| 名称 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| topic | String | 是 | WebSocket 主题 |
| data | Object | 是 | 数据对象 |
Data 对象:
| 名称 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| bids | String[][] | 是 | 买单报价 |
| asks | String[][] | 是 | 卖单报价 |
| seqNum | Integer | 是 | 当前序列号 |
| prevSeqNum | Integer | 是 | 上一个序列号 |
| type | String | 是 | snapshot — 订单簿快照,最多 50 档;delta — 订单簿增量更新 |
| timestamp | Long | 是 | 订单簿时间戳 |
| symbol | String | 是 | 订单簿交易对 |
example
Request
{
"op": "subscribe",
"args": [
"update:BTC-USD_0"
]
}
Request
{
"op": "unsubscribe",
"args": [
"update:BTC-USD_0"
]
}
Response
{
"topic": "update:BTC-USD_0",
"data": {
"bids": [
[
"59252.5",
"0.06865"
],
[
"59249.0",
"0.24000"
],
[
"59235.5",
"0.16073"
],
[
"59235.0",
"0.26626"
],
[
"59233.0",
"0.50000"
]
],
"asks": [
[
"59292.0",
"0.50000"
],
[
"59285.5",
"0.24000"
],
[
"59285.0",
"0.15598"
],
[
"59282.5",
"0.06829"
],
[
"59278.5",
"0.01472"
]
],
"seqNum": 628282,
"prevSeqNum": 628281,
"type": "snapshot",
"timestamp": 1565135165600,
"symbol": "BTC-USD"
}
}
Response
{
"topic": "update:BTC-USD_0",
"data": {
"bids": [],
"asks": [
[
"59367.5",
"2.15622"
],
[
"59325.5",
"0"
]
],
"seqNum": 628283,
"prevSeqNum": 628282,
"type": "delta",
"timestamp": 1565135165600,
"symbol": "BTC-USD"
}
}