Advanced API FAQ

Viimeksi päivitetty: 25. marraskuuta 2025

Käyttämällä REST API funding -päätepisteitä asiakkaat voivat tallettaa/nostaa varoja Kraken-tililleen ja sieltä pois sekä pyytää talletus-/nostotapahtuman reaaliaikaista tilaa.

Talletukset/nostot käyvät läpi useita vaiheita alkuperäisen pyynnön ja tapahtuman valmistumisen välillä, joten funding-päätepisteet palauttavat eri tila-arvon riippuen siitä, milloin niitä kutsutaan.

Huomaa, että tila-arvot ovat alun perin peräisin Internet Financial Exchange Protocol (IFEX) -asiakirjan sivuilta 16/17, mutta arvoja on muutettu hieman paremmin kryptotapahtumiin sopiviksi (kaikkia mahdollisia tila-arvoja ei esimerkiksi käytetä).

Talletukset

Talletustapahtumien mahdolliset tila-arvot ovat seuraavat:

  • Settled = Talletus on vastaanotettu, mutta se vaatii vielä lisävahvistuksia lohkoketjussa.

  • Success = Talletus on saavuttanut vaaditun määrän vahvistuksia lohkoketjussa.

  • Failure = Talletus epäonnistui (yhdestä tai useammasta eri syystä).

Seuraavassa on joitakin esimerkkejä siitä, miten edellä mainitut tila-arvot näkyisivät DepositStatus-päätepisteen vastauksissa:

Settled-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906dde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Settled"}]}

Success-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906tdde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Success"}]}

Nostot

Nostotapahtumien mahdolliset tila-arvot ovat seuraavat:

  • Initial = Nostopyyntö on vastaanotettu ja sen kelpoisuus tarkistetaan (mahdolliset tilin rahoitusrajoitukset jne.).

  • Pending = Nosto odottaa käsittelyä funding-yhdyskäytävässämme.

  • Settled = Nosto on lähetetty lohkoketjuun (tässä vaiheessa lohkoketjutapahtuman tunnus tulee saataville).

  • Success = Nostotapahtumalla on vähintään 1 vahvistus lohkoketjussa.

  • On hold = Nosto on asetettu pitoon, ja funding-tiimimme on tarkistettava se manuaalisesti.

  • Failure = Nosto epäonnistui (yhdestä tai useammasta eri syystä).

Seuraavassa on joitakin esimerkkejä siitä, miten edellä mainitut tila-arvot näkyisivät WithdrawStatus-päätepisteen vastauksissa:

Initial-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Initial"}]}

Pending-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Pending"}]}

Settled-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Settled"}]}

Success-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Success"}]}

Failure-tila:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Failure","status-prop":"canceled"}]}

Lisätietoja talletuksista/nostoista on saatavilla cash funding- ja crypto funding -tukisivuiltamme.

REST API OHLC -päätepiste tarjoaa vain rajoitetun määrän historiallista dataa, tarkalleen 720 datapistettä pyydetyltä aikaväliltä. Esimerkiksi OHLC-datan pyytäminen 1 minuutin välein palauttaa viimeisimmät 720 minuuttia (12 tuntia) dataa.

Sovelluksissa, jotka vaativat lisää OHLC- tai tick-dataa, on mahdollista hakea markkinoidemme koko kaupankäyntihistoria (historiallinen aika ja myynti) REST API Trades -päätepisteen kautta. Minkä tahansa aikajakson ja minkä tahansa aikavälin OHLC voidaan sitten luoda historiallisesta aika- ja myyntidatasta.

Trades-päätepiste ottaa valinnaisen parametrin nimeltä since, joka määrittää datan alkamispäivän/-ajan. since-arvo on UNIX-aikaleima nanosekunnin tarkkuudella (standardi UNIX-aikaleima sekunteina 9 lisänumerolla).

Esimerkiksi kutsu Trades-päätepisteeseen, kuten https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000, palauttaisi XBT/USD:n historiallisen ajan ja myynnin 1. kesäkuuta 2019 klo 00:00:00 UTC alkaen:

{"error":[],"result":{"XXBTZUSD":[["8552.90000","0.03190270",1559347203.7998,"s","m",""],["8552.90000","0.03155529",1559347203.8086,"s","m",""],["8552.90000","0.00510797",1559347203.9664,"s","m",""],["8552.90000","0.09047336",1559347203.9789,"s","m",""],["8552.90000","0.00328738",1559347203.9847,"s","m",""],["8552.90000","0.00492152",1559347203.9897,"s","m",""],["8552.90000","0.00201848",1559347203.9937,"s","m",""],["8552.90000","0.11422068",1559347203.9993,"s","m",""],["8552.90000","0.00425858",1559347204.071,"s","m",""],["8552.90000","0.00427679",1559347204.0762,"s","m",""],["8552.90000","0.06381401",1559347204.1662,"s","m",""]
...
["8579.50000","0.05379597",1559350785.248,"s","l",""],["8579.50000","0.94620403",1559350785.2936,"s","l",""],["8578.10000","0.45529068",1559350785.297,"s","l",""]],"last":"1559350785297011117"}}

Seuraavissa Trades-päätepisteen kutsuissa since-parametrin arvo tulee korvata edellisen kutsun tulosten last-parametrin arvolla, kuten https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117.

Käyttämällä erityistä since-arvoa 0 (nolla) palautetaan historiallinen aika ja myynti markkinoiden alusta alkaen (alkaen aivan ensimmäisestä kaupasta).

Käyttäjäviite (user reference) on asiakkaan antama toimeksiantotunnus, jota voidaan käyttää varsinaisen (API:n antaman) toimeksiantotunnuksen sijasta joissakin toimeksiantojen hallintatehtävissä (erityisesti toimeksiantojen peruuttamisessa).

Käyttäjäviitteet on toteutettu mahdollisimman joustaviksi, ja niitä voidaan siksi käyttää monilla eri tavoilla, mukaan lukien:

  • yksilöllisenä tunnuksena (jossa jokaisella toimeksiannolla on eri käyttäjäviite),

  • liittyvien toimeksiantojen ryhmittelemiseen (kuten eri vipuvaikutustasoilla olevien toimeksiantojen ryhmittely),

  • tai varatunnuksena siinä tapauksessa, että varsinaista toimeksiantotunnusta ei tiedetä.

Käyttäjäviitteen on oltava numeerinen arvo välillä 1 ja 2 147 483 647 (periaatteessa mikä tahansa positiivinen 32-bittinen luku), ja se voitaisiin siksi toteuttaa yksinkertaisena laskurina, satunnaisena etumerkillisenä 32-bittisenä arvona tai jopa aikaleimana sekunteina (tämä kuitenkin epäonnistuisi 19. tammikuuta 2038 klo 3:14:07 UTC jälkeen).

Toimeksiantojen tekeminen käyttäjäviitteellä

Toimeksiantoja voidaan tehdä liitetyllä käyttäjäviitteellä kutsumalla AddOrder-päätepistettä ja sisällyttämällä userref-parametri, jonka arvona on käyttäjäviite:

$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.1 volume=50 userref=27649653

{"error":[],"result":{"descr":{"order":"buy 50.00000000 XDGUSD @ limit 0.1000000"},"txid":["OQJSXE-F5FOM-IXHVL4"]}}

Käyttäjäviitteen sisältävien toimeksiantojen tarkastelu

Toimeksiantoja, joihin on jo liitetty käyttäjäviite, voidaan tarkastella kutsumalla Open/Closed/QueryOrders-päätepisteitä ja sisällyttämällä userref-parametri, jonka arvona on olemassa oleva käyttäjäviite (tässä tapauksessa käyttäjäviite toimii suodattimena, joka näyttää vain siihen liittyvät toimeksiannot):

$ ./krakenapi OpenOrders userref=27649653

{"error":[],"result":{"open":{"OQJSXE-F5FOM-IXHVL4":{"refid":null,"userref":27649653,"status":"open","opentm":1629618802.9812,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"buy","ordertype":"limit","price":"0.1000000","price2":"0","leverage":"none","order":"buy 50.00000000 XDGUSD @ limit 0.1000000","close":""},"vol":"50.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}}

$ ./krakenapi ClosedOrders userref=38695724

{"error":[],"result":{"closed":{"O7YEFN-3V4RK-FBNSNM":{"refid":null,"userref":38695724,"status":"canceled","reason":"User requested","opentm":1629619539.3593,"closetm":1629619542.2246,"starttm":0,"expiretm":0,"descr":{"pair":"XBTUSD","type":"buy","ordertype":"limit","price":"25000.0","price2":"0","leverage":"none","order":"buy 0.00010000 XBTUSD @ limit 25000.0","close":""},"vol":"0.00010000","vol_exec":"0.00000000","cost":"0.00000","fee":"0.00000","price":"0.00000","stopprice":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq"}},"count":1}}

Käyttäjäviitteen sisältävien toimeksiantojen peruuttaminen

Toimeksiannot, joihin on jo liitetty käyttäjäviite, voidaan peruuttaa käyttämällä käyttäjäviitettä kutsumalla CancelOrder-päätepistettä ja käyttämällä käyttäjäviitettä txid-arvona (toimeksiantotunnuksen sijasta):

$ ./krakenapi CancelOrder txid=16764529

{"error":[],"result":{"count":1}}

Huomaa, että kaikki avoimet toimeksiannot, joilla on sama käyttäjäviite, peruutetaan, joten on mahdollista tehdä yksi CancelOrder-kutsu useiden toimeksiantojen peruuttamiseksi samanaikaisesti (kuten seuraavan vastauksen count-arvo 3 osoittaa):

$ ./krakenapi CancelOrder txid=48695624

{"error":[],"result":{"count":3}}

Tämä ongelma saattaa liittyä Cloudflareen:

https://support.cloudflare.com/hc/en-us/articles/200169226-Why-am-I-getting-a-403-error-

HUOMAA: Krakenilla on "Browser Integrity Check" käytössä.

Tämä voi tapahtua, jos pyyntösi sisältää epäilyttäviä otsikoita. Esimerkiksi pyynnöstäsi saattaa puuttua user agent tai se käyttää epästandardia user agentia; tarkista siis pyyntösi otsikot.

Jos et pysty luomaan mitään järjestelmämme sallimia vakiopyyntöjä, lähetä meille täydellinen kopio pyynnöistä, joita yrität tehdä, mukaan lukien IP-osoitteesi ja kaikki otsikot. Nämä tiedot antaisivat meille mahdollisuuden tutkia asiaa tarkemmin.

Futures API

Futures REST- ja WebSocket-rajapintoja (futures.kraken.com) varten tarjoamme täyden testiympäristön käyttämällä API-osoitetta demo-futures.kraken.com.

REST-, WebSocket- ja FIX-testiympäristöt

Tarjoamme tällä hetkellä testiympäristön spot-markkinoiden REST/WebSocket- ja FIX-rajapintoja (API) varten vaatimukset täyttäville asiakkaille. Tähän ympäristöön pääsy edellyttää käyttöönottoprosessia, joka voidaan aloittaa ottamalla suoraan yhteyttä API-tiimiin.

API:n testaaminen käyttämällä Validate-testausparametria

Kun teet toimeksiannon REST-rajapinnan AddOrder- tai WebSocket-rajapinnan addOrder-päätepisteiden (endpoints) kautta, voit käyttää validate-syöteparametria toimeksiannon simuloimiseen.

Kun kutsut AddOrder/addOrder-päätepistettä validate-parametrilla, jonka arvo on true (validate=1, validate=true, validate=anything jne.), toimeksiannon tiedot tarkistetaan virheiden varalta, mutta API-vastaus ei koskaan sisällä toimeksiantotunnusta (order ID), joka palautettaisiin aina onnistuneesta toimeksiannosta ilman validate-parametria.

Esimerkki AddOrder-kutsusta validate-parametrilla (huomaa puuttuva toimeksiantotunnus):

bash

Bash

$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=market volume=5000 validate=true{"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ market"}}}

Pienet todelliset toimeksiannot ja/tai toimeksiannot poikkeuksellisilla hinnoilla

Kattavaa API-testausta varten suosittelemme käyttämään Validate-parametria tai tekemään erittäin pieniä markkinatoimeksiantoja (vähimmäistoimeksiantokoon mukaisia toimeksiantoja) tai rajahintaisia toimeksiantoja (limit orders), joiden hinta on kaukana nykyisestä markkinahinnasta (esimerkiksi rajahintainen myyntitoimeksianto parille ETH/USD hintaan 800 $, kun markkinahinta on 200 $).

Testaaminen live-toimeksiannoilla antaa API-koodisi olla vuorovaikutuksessa rajapintamme kanssa todellisissa olosuhteissa, jolloin testin jokainen osa-alue on tarkka (kuten se, miten toimeksiantosi vaikuttavat tarjouskirjaan jne.).

Turvallisuussyistä olemme hiljattain lopettaneet tuen TLS 1.0- ja 1.1-versioille. Jos kohtaat SSL/TLS-yhteysvirheilmoituksia yrittäessäsi muodostaa yhteyttä rajapintaamme, se johtuu todennäköisesti jonkin näistä vanhentuneista standardeista käytöstä. Sinun on muokattava API-asiakasohjelmaasi pakottamaan TLS 1.2/1.3 -version käyttö tai päivitettävä .NET-versiosi versioon 4.6 tai uudempaan, joka käyttää TLS 1.2/1.3 -versiota vakiona.

Seuraavaa Google Sheets -taulukkoa voidaan käyttää REST API -todennusallekirjoituksen laskemiseen mille tahansa syötetietojen yhdistelmälle:

  • API:n yksityinen (salainen) avain

  • API-päätepiste (Balance, TradeBalance, QueryOrders jne.)

  • Nonce-arvo (katso lisätietoja tukisivultamme mikä on nonce)

  • Päätepisteen syöteparametrit (esimerkiksi asset=doge)

Laskimen avulla voidaan varmistaa, että todennusalgoritmi on toteutettu oikein, jolloin vältetään mahdolliset ongelmat (erityisesti odottamattomat invalid key -virheet) myöhemmin kehityssyklin aikana.

Käyttöohjeet

  1. 1

    Avaa REST API -todennuslaskin Chromessa (tai missä tahansa muussa uudehkossa verkkoselaimessa)

  2. 2

    Luo laskurista kopio omaan Google Driveesi Tiedosto -> Luo kopio -valikon kautta (tämä vaihe edellyttää kirjautumista Google-tilillesi)

  3. 3

    Muokkaa kenttiä API key, API endpoint, nonce value ja input data omalla API-avaimellasi ja pyynnön tiedoilla

  4. 4

    Vertaa laskettua API-todennusallekirjoitusta oman API-koodisi laskemaan arvoon (näiden kahden arvon on vastattava toisiaan täsmälleen)

Turvallisuussyistä suosittelemme todennuslaskimen käyttöä tilapäisellä API-avaimella ja API-avaimen poistamista tililtäsi, kun todennusallekirjoituksen toteutus on todettu oikeaksi.

Esimerkki

Screenshot_2021-06-21_at_14.42.35.png

Ensisijainen hyöty asiakaskirjastojen (client library wrappers) käytöstä on se, ettei sinun tarvitse käyttää aikaa tai vaivaa "pyörän keksimiseen uudelleen" API-allekirjoitusten luomiseksi; se on jo tehty puolestasi.

Jos aiot tehdä kutsuja vain julkisiin metodeihin, voit jättää asiakaskirjastot käyttämättä, sillä todennusta ei tarvita.

Luettelon saatavilla olevista kääreistä (wrappers) löydät täältä.

Tarvitsetko lisää apua?