Cómo suscribirse a los feeds privados de WebSocket de Kraken

Última actualización: 1 abr 2025

Aunque los feeds de datos de mercado de WebSocket están disponibles públicamente, los feeds privados de WebSocket que acceden a una cuenta de Kraken deben protegerse mediante autenticación segura.

Nuestra API REST ya proporciona un mecanismo de autenticación seguro utilizando claves API y algoritmos hash criptográficos, por lo que nuestra autenticación WebSocket aprovecha esto para proporcionar el mismo alto nivel de seguridad.

Para suscribirse a un feed privado de WebSocket, el cliente de la API debe solicitar primero un token de autenticación a través de la API REST y luego proporcionar el mismo token al suscribirse a los feeds privados:

API_Flowchart_10072020.png

Instrucciones paso a paso

Se puede acceder a los feeds privados de WebSocket siguiendo este procedimiento:

1. Genera una clave API a través del menú desplegable de tu Nombre de perfil en la parte superior derecha -> Seguridad -> API de la gestión de la cuenta y asegúrate de habilitar el permiso Acceder a la API de WebSockets:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. Llama al endpoint GetWebSocketsToken de la API REST para recuperar un nuevo token de autenticación de WebSocket, que será similar al siguiente:

WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f

Los tokens de autenticación tienen una validez inicial de 15 minutos (900 segundos), pero una vez que se utiliza un token para suscribirse a un feed privado, el token seguirá siendo válido mientras la suscripción permanezca activa.

Nuestro ejemplo de Python 3 muestra cómo recuperar un token de autenticación de WebSocket del endpoint GetWebSocketsToken de la API REST en solo unas pocas líneas de código.

3. Conéctate a la API de WebSocket a través de la URL del feed privado wss://ws-auth.kraken.com/ y suscríbete al feed openOrders, al feed ownTrades o a ambos.

El token de autenticación de WebSocket debe proporcionarse en el mensaje de suscripción como el valor del campo del token:

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

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

Problemas conocidos

  • EService:Unavailable - Si recibes un error de servicio no disponible

     al suscribirte a un feed privado, deberías intentar la suscripción de nuevo. El error de servicio no disponible es solo temporal, por lo que un intento de suscripción posterior debería ser exitoso.

¿Necesita más ayuda?