Μηνύματα σφαλμάτων API

Τελευταία ενημέρωση: 8 Αυγούστου 2025

Εισαγωγή

Οι περισσότερες αιτήσεις API ολοκληρώνονται με επιτυχία, αλλά μερικές φορές κάτι πάει στραβά και επιστρέφεται ένα μήνυμα σφάλματος αντί για την αναμενόμενη απάντηση.

Το API μας παρέχει μια ποικιλία περιγραφικών μηνυμάτων σφάλματος που αποσκοπούν στην παροχή του λόγου του σφάλματος και στην παροχή προτάσεων για την κατάλληλη λύση.

Τα μηνύματα σφάλματος API μπορούν να χωριστούν σε διάφορες ομάδες (ανάλογα με τον τύπο του σφάλματος, την υποκείμενη αιτία και τη βέλτιστη λύση), αλλά η μορφή των μηνυμάτων σφάλματος API είναι συνεπής και έχει ως εξής:

"Επίπεδο Σοβαρότητας""Κατηγορία Σφάλματος":"Μήνυμα Σφάλματος"

Το "Επίπεδο Σοβαρότητας" μπορεί να είναι είτε E για σφάλμα είτε W για προειδοποίηση. Η "Κατηγορία Σφάλματος" μπορεί να είναι μία από τις General, API, Query, Order, Trade, Funding ή Service. Το "Μήνυμα Σφάλματος" μπορεί να είναι οποιαδήποτε συμβολοσειρά κειμένου που περιγράφει τον λόγο του σφάλματος (όπως Invalid arguments).

Για παράδειγμα, ένα σφάλμα που υποδεικνύει ότι χρησιμοποιήθηκε ένα μη έγκυρο ζεύγος νομισμάτων σε ένα ερώτημα ticker θα ήταν ως εξής:

EQuery:Unknown asset pair

Σημειώστε ότι ορισμένα λογισμικά τρίτων (εφαρμογές για κινητά, trading bots κ.λπ.) επιλέγουν να αποκρύψουν το αρχικό σφάλμα API και να παρουσιάσουν ένα προσαρμοσμένο σφάλμα, επομένως είναι δυνατή μια εναλλακτική μορφή ή περιεχόμενο σφάλματος ανάλογα με το λογισμικό που χρησιμοποιείται.

  • Σφάλματα γενικής χρήσης

  • Σφάλματα ορίου ρυθμού

  • Σφάλματα συναλλαγών (τοποθέτηση/ακύρωση εντολών)

  • Σφάλματα χρηματοδότησης (κατάθεση/ανάληψη)

  • Σφάλματα κατάστασης υπηρεσίας

  • Εσωτερικά σφάλματα

  • Σφάλματα Cloudflare (δικτύωσης)

Σφάλματα γενικής χρήσης

Τα σφάλματα άρνησης άδειας επιστρέφονται όταν ο API client επιχειρεί μια εργασία για την οποία το API key δεν έχει άδεια. Για παράδειγμα, εάν ένας API client επιχειρούσε να ανακτήσει το υπόλοιπο λογαριασμού χρησιμοποιώντας ένα API key που είχε ρυθμιστεί να επιτρέπει πρόσβαση σε συναλλαγές αλλά όχι πρόσβαση σε διαχείριση λογαριασμού, τότε θα επιστρεφόταν το σφάλμα άρνησης άδειας. Μπορείτε να ελέγξετε τα API keys σας και τις ρυθμίσεις τους (όπως τις άδειές τους) μέσω της καρτέλας Ρυθμίσεις -> API της διαχείρισης λογαριασμού. Θα πρέπει να βεβαιωθείτε ότι τα API keys που χρησιμοποιούνται από τις εφαρμογές τρίτων σας έχουν όλες τις ρυθμίσεις και τις άδειες που απαιτούν οι εφαρμογές σας.

Αυτό το σφάλμα επιστρέφεται όταν το API key που χρησιμοποιείται για την κλήση έχει λήξει ή έχει απενεργοποιηθεί. Παρακαλούμε ελέγξτε το API key στην καρτέλα Ρυθμίσεις -> API της διαχείρισης λογαριασμού ή δημιουργήστε ένα νέο και ενημερώστε την εφαρμογή σας.

Μπορείτε να ανακτήσετε την πλήρη λίστα των ζευγών περιουσιακών στοιχείων μας από τη δημόσια κλήση AssetPairs και να αναζητήσετε το όνομα του ζεύγους ως καταχώριση των κεφαλίδων Json ή με την παράμετρο "altname": https://api.kraken.com/0/public/AssetPairs

Αυτό το σφάλμα επιστρέφεται όταν καλείται μια μέθοδος χωρίς τις απαιτούμενες παραμέτρους. Για παράδειγμα, η κλήση της μεθόδου QueryOrders χωρίς τον καθορισμό μιας έγκυρης παραμέτρου αναγνωριστικού συναλλαγής (txid) θα προκαλούσε την επιστροφή του σφάλματος μη έγκυρων ορισμάτων. Η κλήση μιας μεθόδου με περιττές παραμέτρους δεν θα επέστρεφε το σφάλμα μη έγκυρων ορισμάτων, επειδή οι περιττές παράμετροι απλώς θα αγνοούνταν.

Τα σφάλματα μη έγκυρης υπογραφής εμφανίζονται εάν το API key ή το API secret σας είναι γραμμένα λανθασμένα στο πρόγραμμά σας ή επειδή τα δεδομένα POST που χρησιμοποιούνται στην πιστοποίηση και τα δεδομένα POST που αποστέλλονται στο API δεν ταιριάζουν. Για πρόσθετη αναφορά, ακολουθεί παράδειγμα κώδικα Python για την υλοποίηση του αλγορίθμου υπογραφής API. Το κατάλληλο δημόσιο κλειδί API θα πρέπει να αντιγραφεί και να επικολληθεί από τη διαχείριση λογαριασμού, και η μέθοδος API και τα δεδομένα POST θα πρέπει να ενημερωθούν κατάλληλα. Η τιμή εξόδου μπορεί να χρησιμοποιηθεί απευθείας ως τιμή για την κεφαλίδα HTTP API-Sign. #!/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)The SHA256 is calculated using the nonce value itself and the POST data for the API method and the POST DATA is comprised of the name/value pairs for the nonce (again) and the API method parameters. An example of the data that should be passed to the SHA256 for the TradeBalance method would be as follows:SHA256 = SHA256 of "1541933977000nonce=1541933977000&asset=xxbt"The string value that is passed to the SHA256 should not contain any additional null (\0) values and the string value should not be encoded as base64 or hex (i.e. the string value should be a plain text string).The URI path is the entire URL of the API method except for the "https://api.kraken.com" prefix, so the URI path of the TradeBalance method (for example) would be the string value "/0/private/TradeBalance" without any additional null values.The HMAC SHA512 is calculated using the URI path and the previously calculated SHA256 digest, with the base64 decoded API private key as the HMAC key. An example of the data that should be passed to the HMAC would be as follows:HMAC SHA512 using base64 decoded private key = HMAC of "/0/private/TradeBalanceSHA256"The API-Key and API-Sign HTTP headers are the only two required custom HTTP headers. The API-Key header is an exact duplicate of the API public key from account management. The API-Sign header is the HMAC SHA512 digest encoded using base64.

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με αυτό το σφάλμα εδώ:https://support.kraken.com/hc/en-us/articles/360001148063Και περισσότερα για το Nonce και το Nonce Window εδώ:https://support.kraken.com/hc/en-us/articles/360000906023https://support.kraken.com/hc/en-us/articles/360001148023

Τα σφάλματα μη έγκυρης συνεδρίας επιστρέφονται μέσω του WebSocket API, όταν γίνεται προσπάθεια εγγραφής σε μια πιστοποιημένη (ιδιωτική) ροή χρησιμοποιώντας ένα διακριτικό πιστοποίησης που δεν είναι πλέον έγκυρο (έχει λήξει, για παράδειγμα).

Η λύση είναι απλώς να ζητήσετε ένα νέο διακριτικό πιστοποίησης μέσω του τελικού σημείου REST API GetWebSocketsToken και να χρησιμοποιήσετε το νέο διακριτικό για όλες τις επόμενες αιτήσεις πιστοποιημένης (ιδιωτικής) εγγραφής.

Ένα σφάλμα κακής αίτησης υποδεικνύει ότι υπάρχει κάτι λανθασμένο στην υποκείμενη αίτηση HTTP (όχι στην επακόλουθη αίτηση API), όπως μη αντιστοιχισμένες διευθύνσεις URL μεταξύ REST/WebSocket, ή μη σωστή συμπερίληψη των δεδομένων HTTP POST:

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

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

Αυτό το σφάλμα επιστρέφεται όταν το τελικό σημείο που καλείται δεν είναι έγκυρο τελικό σημείο.

Σφάλματα ορίου ρυθμού

Ενώ η προσθήκη και η ακύρωση εντολών δεν προσμετρώνται στα τυπικά όρια μετρητή API, αυτές οι λειτουργίες έχουν τον δικό τους μετρητή προσθήκης και ακύρωσης εντολών. Αυτός ο μετρητής λειτουργεί με τρόπο όπου όσο περισσότερο παραμένουν οι εντολές στο βιβλίο εντολών, τόσο περισσότερες εντολές μπορούν να προσθέσουν ή να ακυρώσουν οι πελάτες.

Τα μηνύματα σφάλματος προσωρινής κλειδώματος μπορούν να εμφανιστούν εάν είχατε πάρα πολλές αποτυχημένες κλήσεις API ή πάρα πολλά σφάλματα μη έγκυρου nonce σε σύντομο χρονικό διάστημα ή μη έγκυρες υπογραφές. Ακόμα κι αν αυτές οι κλήσεις επιστρέφουν ένα σφάλμα, αυτό το σφάλμα εξακολουθεί να προσμετράται στα όρια του API σας και μπορεί να οδηγήσει σε προσωρινό κλείδωμα.

Οι προσωρινές κλειδώσεις διαρκούν περίπου 15 λεπτά. Αφού λάβετε το σφάλμα προσωρινής κλειδώματος, περιμένετε 15 λεπτά πριν στείλετε οποιαδήποτε νέα αιτήματα API. Εάν προκαλείτε πολλά σφάλματα μη έγκυρου nonce, αυξήστε το παράθυρο nonce, καθώς αυτό μπορεί να βοηθήσει στη μείωση της συχνότητας εμφάνισης αυτών των σφαλμάτων. Προσπαθήστε επίσης να μειώσετε τη συχνότητα των ιδιωτικών κλήσεων API σας.

Σφάλματα συναλλαγών

Το άνοιγμα νέων spot θέσεων με μόχλευση έχει ανασταλεί προσωρινά λόγω συντήρησης της μηχανής συναλλαγών. Η λειτουργία θα επανέλθει σύντομα και μπορείτε να παρακολουθείτε τις ενημερώσεις στο status.kraken.com.

Ένας άλλος λόγος μπορεί να είναι ότι οι spot θέσεις με μόχλευση δεν είναι προς το παρόν διαθέσιμες για πελάτες που διαμένουν σε ορισμένες χώρες.

Στο Kraken δεν μπορείτε να ανοίξετε μια long και short θέση για το ίδιο ζεύγος.

Εάν επιθυμείτε να ανοίξετε μια long και short θέση για το ίδιο νόμισμα, επιλέξτε διαφορετικά ζεύγη συναλλαγών με το ίδιο νόμισμα ως νόμισμα βάσης ή νόμισμα αναφοράς. Π.χ.: short XBT/USD, long XBT/EUR.

Αυτό το σφάλμα εμφανίζεται όταν έχετε υπερβεί τα όρια επιτρεπόμενης μόχλευσης για το τρέχον επίπεδο επαλήθευσής σας. Τα όρια επιτρεπόμενης μόχλευσης για κάθε νόμισμα διαφέρουν ανάλογα με το τρέχον επίπεδο επαλήθευσής σας.

Έχουμε περιορισμένα διαθέσιμα κεφάλαια για επεκτάσεις μόχλευσης. Το μήνυμα "ανεπαρκής μόχλευση" υποδεικνύει ότι δεν έχουμε διαθέσιμα κεφάλαια στην ισχύουσα δεξαμενή μόχλευσης προς το παρόν. Αυτό μπορεί να αλλάξει ανά πάσα στιγμή. Ενδέχεται να μπορέσετε να τοποθετήσετε επιτυχώς την παραγγελία σας λίγα δευτερόλεπτα ή λεπτά αργότερα, αλλά οι παραγγελίες μεγάλου όγκου και οι παραγγελίες που τοποθετούνται σε περιόδους υψηλού όγκου ενδέχεται να χρειαστούν περισσότερο χρόνο. Παρακαλούμε δεχτείτε τις απολογίες μας για τυχόν αναστάτωση.

Αυτό το σφάλμα εμφανίζεται όταν υπάρχει ανεπαρκές Free Margin για το άνοιγμα νέας θέσης στον λογαριασμό ή εάν η τρέχουσα προσπάθεια ανοίγματος θέσης θα είχε ως αποτέλεσμα το Free Margin του λογαριασμού να πέσει κάτω από το 100%.

Δεν έχετε τα διαθέσιμα κεφάλαια για να τοποθετήσετε αυτήν την παραγγελία. Ελέγξτε τις ανοιχτές θέσεις και παραγγελίες σας για στοιχεία που ενδέχεται να δεσμεύουν τα κεφάλαιά σας.

Δεν έχετε συμπληρώσει τον ελάχιστο όγκο παραγγελίας για αυτό το περιουσιακό στοιχείο.

Έχετε υπερβεί τον μέγιστο αριθμό ανοιχτών παραγγελιών που είναι διαθέσιμες στον λογαριασμό σας.

Αυτά τα όρια βασίζονται στο επίπεδο επαλήθευσής σας. Κλείστε ορισμένες από τις ανοιχτές παραγγελίες σας ή επαληθεύστε τον λογαριασμό σας σε υψηλότερο επίπεδο.

Έχετε υπερβεί τον μέγιστο αριθμό ανοιχτών θέσεων που είναι διαθέσιμες στον λογαριασμό σας.

Αυτά τα όρια βασίζονται στο επίπεδο επαλήθευσής σας. Κλείστε ή διευθετήστε ορισμένες ή όλες τις ανοιχτές θέσεις σας ή επαληθεύστε τον λογαριασμό σας σε υψηλότερο επίπεδο, εάν είναι δυνατόν.

Έγινε προσπάθεια επεξεργασίας μιας υπάρχουσας (ανοιχτής) παραγγελίας, αλλά οι τροποποιήσεις δεν μπόρεσαν να ολοκληρωθούν επιτυχώς. Πιθανοί λόγοι περιλαμβάνουν ανεπαρκή κεφάλαια για τη νέα παραγγελία, ορισμένα σενάρια μερικής εκτέλεσης και ορισμένες παραγγελίες με μόχλευση.

Ο νέος όγκος είναι μικρότερος από τον ήδη εκτελεσμένο/συμπληρωμένο όγκο.

Το μέγεθος της παραγγελίας υπερέβη το όριο μεγέθους θέσης μόχλευσης του ζεύγους συναλλαγών.

Ο εμφανιζόμενος όγκος δεν έχει συμπληρώσει τον ελάχιστο όγκο παραγγελίας.

Ο εμφανιζόμενος όγκος πρέπει να είναι μικρότερος από τον όγκο της παραγγελίας.

Οι εντολές Iceberg δεν είναι συμβατές με κανέναν άλλο τύπο εντολής εκτός από μια εντολή limit.

Σφάλματα χρηματοδότησης

Κάθε κρυπτονόμισμα έχει μέγιστο 5 νέες (αχρησιμοποίητες) διευθύνσεις κατάθεσης, μετά τις οποίες οποιαδήποτε προσπάθεια δημιουργίας 6ης νέας διεύθυνσης θα επιστρέψει ένα σφάλμα.

Αυτό το σφάλμα επιστρέφεται κάθε φορά που καλούνται τα funding endpoints με μια μη έγκυρη ή ελλιπή παράμετρο "method".

Η παράμετρος εισόδου "key" δεν αντιστοιχεί στην περιγραφή διεύθυνσης που έχει οριστεί στη διαχείριση λογαριασμού (μέσω Funding -> Withdraw).

Τα ελάχιστα ποσά ανάληψης ανά νόμισμα διαφέρουν και οποιαδήποτε απόπειρα ανάληψης κάτω από το ελάχιστο θα οδηγούσε σε αυτό το σφάλμα.

Πρόκειται για ένα γενικό σφάλμα που υποδεικνύει ότι ένα αίτημα χρηματοδότησης δεν μπόρεσε να ολοκληρωθεί (για παράδειγμα, πελάτες από ορισμένες τοποθεσίες που προσπαθούν να κάνουν αιτήματα on chain staking θα προκαλούσαν αυτό το σφάλμα).

Η ζητούμενη ανάληψη δεν μπόρεσε να ολοκληρωθεί, επειδή η διεύθυνση προορισμού δεν διαθέτει τις απαιτούμενες πληροφορίες δικαιούχου/παραλήπτη (σημειώστε ότι αυτό ισχύει επί του παρόντος μόνο για επιλεγμένες αναλήψεις από καναδικούς λογαριασμούς).

Σφάλματα κατάστασης υπηρεσίας

Τα σφάλματα υπηρεσίας που αντιμετωπίζετε θα πρέπει να είναι μόνο προσωρινά. Ίσως θελήσετε να υποβάλετε ξανά τα αιτήματά σας εάν έχουν αποτύχει. Θα παρακολουθούμε τα ζητήματα και θα ενημερώνουμε τη σελίδα μας:

https://status.kraken.com/

Εσωτερικά σφάλματα

Όταν αντιμετωπίζουμε προβλήματα υποβάθμισης API, αυτά μπορούν να μεταφραστούν σε προβλήματα για την Kraken με τη μορφή μηνυμάτων μη διαθέσιμης υπηρεσίας και διακοπών λειτουργίας του ιστότοπου.

Αυτό το ζήτημα σχετίζεται με την ασφάλεια του λογαριασμού σας, ο οποίος ενδέχεται να έχει παραβιαστεί. Παρακαλούμε αλλάξτε τον κωδικό πρόσβασής σας και την Επαλήθευση δύο παραγόντων (Two-Factor Authentication) και επικοινωνήστε με το Κέντρο Υποστήριξης.

Αυτό το σφάλμα εμφανίζεται όταν μια σημαία ή μια παράμετρος εισόδου είναι απενεργοποιημένη προσωρινά ή μόνιμα. Το σφάλμα θα πρέπει να προέρχεται από μία από τις παραμέτρους εισόδου που διαβιβάστηκαν. Παρακαλούμε επικοινωνήστε με την υποστήριξή μας στέλνοντας ένα αρχείο καταγραφής με τις πλήρεις πληροφορίες που χρησιμοποιήθηκαν για την κλήση που δημιούργησε το σφάλμα.

Αυτά τα σφάλματα 5xx και 10xx δεν είναι στην πραγματικότητα σφάλματα API, αλλά σφάλματα διακομιστή ιστού από την Cloudflare.

Τα σφάλματα API επιστρέφονται πάντα σε μορφή JSON, όπως “error”:[“ErrorType:ErrorMessage”], οπότε κάθε φορά που λαμβάνεται ένα σφάλμα σε διαφορετική μορφή (όπως ένας κωδικός κατάστασης HTTP 520, 504, 502, 1020, κ.λπ.), η ενδιάμεση λύση είναι να δοκιμάσετε ξανά την κλήση API λίγο αργότερα και ελπίζουμε ότι η κλήση θα είναι τότε επιτυχής.

Χρειάζεστε περισσότερη βοήθεια;