跳到主要内容

订阅订单簿

API说明

此Websocket API提供指定现货市场交易品种的实时订单簿更新,流式传输实时买卖数据。

注意:订单簿数据可通过RESTful和Websocket接口获取。本页是Websocket接口的描述。如需了解RESTful接口,请参见 跳转

注意事项

  1. Websocket接口提供实时订单簿更新,默认提供20个级别的买单和卖单。
  2. 目前有两种方法可用于订单簿订阅。用户在创建连接时应谨慎操作。

方法1

认证

这是一个公共Websocket,不需要认证。有关使用Websocket API的详细信息,请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法1

Websocket URL

wss://ws.futurescw.info?token={your_token}

频率限制

订阅参数

参数必填类型描述
eventTrueStringsubscribe
argsTrueString"spot/level2_20:symbol"
其中symbol是要订阅的货币。
示例:"spot/level2_20:BTC-USDT"

响应参数

参数类型描述
channelString订阅的频道,即"spot/level2_20:BTC-USDT"
subjectString订阅的主题,即'spot/level2_20'
datajson数据对象
asksArray包含20个卖单级别的数组
String报价货币计的价格
String基础货币计的数量
bidsArray包含20个买单级别的数组
String报价货币计的价格
String基础货币计的数量
timeLong时间戳(毫秒)
seqBig decimal序列号

订阅示例

以下Python代码展示了如何订阅BTC-USDT的订单簿。

注意:完整代码示例请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法1

symbol = "BTC-USDT"
args = f'spot/level2_20:{symbol}'
SpotWebsocketPublic(args) # 函数SpotWebsocketPublic()在章节(简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法1)中定义

注意:完整Java代码示例请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法1。

响应示例

以下是上述Python订阅返回的示例响应。Websocket订阅将实时更新订单簿。为简洁起见,以下仅提供初始响应:

{'channel': 'spot/level2_20:BTC-USDT',
'subject': 'spot/level2_20',
'data': '{
"asks":[
["85276.46","0.3085"],["85276.58","0.5241"],["85276.69","0.0396"],["85276.81","0.0447"],["85276.86","0.3087"],["85276.92","0.0454"],["85276.98","0.6008"],["85277.04","0.0685"],["85277.09","0.0259"],["85277.15","0.0466"],["85277.21","0.0469"],["85277.27","0.0485"],["85277.32","0.0374"],["85277.38","0.0437"],["85277.44","0.0784"],["85277.50","0.0378"],["85277.55","0.0989"],["85277.62","0.0714"],["85277.67","0.0270"],["85277.73","0.0547"]
],
"bids":[
["85276.10","0.6228"],["85275.87","1.3056"],["85275.84","0.7416"],["85275.78","0.0267"],["85275.72","0.7025"],["85275.66","0.0829"],["85275.61","0.0192"],["85275.55","0.0662"],["85275.49","0.0425"],["85275.43","0.0441"],["85275.38","0.0282"],["85275.32","0.0208"],["85275.30","1.2221"],["85275.26","0.0800"],["85275.20","0.0245"],["85275.15","0.0519"],["85275.08","0.0634"],["85275.03","0.0216"],["85274.97","0.0451"],["85274.92","0.0202"]
],
"time":1743151955887,
"seq":639334113}'
}

方法2

认证

这是一个公共Websocket,不需要认证。有关使用Websocket API的详细信息,请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法2

Websocket URL

wss://ws.futurescw.com

频率限制

请求参数

参数必填类型描述
eventtrueString订阅或取消订阅。sub: 订阅; unsub: 取消订阅。注意:此参数区分大小写。
paramstrueJson请求的参数对象,包括:
-biztrueString指定频道,例如,"exchange"。注意:建议使用小写。
-typetrueString定义功能类型,例如,"depth_snapshot"。注意:建议使用小写。
-pairCodetrueString货币对ID,即78 : BTC_USDT。
注意:货币对ID与交易品种的映射关系可通过 获取所有交易品种24小时交易摘要 接口获取。

响应参数

参数类型描述
bizString频道名称,例如,"exchange"。
pairCodeString货币对ID,即78 : BTC_USDT。
注意:货币对ID与交易品种的映射关系可通过 获取所有交易品种24小时交易摘要 接口获取。
channelString订阅类型,例如,"subscribe"。
typeString定义功能类型,例如,"depth_snapshot"。
-resultBoolean订阅请求的结果:true或false。
dataJson数据对象,包含以下字段:
asksArray包含100个卖单级别的数组
String报价货币计的价格
String基础货币计的数量
bidsArray包含100个买单级别的数组
String报价货币计的价格
String基础货币计的数量
timeLong时间戳(毫秒)
seqBig decimal序列号

请求示例

以下Python代码展示了如何订阅"BTC-USDT"的订单簿。

注意:完整代码请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法2

url = "wss://ws.futurescw.com"
subscription_params = {"event":"sub",
"params":
{"biz":"exchange",
"type":"depth_snapshot",
"pairCode":"78"}} # "78"表示BTC-USDT

SpotWebsocketPublic(url, subscription_params) # 函数SpotWebsocketPublic()在章节(简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法2)中定义

注意:完整Java代码请参考简介 > 认证和代码示例 > 现货 > Websocket公共接口 > 方法2

响应示例

以下是上述Python订阅返回的示例响应。Websocket订阅将实时更新订单簿。为简洁起见,以下仅提供初始响应:


{"biz":"exchange","pairCode":"78","data":{"result":true},"channel":"subscribe","type":"depth_snapshot"}

{"biz":"exchange","pairCode":"78","data":
"{\"asks\":
[[\"94702.48\",\"0.7071\"],[\"94702.98\",\"0.3480\"],
[\"94703.01\",\"0.9511\"],[\"94703.09\",\"0.2665\"],
[\"94703.20\",\"0.0152\"],[\"94703.32\",\"0.0422\"],
[\"94703.43\",\"0.0198\"],[\"94703.54\",\"0.0567\"],
[\"94703.65\",\"0.0693\"],[\"94703.77\",\"0.0386\"],
[\"94703.82\",\"0.9674\"],[\"94703.88\",\"0.0336\"],
[\"94703.99\",\"0.0196\"],[\"94704.10\",\"0.0437\"],
[\"94704.21\",\"0.0372\"],[\"94704.33\",\"0.0239\"],
[\"94704.34\",\"0.9195\"],[\"94704.44\",\"0.0343\"],
[\"94704.55\",\"0.0198\"],[\"94704.58\",\"0.7682\"]],
\"bids\":
[[\"94702.32\",\"0.2128\"],[\"94702.24\",\"0.0753\"],
[\"94702.21\",\"0.2408\"],[\"94702.12\",\"0.0540\"],
[\"94702.10\",\"0.0253\"],[\"94702.01\",\"0.0298\"],
[\"94701.98\",\"0.0377\"],[\"94701.90\",\"0.0263\"],
[\"94701.87\",\"0.0341\"],[\"94701.76\",\"0.0695\"],
[\"94701.67\",\"0.0758\"],[\"94701.65\",\"0.0635\"],
[\"94701.53\",\"0.0271\"],[\"94701.45\",\"0.0178\"],
[\"94701.42\",\"0.0166\"],[\"94701.34\",\"0.0261\"],
[\"94701.31\",\"0.0354\"],[\"94701.23\",\"0.0187\"],
[\"94701.20\",\"0.0529\"],[\"94701.09\",\"0.0471\"]],
\"time\":1745826899772,
\"seq\":704538922}",
"type":"depth_snapshot"},.................