Como subscrever os feeds privados do WebSocket da Kraken

Última atualização: 1/04/2025

Embora os feeds de dados de mercado do WebSocket estejam publicamente disponíveis, os feeds privados do WebSocket que acedem a uma conta Kraken devem ser protegidos através de autenticação segura.

A nossa API REST já fornece um mecanismo de autenticação seguro usando chaves de API e algoritmos de hash criptográficos, por isso a nossa autenticação WebSocket aproveita isto para fornecer o mesmo alto nível de segurança.

Para subscrever um feed privado do WebSocket, o cliente da API deve primeiro solicitar um token de autenticação através da API REST e, em seguida, fornecer o mesmo token ao subscrever os feeds privados:

API_Flowchart_10072020.png

Instruções passo a passo

Os feeds privados do WebSocket podem ser acedidos utilizando o seguinte procedimento:

1. Gere uma chave de API através do menu pendente Nome do Perfil no canto superior direito -> Segurança -> página API da gestão de conta e certifique-se de ativar a permissão Aceder à API WebSockets:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. Chame o endpoint GetWebSocketsToken da API REST para obter um novo token de autenticação WebSocket, que será semelhante ao seguinte:

WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f

Os tokens de autenticação têm uma validade inicial de 15 minutos (900 segundos), mas uma vez que um token é usado para subscrever um feed privado, o token permanecerá válido enquanto a subscrição permanecer ativa.

O nosso exemplo em Python 3 mostra como obter um token de autenticação WebSocket do endpoint GetWebSocketsToken da API REST em apenas algumas linhas de código.

3. Conecte-se à API WebSocket através do URL do feed privado wss://ws-auth.kraken.com/ e subscreva o feed openOrders, o feed ownTrades ou ambos os feeds.

O token de autenticação WebSocket deve ser fornecido na mensagem de subscrição como o valor do campo do token:

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

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

Problemas conhecidos

  • EService:Unavailable - Se receber um erro de serviço indisponível

    ao subscrever um feed privado, deverá tentar a subscrição novamente. O erro de serviço indisponível é apenas temporário, pelo que uma tentativa de subscrição subsequente deverá ser bem-sucedida.

Precisa de mais ajuda?