如何訂閱 Kraken WebSocket 私人數據源

上次更新時間: 2025年4月1日

雖然 WebSocket 市場數據源可公開取得,但存取 Kraken 帳戶的 WebSocket 私人數據源必須透過安全認證保護。

我們的 REST API 已提供使用 API 金鑰和加密雜湊演算法的安全認證機制,因此我們的 WebSocket 認證利用此機制提供相同的高安全性等級。

為了訂閱 WebSocket 私人數據源,API 用戶端必須先透過 REST API 請求認證代幣,然後在訂閱私人數據源時提供相同的代幣:

API_Flowchart_10072020.png

逐步說明

可使用以下程序存取 WebSocket 私人數據源:

1. 透過 帳戶管理頁面中右上角的個人檔案名稱下拉式選單 -> 安全性 -> API產生 API 金鑰,並確保啟用 Access WebSockets API 權限:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. 呼叫 REST API GetWebSocketsToken 端點以擷取新的 WebSocket 認證代幣,其外觀類似以下內容:

WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f

認證代幣的初始有效期為 15 分鐘(900 秒),但一旦代幣用於訂閱私人數據源,只要訂閱保持有效,該代幣就會保持有效。

我們的 Python 3 範例展示了如何僅用幾行程式碼從 REST API GetWebSocketsToken 端點擷取 WebSocket 認證代幣。

3. 透過私人數據源 URL wss://ws-auth.kraken.com/ 連接到 WebSocket API,並訂閱 openOrders 數據源、ownTrades 數據源或兩者。

WebSocket 認證代幣必須在訂閱訊息中作為 token 欄位的值提供:

  • {"event":"subscribe", "subscription":{"name":"openOrders", "token":"WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f"}}

  • {"event":"subscribe", "subscription":{"name":"ownTrades", "token":"WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f"}}

已知問題

  • EService:Unavailable - 如果您收到服務不可用

    錯誤,當訂閱私人數據源時,您應該再次嘗試訂閱。服務不可用錯誤只是暫時的,因此後續的訂閱嘗試應該會成功。

需要更多幫助?