合约 WebSocket API
合约 WebSocket API 允许您订阅实时的公共市场数据和私有用户数据更新。
合约 API 对公共频道使用 基于 URL 的订阅 (URL-based subscriptions),对私有数据使用单一的 验证流 (Authenticated Stream)。
错误处理与状态码 (Error Handling & Status Codes)
由于订阅基于 URL,错误主要发生在 连接握手 (connection handshake) 阶段:
- HTTP 101 Switching Protocols: 连接成功。
- HTTP 401 Unauthorized: (私有流)
Authorizationheader 无效或缺失。 - HTTP 400 Bad Request: URL 参数无效。
- HTTP 500 Internal Server Error: 连接期间服务器端错误。
如果在握手后连接中断或无效,服务器将直接 关闭连接。
公共频道 (Public Channels)
公共频道通过连接到特定的 WebSocket URL 访问。无需身份验证。
市场深度 (Order Book)
首先推送快照,随后持续推送实时变更。
URL
wss://api.big.one/ws/contract/v2/depth@{symbol}
请求示例
wscat -c wss://api.big.one/ws/contract/v2/depth@BTCUSD
响应示例 (快照)
{
"to": 91277134,
"bestPrices": {
"ask": 11202.5,
"bid": 11192.5
},
"lastPrice": 11183.5,
"bids": {
"11192": 35,
"11184": 742
},
"asks": {
"11202.5": 1806,
"11212.5": 2138
},
"from": 0
}
市场成交 (Market Trades)
订阅实时成交历史。
URL
wss://api.big.one/ws/contract/v2/trades@{symbol}
请求示例
wscat -c wss://api.big.one/ws/contract/v2/trades@BTCUSD
响应示例
[
{
"id": "5aefeab9-6840-0000-0001-0000056fe3c8",
"symbol": "BTCUSD",
"price": 11178.5,
"size": 100,
"matchedAt": 1562288776609,
"side": "BUY"
}
]
K 线 (Candlestick)
订阅 OHLCV 数据。
URL
wss://api.big.one/ws/contract/v2/candlesticks/{period}@{symbol}
支持的周期: 1MIN, 5MIN, 15MIN, 30MIN, 1H, 4H, 6H, 12H, 1D
请求示例
wscat -c wss://api.big.one/ws/contract/v2/candlesticks/1MIN@BTCUSD
响应示例
[
{
"symbol": "BTCUSD",
"type": "1MIN",
"time": 1562301000000,
"open": 11119.5,
"close": 11109.5,
"high": 11123.5,
"low": 11109.5,
"volume": 3427
}
]
合约信息 (Contract Instruments)
获取实时合约详情 (资金费率、未平仓合约等)。
单个交易对 (Single Symbol)
wss://api.big.one/ws/contract/v2/instruments@{symbol}
所有交易对 (All Instruments)
wss://api.big.one/ws/contract/v2/instruments
响应示例
[
{
"symbol": "BTCUSD",
"fundingRate": 0,
"markPrice": 11255.51,
"indexPrice": 11255.51,
"turnover24h": 0.354295837,
"openInterest": 3412,
"last24hMaxPrice": 11290,
"last24hMinPrice": 11290
}
]
私有流 (Private Stream - Authenticated)
私有数据 (资产、持仓、订单、成交) 全部通过单一的 Stream 频道推送。
身份验证
身份验证在 WebSocket 握手期间通过 HTTP Authorization Header 处理。
Header 格式: Authorization: Bearer {YOUR_JWT_TOKEN}
URL
wss://api.big.one/ws/contract/v2/stream
请求示例
wscat -H "Authorization: Bearer YOUR_JWT_TOKEN" -c 'wss://api.big.one/ws/contract/v2/stream'
响应数据结构
流推送包含以下键更新的 JSON 对象:
cash(账户余额)positions(持仓)orders(订单)trades(用户成交)
响应示例
{
"cash": {
"currency": "USDT",
"balances": 0.2,
"available": 0.2,
"margin": 0,
"orderMargin": 0,
"positionMargin": 0
},
"positions": [
{
"symbol": "BTCUSDT",
"leverage": 100,
"marginRate": 0.01,
"unrealizedPnl": 0,
"liquidatePrice": 0
}
],
"orders": [
{
"id": 888888,
"symbol": "BTCUSD",
"side": "BUY",
"type": "LIMIT",
"price": 49500.0,
"size": 1.0,
"filled": 0.5,
"status": "PARTIALLY_FILLED",
"ts": 1625451034000
}
],
"trades": [
{
"id": 999999,
"orderId": 888888,
"symbol": "BTCUSD",
"price": 49500.0,
"size": 0.5,
"fee": 0.05,
"side": "BUY",
"role": "MAKER"
}
]
}