API त्रुटि संदेश

अंतिम अपडेट: 8 अग॰ 2025

परिचय

अधिकांश API अनुरोध सफलतापूर्वक पूरे हो जाते हैं, लेकिन कभी-कभी कुछ गलत हो जाता है और अपेक्षित प्रतिक्रिया के बजाय एक त्रुटि संदेश वापस आ जाता है।

हमारा API विभिन्न प्रकार के वर्णनात्मक त्रुटि संदेश प्रदान करता है जिनका उद्देश्य त्रुटि का कारण बताना और उचित समाधान के लिए सुझाव देना है।

API त्रुटि संदेशों को कई अलग-अलग समूहों में विभाजित किया जा सकता है (त्रुटि के प्रकार, अंतर्निहित कारण और इष्टतम समाधान के आधार पर), लेकिन API त्रुटि संदेशों का प्रारूप सुसंगत है, और इस प्रकार है:

"गंभीरता स्तर""त्रुटि श्रेणी":"त्रुटि संदेश"

"गंभीरता स्तर" त्रुटि के लिए E या चेतावनी के लिए W हो सकता है। "त्रुटि श्रेणी" सामान्य, API, क्वेरी, ऑर्डर, ट्रेड, फंडिंग या सेवा में से एक हो सकती है। "त्रुटि संदेश" कोई भी टेक्स्ट स्ट्रिंग हो सकता है जो त्रुटि का कारण बताता है (जैसे अमान्य तर्क)।

उदाहरण के लिए, यह इंगित करने वाली त्रुटि कि एक टिकर क्वेरी में एक अमान्य मुद्रा जोड़ी का उपयोग किया गया था, इस प्रकार होगी:

EQuery:अज्ञात परिसंपत्ति जोड़ी

ध्यान दें कि कुछ तृतीय-पक्ष सॉफ़्टवेयर (मोबाइल ऐप, ट्रेडिंग बॉट, आदि) मूल API त्रुटि को छिपाना और इसके बजाय एक अनुकूलित त्रुटि प्रस्तुत करना चुनते हैं, इसलिए उपयोग किए जा रहे सॉफ़्टवेयर के आधार पर एक वैकल्पिक त्रुटि प्रारूप या सामग्री संभव है।

  • सामान्य उपयोग त्रुटियाँ

  • दर सीमा त्रुटियाँ

  • ट्रेडिंग (ऑर्डर देना/रद्द करना) त्रुटियाँ

  • फंडिंग (जमा/निकासी) त्रुटियाँ

  • सेवा स्थिति त्रुटियाँ

  • आंतरिक त्रुटियाँ

  • क्लाउडफ्लेयर (नेटवर्किंग) त्रुटियाँ

सामान्य उपयोग त्रुटियाँ

अनुमति अस्वीकृत त्रुटियाँ तब वापस आती हैं जब API क्लाइंट किसी ऐसे कार्य का प्रयास कर रहा होता है जिसके लिए API कुंजी के पास अनुमति नहीं होती है। उदाहरण के लिए, यदि एक API क्लाइंट ने एक API कुंजी का उपयोग करके खाता शेष राशि प्राप्त करने का प्रयास किया जो ट्रेडिंग एक्सेस की अनुमति देने के लिए कॉन्फ़िगर की गई थी, लेकिन खाता प्रबंधन एक्सेस की नहीं, तो अनुमति अस्वीकृत त्रुटि वापस आ जाएगी। आप खाता प्रबंधन के सेटिंग -> API टैब के माध्यम से अपनी API कुंजियों और उनकी सेटिंग्स (जैसे उनकी अनुमतियाँ) की समीक्षा कर सकते हैं। आपको यह सुनिश्चित करने की आवश्यकता होगी कि आपके तृतीय-पक्ष ऐप्स द्वारा उपयोग की जा रही API कुंजियों में वे सभी सेटिंग्स और अनुमतियाँ हों जिनकी आपके ऐप्स को आवश्यकता है।

यह त्रुटि तब वापस आती है जब कॉल के लिए उपयोग की गई API कुंजी या तो समाप्त हो गई हो या अक्षम हो गई हो, कृपया खाता प्रबंधन के सेटिंग -> API टैब में API कुंजी की समीक्षा करें या एक नई कुंजी जनरेट करें और अपने एप्लिकेशन को अपडेट करें।

आप AssetPairs सार्वजनिक कॉल से हमारी परिसंपत्ति जोड़ियों की पूरी सूची प्राप्त कर सकते हैं और Json हेडर की प्रविष्टि के रूप में या पैरामीटर "altname" द्वारा जोड़ी का नाम देख सकते हैं: https://api.kraken.com/0/public/AssetPairs

यह त्रुटि तब वापस आती है जब आवश्यक पैरामीटर के बिना किसी विधि को कॉल किया जाता है। उदाहरण के लिए, एक वैध लेनदेन आईडी (txid) पैरामीटर निर्दिष्ट किए बिना QueryOrders विधि को कॉल करने से अमान्य तर्क त्रुटि वापस आ जाएगी। अनावश्यक पैरामीटर के साथ किसी विधि को कॉल करने पर भी अमान्य तर्क त्रुटि वापस नहीं आएगी क्योंकि अनावश्यक पैरामीटर को बस अनदेखा कर दिया जाएगा।

अमान्य हस्ताक्षर त्रुटियाँ तब होती हैं जब आपकी API कुंजी या API गुप्त आपके प्रोग्राम में गलत तरीके से लिखे गए हों या क्योंकि प्रमाणीकरण में उपयोग किया गया POST डेटा और API को भेजा गया POST डेटा मेल नहीं खाता है।अतिरिक्त संदर्भ के लिए, API हस्ताक्षर एल्गोरिथम को लागू करने के लिए निम्नलिखित उदाहरण पायथन कोड है। उपयुक्त API सार्वजनिक कुंजी को खाता प्रबंधन से कॉपी और पेस्ट किया जाना चाहिए, और API विधि और POST डेटा को उचित रूप से अपडेट किया जाना चाहिए। आउटपुट मान का उपयोग सीधे API-Sign HTTP हेडर के मान के रूप में किया जा सकता है। #!/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)SHA256 की गणना नॉनस मान और API विधि के लिए POST डेटा का उपयोग करके की जाती है और POST डेटा नॉनस (फिर से) और API विधि पैरामीटर के लिए नाम/मान जोड़े से बना होता है। TradeBalance विधि के लिए SHA256 को पास किए जाने वाले डेटा का एक उदाहरण इस प्रकार होगा:SHA256 = SHA256 of "1541933977000nonce=1541933977000&asset=xxbt"SHA256 को पास किए जाने वाले स्ट्रिंग मान में कोई अतिरिक्त नल (\0) मान नहीं होना चाहिए और स्ट्रिंग मान को base64 या हेक्स के रूप में एन्कोड नहीं किया जाना चाहिए (यानी, स्ट्रिंग मान एक सादा टेक्स्ट स्ट्रिंग होना चाहिए)।URI पथ API विधि का पूरा URL है सिवाय "https://api.kraken.com" उपसर्ग के, इसलिए TradeBalance विधि का URI पथ (उदाहरण के लिए) बिना किसी अतिरिक्त नल मान के स्ट्रिंग मान "/0/private/TradeBalance" होगा।HMAC SHA512 की गणना URI पथ और पहले से गणना किए गए SHA256 डाइजेस्ट का उपयोग करके की जाती है, जिसमें base64 डिकोड की गई API निजी कुंजी HMAC कुंजी के रूप में होती है। HMAC को पास किए जाने वाले डेटा का एक उदाहरण इस प्रकार होगा:HMAC SHA512 using base64 decoded private key = HMAC of "/0/private/TradeBalanceSHA256"API-Key और API-Sign HTTP हेडर केवल दो आवश्यक कस्टम HTTP हेडर हैं। API-Key हेडर खाता प्रबंधन से API सार्वजनिक कुंजी की एक सटीक प्रतिलिपि है। API-Sign हेडर base64 का उपयोग करके एन्कोड किया गया HMAC SHA512 डाइजेस्ट है।

आप इस त्रुटि के बारे में अधिक जानकारी यहाँ पा सकते हैं:https://support.kraken.com/hc/en-us/articles/360001148063और नॉनस और नॉनस विंडो के बारे में अधिक जानकारी यहाँ:https://support.kraken.com/hc/en-us/articles/360000906023https://support.kraken.com/hc/en-us/articles/360001148023

अमान्य सत्र त्रुटियाँ वेबसॉकेट API के माध्यम से तब लौटाई जाती हैं, जब एक प्रमाणीकृत (निजी) फ़ीड की सदस्यता लेने का प्रयास एक प्रमाणीकरण टोकन का उपयोग करके किया जाता है जो अब मान्य नहीं है (उदाहरण के लिए, पहले ही समाप्त हो चुका है)।

समाधान यह है कि REST API GetWebSocketsToken एंडपॉइंट के माध्यम से एक नया प्रमाणीकरण टोकन का अनुरोध किया जाए, और बाद के सभी प्रमाणीकृत (निजी) सदस्यता अनुरोधों के लिए नए टोकन का उपयोग किया जाए।

एक खराब अनुरोध त्रुटि इंगित करती है कि अंतर्निहित HTTP अनुरोध (बाद के API अनुरोध नहीं) के बारे में कुछ गलत है, जैसे REST/WebSocket के बीच बेमेल URL, या HTTP POST डेटा को सही ढंग से शामिल नहीं करना:

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

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

यह त्रुटि तब लौटाई जाती है जब कॉल किया जा रहा एंडपॉइंट एक मान्य एंडपॉइंट नहीं होता है।

दर सीमा त्रुटियाँ

जबकि ऑर्डर जोड़ना और रद्द करना हमारी मानक API काउंटर सीमाओं के विरुद्ध नहीं गिना जाता है, इन ऑपरेशनों का अपना एक जोड़ और रद्द ऑर्डर काउंटर होता है। यह काउंटर इस तरह से काम करता है कि ऑर्डर बुक पर जितनी देर तक ऑर्डर रहते हैं, ग्राहक उतने ही अधिक ऑर्डर जोड़ या रद्द कर पाते हैं।

अस्थायी लॉकआउट त्रुटि संदेश तब हो सकते हैं जब आपके पास कम समय में बहुत अधिक विफल API कॉल या बहुत अधिक अमान्य नॉनस त्रुटियाँ या अमान्य हस्ताक्षर हों। भले ही ये कॉल एक त्रुटि लौटाते हैं, वह त्रुटि अभी भी आपकी API सीमाओं के विरुद्ध गिनी जाती है और इसके परिणामस्वरूप अस्थायी लॉकआउट हो सकता है।

अस्थायी लॉकआउट लगभग 15 मिनट तक रहता है। अस्थायी लॉकआउट त्रुटि प्राप्त होने के बाद, कृपया कोई भी नया API अनुरोध भेजने से पहले 15 मिनट प्रतीक्षा करें। यदि आप कई अमान्य नॉनस त्रुटियों को ट्रिगर कर रहे हैं, तो कृपया नॉनस विंडो बढ़ाएँ क्योंकि यह इन त्रुटियों की आवृत्ति को कम करने में मदद कर सकता है। कृपया अपनी निजी API कॉलों की आवृत्ति को भी कम करने का प्रयास करें।

ट्रेडिंग त्रुटियाँ

ट्रेडिंग इंजन के रखरखाव के लिए मार्जिन पर नई स्पॉट पोजीशन खोलना अस्थायी रूप से निलंबित कर दिया गया है। यह सुविधा जल्द ही वापस आएगी और आप status.kraken.com पर अपडेट का पालन कर सकते हैं।

अन्य कारण यह हो सकते हैं कि मार्जिन पर स्पॉट पोजीशन वर्तमान में कुछ देशों में रहने वाले ग्राहकों के लिए उपलब्ध नहीं हैं।

Kraken पर आप एक ही पेयर के लिए लॉन्ग और शॉर्ट पोज़िशन नहीं खोल सकते।

यदि आप एक ही करेंसी के लिए लॉन्ग और शॉर्ट पोज़िशन खोलना चाहते हैं, तो कृपया बेस या कोट करेंसी के रूप में एक ही करेंसी वाले अलग-अलग ट्रेडिंग पेयर चुनें। उदाहरण: शॉर्ट XBT/USD, लॉन्ग XBT/EUR।

यह त्रुटि तब होती है जब आप अपने वर्तमान सत्यापन स्तर के लिए मार्जिन भत्ता सीमा से अधिक हो जाते हैं। प्रत्येक करेंसी के लिए मार्जिन भत्ता सीमा आपके वर्तमान सत्यापन स्तर के आधार पर भिन्न होती है।

हमारे पास मार्जिन एक्सटेंशन के लिए सीमित फंड उपलब्ध हैं। "अपर्याप्त मार्जिन" संदेश इंगित करता है कि हम वर्तमान में लागू मार्जिन पूल में फंड से बाहर हैं। यह किसी भी समय बदल सकता है। आप कुछ सेकंड या मिनटों के बाद अपना ऑर्डर सफलतापूर्वक दे सकते हैं, लेकिन उच्च मात्रा वाले ऑर्डर और उच्च मात्रा वाले समय के दौरान दिए गए ऑर्डर में अधिक समय लग सकता है। किसी भी असुविधा के लिए कृपया हमारी क्षमा याचना स्वीकार करें।

यह त्रुटि तब होती है जब खाते पर एक नई पोज़िशन खोलने के लिए अपर्याप्त फ्री मार्जिन होता है या यदि पोज़िशन खोलने का वर्तमान प्रयास खाते के फ्री मार्जिन को 100% से नीचे गिरा देता है।

आपके पास यह ऑर्डर देने के लिए पर्याप्त फंड उपलब्ध नहीं हैं। कृपया अपनी खुली पोज़िशन और ऑर्डर की समीक्षा करें ताकि उन मदों को देखा जा सके जो आपके फंड को रोके हुए हो सकते हैं।

आपने इस एसेट के लिए न्यूनतम ऑर्डर वॉल्यूम पूरा नहीं किया है।

आपने अपने खाते के लिए उपलब्ध खुले ऑर्डर की अधिकतम संख्या पार कर ली है।

ये सीमाएँ आपके सत्यापन स्तर पर आधारित हैं। कृपया अपने कुछ खुले ऑर्डर बंद करें या अपने खाते को उच्च स्तर पर सत्यापित करें।

आपने अपने खाते के लिए उपलब्ध खुली पोज़िशन की अधिकतम संख्या पार कर ली है।

ये सीमाएँ आपके सत्यापन स्तर पर आधारित हैं। कृपया अपनी कुछ या सभी खुली पोज़िशन बंद करें या निपटाएँ या यदि संभव हो तो अपने खाते को उच्च स्तर पर सत्यापित करें।

एक मौजूदा (खुले) ऑर्डर को संपादित करने का प्रयास किया गया था, लेकिन संशोधन सफलतापूर्वक पूरे नहीं हो सके। संभावित कारणों में नए ऑर्डर के लिए अपर्याप्त फंड, कुछ आंशिक फिल परिदृश्य और कुछ लीवरेज्ड ऑर्डर शामिल हैं।

नया वॉल्यूम पहले से निष्पादित/भरे गए वॉल्यूम से कम है।

ऑर्डर का आकार ट्रेडिंग पेयर की मार्जिन स्थिति आकार सीमा से अधिक हो गया है।

प्रदर्शित वॉल्यूम न्यूनतम ऑर्डर वॉल्यूम को पूरा नहीं करता है।

प्रदर्शित वॉल्यूम ऑर्डर के वॉल्यूम से कम होना चाहिए।

आइसबर्ग ऑर्डर लिमिट ऑर्डर के अलावा किसी अन्य ऑर्डर प्रकार के साथ संगत नहीं हैं।

फंडिंग त्रुटियाँ

प्रत्येक क्रिप्टो करेंसी में अधिकतम 5 नए (अप्रयुक्त) जमा पते होते हैं, जिसके बाद छठा नया पता बनाने का कोई भी प्रयास एक त्रुटि लौटाएगा।

यह त्रुटि तब लौटाई जाती है जब फंडिंग एंडपॉइंट्स को एक अमान्य या गुम "method" पैरामीटर के साथ कॉल किया जाता है। 

"key" इनपुट पैरामीटर खाता प्रबंधन (फंडिंग -> निकासी के माध्यम से) के भीतर सेट पते के विवरण से मेल नहीं खाता है।

मुद्रा के अनुसार न्यूनतम निकासी राशि भिन्न होती है और न्यूनतम से कम किसी भी निकासी के प्रयास के परिणामस्वरूप यह त्रुटि होगी।

यह एक सामान्य त्रुटि है जो इंगित करती है कि फंडिंग अनुरोध पूरा नहीं किया जा सका (उदाहरण के लिए, कुछ स्थानों के ग्राहक ऑन-चेन स्टेकिंग अनुरोध करने का प्रयास करते हैं तो यह त्रुटि उत्पन्न होगी)।

अनुरोधित निकासी पूरी नहीं हो सकी, क्योंकि गंतव्य पते में आवश्यक लाभार्थी/प्राप्तकर्ता जानकारी गायब है (ध्यान दें कि यह वर्तमान में केवल कनाडाई खातों से चुनिंदा निकासी पर लागू होता है)।

सेवा स्थिति त्रुटियाँ

आपके द्वारा अनुभव की जा रही सेवा त्रुटियाँ केवल अस्थायी होनी चाहिए। यदि आपके अनुरोध विफल हो गए हैं तो आप उन्हें फिर से सबमिट करना चाह सकते हैं। हम समस्याओं की निगरानी करेंगे और अपने पेज को अपडेट करेंगे:

https://status.kraken.com/

आंतरिक त्रुटियाँ

जब हमें API डिग्रेडेशन समस्याओं का सामना करना पड़ता है, तो ये Kraken के लिए सेवा अनुपलब्धता संदेशों और साइट आउटेज के रूप में समस्याओं में बदल सकते हैं।

यह समस्या आपके खाते की सुरक्षा से संबंधित है जिसमें सेंध लग सकती है। कृपया अपना पासवर्ड और दो-कारक प्रमाणीकरण बदलें और हमारे सहायता केंद्र से संपर्क करें।

यह त्रुटि तब होती है जब कोई फ़्लैग या इनपुट पैरामीटर अस्थायी या स्थायी रूप से अक्षम होता है। त्रुटि पास किए गए इनपुट में से एक से आनी चाहिए, कृपया त्रुटि उत्पन्न करने वाले कॉल के लिए उपयोग की गई पूरी जानकारी के साथ एक लॉग भेजकर हमारे समर्थन से संपर्क करें।

ये 5xx और 10xx त्रुटियाँ वास्तव में API त्रुटियाँ नहीं हैं, बल्कि Cloudflare से वेब सर्वर त्रुटियाँ हैं।

API त्रुटियाँ हमेशा JSON प्रारूप में लौटाई जाती हैं जैसे “error”:[“ErrorType:ErrorMessage”], इसलिए किसी भी समय जब किसी भिन्न प्रारूप में त्रुटि प्राप्त होती है (जैसे 520, 504, 502, 1020, आदि का HTTP स्थिति कोड), तो अंतरिम समाधान यह है कि थोड़ी देर बाद API कॉल को फिर से आज़माया जाए और उम्मीद है कि कॉल तब सफल होगी।

क्या आपको और मदद चाहिए?