Hoe u zich abonneert op de privé WebSocket-feeds van Kraken

Laatst bijgewerkt: 1 apr 2025

Hoewel de WebSocket marktdatafeeds openbaar beschikbaar zijn, moeten de WebSocket privéfeeds die toegang hebben tot een Kraken-account, worden beschermd via veilige authenticatie.

Onze REST API biedt al een veilig authenticatiemechanisme met behulp van API-sleutels en cryptografische hash-algoritmen, vandaar dat onze WebSocket-authenticatie hiervan profiteert om hetzelfde hoge beveiligingsniveau te bieden.

Om u te abonneren op een privé WebSocket-feed, moet de API-client eerst een authenticatietoken aanvragen via de REST API en vervolgens hetzelfde token opgeven bij het abonneren op de privéfeeds:

API_Flowchart_10072020.png

Stapsgewijze instructies

De privé WebSocket-feeds zijn toegankelijk via de volgende procedure:

1. Genereer een API-sleutel via uw vervolgkeuzemenu Profielnaam rechtsboven -> Beveiliging -> API-pagina van accountbeheer en zorg ervoor dat de machtiging Toegang tot WebSockets API is ingeschakeld:

General_SecurityDropdown_04272021.png
API_KeyPermissionsCheckboxes_03122021.png

2. Roep het REST API GetWebSocketsToken-eindpunt aan om een nieuw WebSocket-authenticatietoken op te halen, dat er ongeveer als volgt uitziet:

WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f

Authenticatietokens hebben een initiële geldigheid van 15 minuten (900 seconden), maar zodra een token wordt gebruikt om zich te abonneren op een privéfeed, blijft het token geldig zolang het abonnement actief blijft.

Ons Python 3-voorbeeld laat zien hoe u een WebSocket-authenticatietoken kunt ophalen van het GetWebSocketsToken-eindpunt van de REST API in slechts een paar regels code.

3. Maak verbinding met de WebSocket API via de privéfeed-URL wss://ws-auth.kraken.com/ en abonneer u op de openOrders-feed, de ownTrades-feed of beide feeds.

Het WebSocket-authenticatietoken moet in het abonnementsbericht worden opgegeven als de waarde van het tokenveld:

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

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

Bekende problemen

  • EService:Unavailable - Als u een 'service unavailable'-foutmelding ontvangt

     bij het abonneren op een privéfeed, moet u de abonnementpoging opnieuw uitvoeren. De 'service unavailable'-fout is slechts tijdelijk, dus een volgende abonnementpoging zou succesvol moeten zijn.

Meer hulp nodig?