1.簡介#
REST API 有嚴格的存取頻率控制,所以我們強烈建議 API 用戶利用 Websocket 來取得即時資料。建議的方式是直接建立 Websocket 連線,然後訂閱多個頻道。
2.申請連線Token#
公有接口請跳過此步驟,訂閱時無需Token,直接訂閱即可
此 Token 有效期限僅為 24 小時,該連線預計將於 24 小時後中斷。
3.建立連線#
{
"id": "hQvf8jkno",
"type": "welcome"
}
connectId: 連線 ID 是從用戶端取得的唯一值。歡迎訊息 ID 和錯誤訊息 ID 都是 connectId。如果您只想接收指定主題的私人訊息,請在訂閱時設定 privateChannel 為 true。4.Ping#
{
"id": "1545910590801",
"type": "ping"
}
為了防止 TCP 連線與伺服器斷線,用戶端需要每隔 pingInterval 時間向伺服器傳送 ping 訊息,以保持連線的活力。ping 訊息傳送至伺服器後,系統會回傳一個 pong 訊息給用戶端。如果伺服器長時間沒有從用戶端收到任何訊息,連線就會中斷。{
"id": "1545910590801",
"type": "pong",
"ts": 1764577015970496582
}
5.訂閱#
若要訂閱特定伺服器的頻道訊息,用戶端應該傳送訂閱的訊息給伺服器。ID :ID 是標記要求的唯一字串,與 ack 的 ID 屬性相同。
tradeType: SPOT 或者 FUTURES
{
"id": "1545910660739",
"action": "subscribe",
"channel": "ticker",
"symbol": "BTC-USDT",
"tradeType": "SPOT"
}
{
"id": "1545910660739",
"action": "subscribe",
"channel": "trade",
"symbol": "ETHUSDTM",
"tradeType": "FUTURES"
}
如果訂閱成功,系統會傳送 ack 訊息給您,這時回應會設定為 true。{
"id": "1545910660739",
"result": "true"
}
每當主題訊息產生時,系統會將相對應的訊息傳送至客戶端。關於訊息格式的詳細資訊,請查看主題的定義。6.取消訂閱#
ID :ID 是標記要求的唯一字串,與 ack 的 ID 屬性相同。
tradeType: SPOT 或者 FUTURES
{
"id": "1545910840805",
"action": "unsubscribe",
"channel": "ticker",
"symbol": "BTC-USDT",
"tradeType": "SPOT"
}
{
"id": "1545910840805",
"action": "unsubscribe",
"channel": "trade",
"symbol": "ETHUSDTM",
"tradeType": "FUTURES"
}
如果取消訂閱成功,系統會傳送 ack 訊息給您,這時回應會設定為 true。{
"id": "1545910840805",
"result": "true"
}