Como assinar os feeds privados do WebSocket da Kraken

Última atualização: 1 de abr. de 2025

Embora os feeds de dados de mercado do WebSocket estejam disponíveis publicamente, os feeds privados do WebSocket que acessam uma conta Kraken devem ser protegidos por meio de autenticação segura.

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

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

API_Flowchart_10072020.png

Instruções passo a passo

Os feeds privados do WebSocket podem ser acessados usando o seguinte procedimento:

1. Gere uma chave de API por meio do menu suspenso Nome do perfil no canto superior direito -> Segurança -> API da página de gerenciamento de conta e certifique-se de habilitar a permissão Acessar API de WebSockets:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. Chame o endpoint GetWebSocketsToken da API REST para recuperar 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 assinar um feed privado, o token permanecerá válido enquanto a assinatura permanecer ativa.

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

3. Conecte-se à API WebSocket via URL de feed privado wss://ws-auth.kraken.com/ e assine o feed openOrders, o feed ownTrades ou ambos os feeds.

O token de autenticação WebSocket deve ser fornecido na mensagem de assinatura 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 você receber um erro de serviço indisponível

     ao assinar um feed privado, você deve tentar a assinatura novamente. O erro de serviço indisponível é apenas temporário, então uma tentativa de assinatura subsequente deve ser bem-sucedida.

Precisa de mais ajuda?