API hibaüzenetek

Utolsó frissítés: 2025. augusztus 8.

Bevezetés

A legtöbb API kérés sikeresen teljesül, de néha hibák lépnek fel, és a várt válasz helyett hibaüzenet jelenik meg.

API-nk számos leíró hibaüzenetet biztosít, amelyek célja a hiba okának megadása és a megfelelő megoldásra vonatkozó javaslatok nyújtása.

Az API hibaüzenetek több különböző csoportra oszthatók (a hiba típusától, az alapvető októl és az optimális megoldástól függően), de az API hibaüzenetek formátuma egységes, és a következő:

"Severity Level""Error Category":"Error Message"

A "Severity Level" (Súlyossági szint) lehet E (hiba) vagy W (figyelmeztetés). Az "Error Category" (Hibakategória) lehet General, API, Query, Order, Trade, Funding vagy Service. Az "Error Message" (Hibaüzenet) bármilyen szöveges karakterlánc lehet, amely leírja a hiba okát (például Invalid arguments).

Például egy hiba, amely azt jelzi, hogy érvénytelen devizapárt használtak egy ticker lekérdezésben, a következőképpen nézne ki:

EQuery:Unknown asset pair

Megjegyzendő, hogy egyes harmadik féltől származó szoftverek (mobilalkalmazások, kereskedési botok stb.) elrejtik az eredeti API hibát, és ehelyett testreszabott hibát jelenítenek meg, ezért a használt szoftvertől függően alternatív hibaformátum vagy tartalom is lehetséges.

  • Általános használati hibák

  • Aránykorlát hibák

  • Kereskedési (megbízások elhelyezése/törlése) hibák

  • Finanszírozási (befizetés/kifizetés) hibák

  • Szolgáltatásállapot hibák

  • Belső hibák

  • Cloudflare (hálózati) hibák

Általános használati hibák

Az engedély megtagadva hibák akkor jelennek meg, ha az API kliens olyan feladatot próbál végrehajtani, amelyhez az API kulcsnak nincs engedélye. Például, ha egy API kliens megpróbálta lekérdezni a számlaegyenleget egy olyan API kulccsal, amelyet kereskedési hozzáférésre, de nem számlakezelési hozzáférésre konfiguráltak, akkor az engedély megtagadva hiba jelenne meg. Az API kulcsait és azok beállításait (például engedélyeit) a fiókkezelés Beállítások -> API lapján tekintheti át. Győződjön meg arról, hogy a harmadik féltől származó alkalmazásai által használt API kulcsok rendelkeznek az alkalmazásai által igényelt összes beállítással és engedéllyel.

Ez a hiba akkor jelenik meg, ha a híváshoz használt API kulcs lejárt vagy le van tiltva. Kérjük, ellenőrizze az API kulcsot a fiókkezelés Beállítások -> API lapján, vagy generáljon újat, és frissítse az alkalmazását.

Az összes eszközpár listáját lekérheti az AssetPairs nyilvános hívásból, és megkeresheti a pár nevét a Json fejlécek bejegyzéseként vagy az "altname" paraméter alapján: https://api.kraken.com/0/public/AssetPairs

Ez a hiba akkor jelenik meg, ha egy metódust a szükséges paraméterek nélkül hívnak meg. Például a QueryOrders metódus meghívása érvényes tranzakcióazonosító (txid) paraméter megadása nélkül érvénytelen argumentumok hibát eredményezne. Egy metódus szükségtelen paraméterekkel történő meghívása továbbra sem eredményezne érvénytelen argumentumok hibát, mivel a szükségtelen paramétereket egyszerűen figyelmen kívül hagynák.

Az érvénytelen aláírási hibák akkor fordulnak elő, ha az API kulcs vagy az API titok helytelenül van megírva a programban, vagy ha az autentikációhoz használt POST adat és az API-nak küldött POST adat nem egyezik.További referenciaként az alábbiakban egy példa Python kód az API aláírási algoritmus implementálására. A megfelelő API nyilvános kulcsot az fiókkezelés Beállítások -> API lapjáról kell kimásolni és beilleszteni, az API metódust és a POST adatokat pedig megfelelően frissíteni kell. A kimeneti érték közvetlenül használható az API-Sign HTTP fejléc értékeként. #!/usr/bin/env python

# Import required Python libraries
import time
import base64
import hashlib
import hmac

# Decode API private key from base64 format displayed in account management
api_secret = base64.b64decode("nmlrD83t1J+yVWKUBx9vD6j26C5zhC11tFfXpN+Ww+8oOVuGgse5AeADcvl95jYaD+UAi3D5CrVfFr8GfQ7zhA==")

# Variables (API method, nonce, and POST data)
api_path = "/0/private/TradeBalance"
api_nonce = str(int(time.time()*1000))
api_post = "nonce=" + api_nonce + "&asset=xxbt"

# Cryptographic hash algorithms
api_sha256 = hashlib.sha256(api_nonce + api_post).digest()
api_hmac = hmac.new(api_secret, api_path + api_sha256, hashlib.sha512)

# Encode signature into base64 format used in API-Sign value
api_signature = base64.b64encode(api_hmac.digest())

# API authentication signature for use in API-Sign HTTP header
print(api_signature)A SHA256 a nonce érték és az API metódus POST adatainak felhasználásával kerül kiszámításra, a POST ADAT pedig a nonce (ismét) és az API metódus paramétereinek név/érték párjaiból áll. Például a TradeBalance metódushoz a SHA256-nak átadandó adatok a következők lennének:SHA256 = SHA256 of "1541933977000nonce=1541933977000&asset=xxbt"A SHA256-nak átadott karakterlánc érték nem tartalmazhat további null (\0) értékeket, és a karakterlánc érték nem kódolható base64 vagy hex formátumban (azaz a karakterlánc értéknek egyszerű szöveges karakterláncnak kell lennie).Az URI útvonal az API metódus teljes URL-je, kivéve a "https://api.kraken.com" előtagot, így a TradeBalance metódus URI útvonala (például) a "/0/private/TradeBalance" karakterlánc érték lenne további null értékek nélkül.Az HMAC SHA512 az URI útvonal és a korábban kiszámított SHA256 kivonat felhasználásával kerül kiszámításra, a base64 dekódolt API privát kulcsot használva HMAC kulcsként. Például az HMAC-nak átadandó adatok a következők lennének:HMAC SHA512 using base64 decoded private key = HMAC of "/0/private/TradeBalanceSHA256"Az API-Key és az API-Sign HTTP fejlécek az egyetlen két szükséges egyéni HTTP fejléc. Az API-Key fejléc az API nyilvános kulcs pontos másolata a fiókkezelésből. Az API-Sign fejléc a base64-gyel kódolt HMAC SHA512 kivonat.

Érvénytelen munkamenet hibák a WebSocket API-n keresztül jelennek meg, amikor egy hitelesített (privát) feedre történő feliratkozási kísérlet olyan autentikációs tokent használ, amely már nem érvényes (például lejárt).

A megoldás egyszerűen egy új autentikációs token kérése a REST API GetWebSocketsToken végpontján keresztül, és az új token használata minden további hitelesített (privát) feliratkozási kéréshez.

A hibás kérés hiba azt jelzi, hogy valami nincs rendben az alapul szolgáló HTTP kéréssel (nem a későbbi API kéréssel), például a REST/WebSocket közötti URL-ek nem egyeznek, vagy a HTTP POST adatok nincsenek megfelelően megadva:

% curl --data "" https://api.kraken.com/0/private/GetWebSocketsToken

{"error":["EAPI:Bad request"]}

Ez a hiba akkor jelenik meg, ha a meghívott végpont nem érvényes végpont.

Aránykorlát hibák

Bár a megbízások hozzáadása és törlése nem számít bele a standard API számláló korlátainkba, ezeknek a műveleteknek saját hozzáadási és törlési megbízás számlálója van. Ez a számláló úgy működik, hogy minél tovább maradnak a megbízások a megbízási könyvben, annál több megbízást tudnak a kliensek hozzáadni vagy törölni.

Ideiglenes zárolási hibaüzenetek akkor fordulhatnak elő, ha túl sok sikertelen API hívása vagy túl sok érvénytelen nonce hibája volt rövid időn belül, vagy érvénytelen aláírások. Annak ellenére, hogy ezek a hívások hibát adnak vissza, ez a hiba továbbra is beleszámít az API korlátaiba, és ideiglenes zárolást eredményezhet.

Az ideiglenes zárolások körülbelül 15 percig tartanak. Az ideiglenes zárolási hiba beérkezése után várjon 15 percet, mielőtt új API kéréseket küldene. Ha több érvénytelen nonce hibát vált ki, kérjük, növelje a nonce ablakot, mivel ez segíthet csökkenteni ezen hibák gyakoriságát. Kérjük, próbálja meg csökkenteni a privát API hívások gyakoriságát is.

Kereskedési hibák

Az új marginnal nyitott spot pozíciók ideiglenesen fel vannak függesztve a kereskedési motor karbantartása miatt. A funkció hamarosan visszatér, és a frissítéseket a status.kraken.com oldalon követheti.

Más okok is lehetnek, például, hogy a marginnal nyitott spot pozíciók jelenleg nem elérhetők bizonyos országokban élő ügyfelek számára.

A Krakenen nem nyithat hosszú és rövid pozíciót ugyanarra a párra.

Ha ugyanarra a devizára szeretne hosszú és rövid pozíciót nyitni, kérjük, válasszon különböző kereskedési párokat, amelyeknek ugyanaz a deviza az alap- vagy jegyzési devizája. Pl.: short XBT/USD, long XBT/EUR.

Ez a hiba akkor fordul elő, ha túllépte a jelenlegi ellenőrzési szintjéhez tartozó margin kereteket. Az egyes devizákra vonatkozó margin keretek a jelenlegi ellenőrzési szintjétől függően változnak.

Korlátozottan állnak rendelkezésre források a margin kiterjesztésekhez. Az „elégtelen margin” üzenet azt jelzi, hogy átmenetileg kifogytunk a vonatkozó margin poolban lévő forrásokból. Ez bármikor megváltozhat. Lehet, hogy másodpercekkel vagy percekkel később sikeresen leadhatja a megbízását, de a nagy volumenű megbízások és a nagy volumenű időszakokban leadott megbízások tovább tarthatnak. Elnézését kérjük az esetleges kellemetlenségekért.

Ez a hiba akkor fordul elő, ha nincs elegendő Free Margin egy új pozíció nyitásához a számlán, vagy ha a pozíció nyitására tett jelenlegi kísérlet azt eredményezné, hogy a számla Free Marginja 100% alá csökkenne.

Nincs elegendő rendelkezésre álló fedezete a megbízás leadásához. Kérjük, ellenőrizze nyitott pozícióit és megbízásait olyan tételek szempontjából, amelyek lekötik a fedezetét.

Nem teljesítette az eszközre vonatkozó minimális megbízási volument.

Túllépte a számlájához elérhető nyitott megbízások maximális számát.

Ezek a korlátok az Ön ellenőrzési szintjén alapulnak. Kérjük, zárjon be néhány nyitott megbízását, vagy ellenőrizze számláját magasabb szintre.

Túllépte a számlájához elérhető nyitott pozíciók maximális számát.

Ezek a korlátok az Ön ellenőrzési szintjén alapulnak. Kérjük, zárja be vagy rendezze néhány vagy az összes nyitott pozícióját, vagy ellenőrizze számláját magasabb szintre, ha lehetséges.

Megkíséreltek egy meglévő (nyitott) megbízást szerkeszteni, de a módosítások nem fejeződtek be sikeresen. Lehetséges okok közé tartozik az új megbízáshoz szükséges elégtelen fedezet, bizonyos részleges teljesítési forgatókönyvek és bizonyos tőkeáttételes megbízások.

Az új volumen kisebb, mint a már végrehajtott/teljesített volumen.

A megbízás mérete túllépte a kereskedési pár margin pozícióméret-limitjét.

A megjelenített volumen nem érte el a minimális megbízási volument.

A megjelenített volumennek kisebbnek kell lennie, mint a megbízás volumene.

Az Iceberg megbízások nem kompatibilisek más megbízástípusokkal, kivéve a limit megbízásokat.

Finanszírozási hibák

Minden kriptovalutához legfeljebb 5 új (fel nem használt) befizetési cím tartozhat, ezt követően a 6. új cím létrehozására tett bármely kísérlet hibát fog eredményezni.

Ez a hiba akkor jelenik meg, ha a finanszírozási végpontokat érvénytelen vagy hiányzó "method" paraméterrel hívják meg.

A "key" bemeneti paraméter nem felel meg a számlakezelésben (a Finanszírozás -> Kivonás menüpontban) beállított címleírásnak.

A minimális kivonási összegek devizánként eltérőek, és a minimális összeg alatti kivonási kísérlet ezt a hibát eredményezné.

Ez egy általános hiba, amely azt jelzi, hogy egy finanszírozási kérelem nem fejezhető be (például bizonyos helyekről érkező ügyfelek, akik on-chain staking kéréseket próbálnak végrehajtani, ezt a hibát okoznák).

A kért kifizetés nem fejezhető be, mert a célcímről hiányzik a szükséges kedvezményezetti/címzetti információ (megjegyzendő, hogy ez jelenleg csak bizonyos kanadai számlákról történő kifizetésekre vonatkozik).

Szolgáltatásállapot-hibák

Az Ön által tapasztalt szolgáltatási hibák csak átmenetiek lehetnek. Érdemes lehet újra elküldenie kéréseit, ha azok sikertelenek voltak. Figyelemmel kísérjük a problémákat, és frissítjük oldalunkat:

https://status.kraken.com/

Belső hibák

Amikor API-romlási problémákkal szembesülünk, ezek a Kraken számára problémákat okozhatnak szolgáltatás nem elérhető üzenetek és webhelykimaradások formájában.

Ez a probléma a fiókja biztonságával kapcsolatos, amely esetleg kompromittálódott. Kérjük, változtassa meg jelszavát és a kétfaktoros hitelesítését, majd vegye fel a kapcsolatot ügyfélszolgálatunkkal.

Ez a hiba akkor fordul elő, ha egy jelző vagy bemeneti paraméter ideiglenesen vagy véglegesen le van tiltva. A hibának az átadott bemenetek egyikéből kell származnia, kérjük, vegye fel a kapcsolatot ügyfélszolgálatunkkal, és küldjön egy naplót a hívás során használt teljes információkkal, amely a hibát generálta.

Ezek az 5xx és 10xx hibák valójában nem API-hibák, hanem a Cloudflare webkiszolgáló hibái.

Az API-hibák mindig JSON formátumban kerülnek visszaadásra, például „error”:[„ErrorType:ErrorMessage”], így bármikor, amikor más formátumú hiba érkezik (például 520, 504, 502, 1020 stb. HTTP állapotkód), az ideiglenes megoldás az, hogy röviddel utána újra megpróbálja az API-hívást, és remélhetőleg a hívás akkor sikeres lesz.

További segítségre van szükséged?