Як підписатися на приватні канали Kraken WebSocket

Останнє оновлення: 1 квіт. 2025 р.

Хоча канали ринкових даних WebSocket є загальнодоступними, приватні канали WebSocket, які отримують доступ до облікового запису Kraken, повинні бути захищені за допомогою безпечної автентифікації.

Наш REST API вже надає безпечний механізм автентифікації за допомогою ключів API та криптографічних хеш-алгоритмів, тому наша автентифікація WebSocket використовує це для забезпечення такого ж високого рівня безпеки.

Щоб підписатися на приватний канал WebSocket, клієнт API повинен спочатку запросити токен автентифікації через REST API, а потім надати той самий токен під час підписки на приватні канали:

API_Flowchart_10072020.png

Покрокові інструкції

Доступ до приватних каналів WebSocket можна отримати за допомогою наступної процедури:

1. Згенеруйте ключ API через спадне меню Ім'я профілю у верхньому правому куті -> Безпека -> сторінка API керування обліковим записом і переконайтеся, що увімкнено дозвіл Доступ до WebSockets API:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. Викличте кінцеву точку GetWebSocketsToken REST API, щоб отримати новий токен автентифікації WebSocket, який виглядатиме приблизно так:

WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f

Токени автентифікації мають початковий термін дії 15 хвилин (900 секунд), але після використання токена для підписки на приватний канал він залишатиметься дійсним, доки підписка активна.

Наш приклад на Python 3 показує, як отримати токен автентифікації WebSocket з кінцевої точки GetWebSocketsToken REST API всього за кілька рядків коду.

3. Підключіться до WebSocket API через URL-адресу приватного каналу wss://ws-auth.kraken.com/ і підпишіться на канал openOrders, канал ownTrades або обидва канали.

Токен автентифікації WebSocket має бути наданий у повідомленні про підписку як значення поля токена:

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

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

Відомі проблеми

  • EService:Unavailable – Якщо ви отримуєте помилку «служба недоступна»

    під час підписки на приватний канал, спробуйте підписатися ще раз. Помилка «служба недоступна» є тимчасовою, тому наступна спроба підписки має бути успішною.

Потрібна додаткова допомога?