Pro API 目前仍在積極開發中,尚未正式發布。在目前階段(Phase 1),僅支援現貨(Spot)與合約(Futures)。槓桿交易(Margin)與期權(Options)尚未提供。我們計畫在 2026 年逐步新增對這些產品的支援。請勿在任何情況下將此 API 用於生產環境或實盤交易。端點 URL、參數、回應結構以及整體行為皆可能在未事先通知的情況下變更。
1. 介紹#
雖然 REST API 有嚴格的存取頻率控制,我們強烈建議 API 使用者使用 WebSocket 取得即時資料。建議方式是建立一個 WebSocket 連線,並訂閱多個頻道。
2. 申請 Connect Token#
在建立 WebSocket 連線之前,您需要取得 WebSocket Base URL 並申請 Token。Token 僅有效 24 小時,且單一連線預期會在 24 小時後斷線。
若您訂閱的是公開資料(public data),不需要取得 token
3. 建立連線#
公開市場資料推送(public market data),不需要 token
當連線成功建立後,系統會發送一則 welcome 訊息。只有在收到 welcome 訊息後,連線才可用。welcome 訊息中會包含建議的 ping 間隔(毫秒),客戶端應依此間隔向伺服器送出 ping 以維持連線。
{"sessionId":"7245afa1-a57c-4f90-b4bd-90126387214b","message":"welcome","pingInterval":30000}
sessionId:sessionId 是用於識別連線的唯一 ID,可用於 KuCoin 開發團隊的問題排查。
pingInterval:建議客戶端送出 ping 訊息以維持連線的間隔(毫秒)。4. Ping#
{
"id": "1545910590801",
"type": "ping"
}
為避免 TCP 連線被伺服器端斷開,客戶端需要每隔 pingInterval 時間向伺服器送出 ping 訊息以維持連線。當伺服器收到 ping 訊息後,會回傳 pong 訊息給客戶端。若伺服器長時間未收到客戶端任何訊息,將由伺服器端斷開連線。此外,若客戶端在一段時間內(例如 3 秒)未收到伺服器回傳的 pong 訊息,則應視為連線已中斷,建議重新初始化連線。{
"id": "1545910590801",
"type": "pong",
"ts": 1764577015970496582
}
5. 訂閱(Subscribe)#
為接收市場推送或私有推送,客戶端需要向伺服器送出訂閱訊息。id:用於標記請求的唯一字串;伺服器回應 ack 時會使用相同的 id。
symbol:此 channel 對應的交易對名稱。
tradeType:SPOT 或 FUTURES。
{
"id": "1545910660739",
"action": "subscribe",
"channel": "ticker",
"symbol": "BTC-USDT",
"tradeType": "SPOT"
}
{
"id": "1545910660739",
"action": "subscribe",
"channel": "trade",
"symbol": "ETHUSDTM",
"tradeType": "FUTURES"
}
若訂閱成功,且 response 設為 true,系統會回傳 ack 訊息。{
"id": "1545910660739",
"result": "true"
}
當 topic 訊息生成時,系統會將對應訊息推送至客戶端。關於訊息格式,請參考各 topic 的定義說明。6. 取消訂閱(UnSubscribe)#
id:用於標記請求的唯一字串;伺服器回應 ack 時會使用相同的 id。
action:固定為 "unsubscribe"。
symbol:此 channel 對應的交易對名稱。
tradeType:SPOT 或 FUTURES。
{
"id": "1545910840805",
"action": "unsubscribe",
"channel": "ticker",
"symbol": "BTC-USDT",
"tradeType": "SPOT"
}
{
"id": "1545910840805",
"action": "unsubscribe",
"channel": "trade",
"symbol": "ETHUSDTM",
"tradeType": "FUTURES"
}
若取消訂閱成功,且 response 設為 true,系統會回傳 ack 訊息。{
"id": "1545910840805",
"result": "true"
}