All
Suodata mukaan:
Miten talletan käteistä tililleni?
Tarvitsen apua tilin vahvistamisessa
Miksi en voi käyttää tiliäni?
Onko kryptovaluuttojen nostossa maksuja?
Tarvitsen apua kirjautuessani tililleni.
WebSocket API v1 -rajapintamme tukee kaupankäyntiä addOrder- ja cancelOrder-päätepisteiden kautta. addOrder-päätepistettä käytetään uusien toimeksiantojen tekemiseen ja cancelOrder-päätepistettä käytetään olemassa olevien (avoimien) toimeksiantojen peruuttamiseen.
Sekä addOrder että cancelOrder ovat yksityisiä päätepisteitä, mikä tarkoittaa, että niihin pääsee vain todennetun WebSocket-yhteyden kautta.
Alkuperäinen yhteys tulee muodostaa todennettuun WebSocket-URL-osoitteeseen wss://ws-auth.kraken.com/ , joka voidaan sitten pitää auki loputtomiin toimeksiantojen tekemisen ja peruuttamisen ajan. Yksi WebSocket-yhteys on suunniteltu tukemaan useita pyyntöjä, joten yhteyden muodostaminen/katkaiseminen jokaiselle kaupankäyntipäätepisteen kutsulle ei ole välttämätöntä (eikä suositeltavaa).
WebSocket-todennustunnus voidaan hakea REST API GetWebSocketsToken -päätepisteen kautta.
Kun tunnus on haettu, yhteys voidaan muodostaa yksityiseen WebSocket-URL-osoitteeseen wss://ws-auth.kraken.com/ ja addOrder- ja cancelOrder-päätepisteitä voidaan sen jälkeen käyttää loputtomiin (tunnus ei vanhene, kun sitä käytetään toimeksiantojen tekemiseen ja peruuttamiseen).
Huomaa, että tunnuksen hakemiseen käytettävällä API-avaimella on oltava sekä Modify Orders- että Cancel/Close Orders -käyttöoikeudet, muuten WebSocket API palauttaa 'permission denied' -virheen.
Kun todennettu WebSocket-yhteys on muodostettu, toimeksianto voidaan tehdä lähettämällä seuraavanlainen viesti:
{"event":"addOrder", "token":"nT9n23/7oLdq+bNHNMNJ4VvF1hiHhjTnPOaCMiB1GJ0", "pair":"XBT/USD", "type":"buy", "ordertype":"limit", "price":"9857", "volume":"0.002", "leverage":"5", "userref":"8874657"}
Tämän jälkeen vastaanotetaan vastaus, joka ilmoittaa pyynnön tilan (hyväksyttiinkö vai hylättiinkö toimeksianto). Jos toimeksianto hyväksyttiin ja tehtiin onnistuneesti, vastauksen tila on ok ja se on seuraavanlainen:
{"descr":"buy 0.00200000 XBTUSD @ limit 9857.0 with 5:1 leverage","event":"addOrderStatus","status":"ok","txid":"OPOUJF-BWKCL-FG5DQL"}
Jos toimeksianto hylättiin eikä sitä tehty, vastauksen tila on error ja mukana on virheilmoitus, joka kertoo hylkäämisen syyn (virheelliset argumentit, riittämättömät varat jne.), kuten seuraava hylkäys toimeksiannolle, joka ei täyttänyt vähimmäiskokoa:
{"errorMessage":"EOrder:Order minimum not met","event":"addOrderStatus","status":"error"}
Kun todennettu WebSocket-yhteys on muodostettu (tai mieluiten olemassa olevaa yhteyttä käytetään uudelleen), toimeksianto voidaan peruuttaa lähettämällä seuraavanlainen viesti:
{"event":"cancelOrder", "token":"s74Ajl83it0dNNKcF072NJ5wDmLTGIceaCbV96eWbFg", "txid":["OJZ3DI-IU6QC-ME7TVE"]}
Tämän jälkeen vastaanotetaan vastaus, joka ilmoittaa pyynnön tilan (hyväksyttiinkö vai hylättiinkö peruutus). Jos toimeksianto peruutettiin onnistuneesti, vastauksen tila on ok ja se on seuraavanlainen:
{"event":"cancelOrderStatus","status":"ok"}
Jos peruutuspyyntö hylättiin, vastauksen tila on error ja mukana on virheilmoitus, joka kertoo hylkäämisen syyn (virheellinen toimeksiantotunnus jne.), kuten seuraava hylkäys pyynnölle peruuttaa toimeksianto, joka oli jo peruutettu:
{"errorMessage":"EOrder:Unknown order","event":"cancelOrderStatus","status":"error"}
Huomaa, että toisin kuin REST-rajapinnan CancelOrder-päätepisteessä, on mahdollista määrittää useita toimeksiantotunnuksia yhdessä WebSocket-peruutusviestissä. Peruutettavat toimeksiantotunnukset tulee sisällyttää erillisinä merkintöinä txid-taulukkoon seuraavasti:
{"event":"cancelOrder", "token":"c4JjTNHSurKmWDsnrGaCxIuCOa4FurCZK2ppktvT2Yo", "txid":["OLVCRZ-DNKJI-VRTZKY","O67X6E-PBGSR-GU23R5","OECCDC-T2R4V-52CR7T"]}