उन्नत API FAQ

अंतिम अपडेट: 25 नवंबर 2025

REST API फंडिंग एंडपॉइंट्स का उपयोग करके, ग्राहक अपने Kraken खाते में/से फंड जमा/निकाल सकते हैं, और जमा/निकासी लेनदेन की वास्तविक समय स्थिति का अनुरोध कर सकते हैं।

प्रारंभिक अनुरोध और लेनदेन के पूरा होने के बीच जमा/निकासी कई चरणों से गुजरती है, इसलिए फंडिंग एंडपॉइंट्स को कॉल किए जाने के समय के आधार पर एक अलग स्थिति मान वापस मिलेगी।

ध्यान दें कि स्थिति मान मूल रूप से इंटरनेट फाइनेंशियल एक्सचेंज प्रोटोकॉल (IFEX) दस्तावेज़ के पृष्ठ 16/17 से आए थे, लेकिन क्रिप्टो लेनदेन के लिए अधिक उपयुक्त होने के लिए मानों को थोड़ा संशोधित किया गया है (उदाहरण के लिए, सभी संभावित स्थिति मानों का उपयोग नहीं किया जाता है)।

जमा

जमा लेनदेन के लिए संभावित स्थिति मान इस प्रकार हैं:

  • Settled = जमा प्राप्त हो गई है लेकिन ब्लॉकचेन पर अभी भी अतिरिक्त पुष्टिकरण की आवश्यकता है।

  • Success = जमा ने ब्लॉकचेन पर आवश्यक संख्या में पुष्टिकरण प्राप्त कर लिए हैं।

  • Failure = जमा विफल हो गई (विभिन्न कारणों में से एक या अधिक के लिए)।

उपरोक्त स्थिति मान DepositStatus एंडपॉइंट से प्रतिक्रियाओं में कैसे दिखाई देंगे, इसके कुछ उदाहरण निम्नलिखित हैं:

Settled status:{"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 status:{"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"}]}

निकासी

निकासी लेनदेन के लिए संभावित स्थिति मान इस प्रकार हैं:

  • Initial = निकासी अनुरोध प्राप्त हो गया है और वैधता के लिए जांच की जा रही है (खाते पर कोई भी फंडिंग प्रतिबंध, आदि)।

  • Pending = निकासी हमारे फंडिंग गेटवे द्वारा संसाधित होने की प्रतीक्षा कर रही है।

  • Settled = निकासी ब्लॉकचेन पर भेज दी गई है (इस बिंदु पर ब्लॉकचेन लेनदेन ID उपलब्ध हो जाएगी)।

  • Success = निकासी लेनदेन में ब्लॉकचेन पर कम से कम 1 पुष्टिकरण है।

  • On hold = निकासी रोक दी गई है और हमारी फंडिंग टीम द्वारा मैन्युअल रूप से जांच की जानी है।

  • Failure = निकासी विफल हो गई (विभिन्न कारणों में से एक या अधिक के लिए)।

उपरोक्त स्थिति मान WithdrawStatus एंडपॉइंट से प्रतिक्रियाओं में कैसे दिखाई देंगे, इसके कुछ उदाहरण निम्नलिखित हैं:

Initial status:{"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 status:{"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 status:{"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 status:{"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 status:{"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"}]}

जमा/निकासी के संबंध में अतिरिक्त जानकारी हमारे नकद फंडिंग और क्रिप्टोकरेंसी फंडिंग सहायता पृष्ठों के माध्यम से उपलब्ध है।

REST API OHLC एंडपॉइंट केवल सीमित मात्रा में ऐतिहासिक डेटा प्रदान करता है, विशेष रूप से अनुरोधित अंतराल के 720 डेटा पॉइंट। उदाहरण के लिए, 1 मिनट के अंतराल में OHLC डेटा मांगने पर सबसे हाल के 720 मिनट (12 घंटे) का डेटा वापस मिलेगा।

उन अनुप्रयोगों के लिए जिन्हें अतिरिक्त OHLC या टिक डेटा की आवश्यकता होती है, हमारे बाजारों का पूरा ट्रेडिंग इतिहास (ऐतिहासिक समय और बिक्री) REST API ट्रेड्स एंडपॉइंट के माध्यम से प्राप्त करना संभव है। किसी भी समय सीमा और किसी भी अंतराल के लिए OHLC को तब ऐतिहासिक समय और बिक्री डेटा से बनाया जा सकता है।

ट्रेड्स एंडपॉइंट since नामक एक वैकल्पिक पैरामीटर लेता है, जो डेटा की प्रारंभिक तिथि/समय निर्दिष्ट करता है। since मान नैनोसेकंड रिज़ॉल्यूशन पर एक UNIX टाइमस्टैम्प है (9 अतिरिक्त अंकों के साथ सेकंड में एक मानक UNIX टाइमस्टैम्प)।

उदाहरण के लिए, ट्रेड्स एंडपॉइंट पर एक कॉल जैसे https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000 1 जून 2019 को 00:00:00 UTC से XBT/USD के लिए ऐतिहासिक समय और बिक्री वापस करेगा:

{"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"}}

ट्रेड्स एंडपॉइंट पर बाद की कॉल में since पैरामीटर के मान को पिछली कॉल के परिणामों से last पैरामीटर के मान से बदलना चाहिए, जैसे https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117

0 (शून्य) के विशेष since मान का उपयोग करने से बाजार की शुरुआत से (पहले व्यापार से शुरू होकर) ऐतिहासिक समय और बिक्री वापस मिलेगी।

एक उपयोगकर्ता संदर्भ एक क्लाइंट द्वारा प्रदान की गई ऑर्डर ID है जिसका उपयोग कुछ ऑर्डर प्रबंधन कार्यों (विशेष रूप से ऑर्डर रद्द करने) के लिए वास्तविक (API द्वारा प्रदान की गई) ऑर्डर ID के स्थान पर किया जा सकता है।

उपयोगकर्ता संदर्भों को यथासंभव लचीला बनाने के लिए लागू किया जाता है, और इसलिए इसका उपयोग विभिन्न तरीकों से किया जा सकता है, जिनमें शामिल हैं:

  • एक अद्वितीय ID के रूप में (जहां प्रत्येक ऑर्डर का एक अलग उपयोगकर्ता संदर्भ होता है),

  • संबंधित ऑर्डर को एक साथ समूहित करने के लिए (जैसे विभिन्न लीवरेज स्तरों वाले ऑर्डर को समूहित करना),

  • या एक बैकअप ID के रूप में, यदि वास्तविक ऑर्डर ID ज्ञात नहीं है।

एक उपयोगकर्ता संदर्भ 1 और 2,147,483,647 के बीच एक संख्यात्मक मान होना चाहिए (अनिवार्य रूप से कोई भी धनात्मक 32 बिट संख्या), और इसलिए इसे एक साधारण काउंटर के रूप में, एक यादृच्छिक हस्ताक्षरित 32 बिट मान के रूप में, या यहां तक कि सेकंड में एक टाइमस्टैम्प के रूप में भी लागू किया जा सकता है (हालांकि यह 19 जनवरी 2038 को 3:14:07 UTC के बाद विफल हो जाएगा)।

उपयोगकर्ता संदर्भ के साथ ऑर्डर देना

ऑर्डर को AddOrder एंडपॉइंट को कॉल करके और मान के रूप में उपयोगकर्ता संदर्भ के साथ userref पैरामीटर को शामिल करके एक संलग्न उपयोगकर्ता संदर्भ के साथ रखा जा सकता है:

$ ./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"]}}

उपयोगकर्ता संदर्भ वाले ऑर्डर देखना

जिन ऑर्डर में पहले से ही एक उपयोगकर्ता संदर्भ संलग्न है, उन्हें Open/Closed/QueryOrders एंडपॉइंट्स को कॉल करके और मान के रूप में मौजूदा उपयोगकर्ता संदर्भ के साथ userref पैरामीटर को शामिल करके देखा जा सकता है (इस मामले में उपयोगकर्ता संदर्भ एक फ़िल्टर के रूप में कार्य करता है, केवल संबंधित ऑर्डर प्रदर्शित करता है):

$ ./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}}

उपयोगकर्ता संदर्भ वाले ऑर्डर रद्द करना

जिन ऑर्डर में पहले से ही एक उपयोगकर्ता संदर्भ संलग्न है, उन्हें CancelOrder एंडपॉइंट को कॉल करके और txid मान के रूप में उपयोगकर्ता संदर्भ का उपयोग करके (ऑर्डर ID मान के स्थान पर) रद्द किया जा सकता है:

$ ./krakenapi CancelOrder txid=16764529

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

ध्यान दें कि समान उपयोगकर्ता संदर्भ वाले सभी खुले ऑर्डर रद्द कर दिए जाएंगे, इसलिए एक साथ कई ऑर्डर रद्द करने के लिए एक ही CancelOrder कॉल करना संभव है (जैसा कि निम्नलिखित प्रतिक्रिया में count मान 3 द्वारा इंगित किया गया है):

$ ./krakenapi CancelOrder txid=48695624

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

यह समस्या Cloudflare से संबंधित हो सकती है:

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

नोट: Kraken में "Browser Integrity Check" सक्षम है।

यह तब हो सकता है जब आपके अनुरोध में संदिग्ध हेडर हों। उदाहरण के लिए, आपके अनुरोध में उपयोगकर्ता एजेंट गायब हो सकता है, या एक गैर-मानक उपयोगकर्ता एजेंट का उपयोग कर सकता है; इसलिए कृपया अपने अनुरोध हेडर की जांच करें।

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

Futures API

हमारे Futures REST और WebSocket APIs (futures.kraken.com) के लिए हम API URL demo-futures.kraken.com का उपयोग करके एक पूर्ण परीक्षण वातावरण प्रदान करते हैं।

REST, WebSocket और FIX परीक्षण वातावरण

हमारे स्पॉट REST/WebSocket API और FIX API के लिए, हम वर्तमान में योग्य ग्राहकों के लिए एक परीक्षण वातावरण प्रदान करते हैं। इस वातावरण तक पहुँचने के लिए एक ऑनबोर्डिंग प्रक्रिया की आवश्यकता होती है जिसे सीधे API टीम से संपर्क करके शुरू किया जा सकता है।

Validate परीक्षण पैरामीटर का उपयोग करके हमारे API का परीक्षण करना

REST API AddOrder या WebSocket API addOrder एंडपॉइंट्स के माध्यम से ऑर्डर देते समय, ऑर्डर का अनुकरण करने के लिए validate इनपुट पैरामीटर का उपयोग किया जा सकता है।

validate पैरामीटर को true (validate=1, validate=true, validate=anything, आदि) पर सेट करके AddOrder/addOrder को कॉल करने से ऑर्डर विवरण की त्रुटियों के लिए जाँच की जाएगी, लेकिन API प्रतिक्रिया में कभी भी ऑर्डर ID शामिल नहीं होगा (जो validate पैरामीटर के बिना एक सफल ऑर्डर के लिए हमेशा वापस किया जाएगा)।

validate पैरामीटर के साथ AddOrder कॉल का उदाहरण (ऑर्डर ID गायब है):

bash

Bash

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

छोटे वास्तविक ऑर्डर और/या अत्यधिक कीमतों वाले ऑर्डर

Validate पैरामीटर का उपयोग करके एक व्यापक API परीक्षण के लिए, हम बहुत छोटे मार्केट ऑर्डर (न्यूनतम ऑर्डर आकार के लिए ऑर्डर) या लिमिट ऑर्डर देने की सलाह देते हैं जिनकी कीमत वर्तमान मार्केट मूल्य से बहुत दूर है (उदाहरण के लिए, जब मार्केट मूल्य $200 हो तो ETH/USD को $800 पर बेचने के लिए लिमिट ऑर्डर देना)।

लाइव ऑर्डर का उपयोग करके परीक्षण करने से आपका API कोड वास्तविक दुनिया की स्थितियों में हमारे API के साथ इंटरैक्ट कर पाता है, इसलिए परीक्षण का हर पहलू सटीक होगा (आपके ऑर्डर ऑर्डर बुक को कैसे प्रभावित करते हैं, आदि)।

सुरक्षा कारणों से, हमने हाल ही में TLS 1.0 और 1.1 के लिए समर्थन बंद कर दिया है। यदि आपको हमारे API से कनेक्ट करने का प्रयास करते समय SSL/TLS कनेक्शन त्रुटि संदेश मिल रहे हैं, तो यह इन अप्रचलित मानकों में से किसी एक के उपयोग के कारण होने की संभावना है। आपको TLS 1.2/1.3 के उपयोग को बाध्य करने के लिए अपने API क्लाइंट को संशोधित करना होगा या अपने .NET के संस्करण को 4.6 या उससे ऊपर अपग्रेड करना होगा, जो TLS 1.2/1.3 को मानक के रूप में उपयोग करता है।

इनपुट डेटा के किसी भी संयोजन के लिए REST API प्रमाणीकरण हस्ताक्षर की गणना करने के लिए निम्नलिखित Google शीट का उपयोग किया जा सकता है:

  • API निजी (गुप्त) कुंजी

  • API एंडपॉइंट (Balance, TradeBalance, QueryOrders, आदि)

  • नॉनस मान (अधिक विवरण के लिए हमारा नॉनस क्या है सहायता पृष्ठ देखें)

  • एंडपॉइंट इनपुट पैरामीटर (उदाहरण के लिए, asset=doge)

कैलकुलेटर का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि प्रमाणीकरण एल्गोरिथम को सही ढंग से लागू किया गया है, जिससे विकास चक्र में बाद में संभावित समस्याओं (विशेष रूप से अप्रत्याशित अमान्य कुंजी त्रुटियों) से बचा जा सके।

उपयोग के निर्देश

  1. 1

    Chrome (या किसी अन्य हाल के वेब ब्राउज़र) में REST API प्रमाणीकरण कैलकुलेटर खोलें

  2. 2

    फ़ाइल -> कॉपी बनाएँ मेनू के माध्यम से कैलकुलेटर की एक कॉपी अपने Google Drive में बनाएँ (इस चरण के लिए आपको अपने Google खाते में साइन इन करना होगा)

  3. 3

    अपने स्वयं के API कुंजी और अनुरोध विवरण के साथ API कुंजी, API एंडपॉइंट, नॉनस मान, और इनपुट डेटा फ़ील्ड संपादित करें

  4. 4

    गणना किए गए API प्रमाणीकरण हस्ताक्षर की तुलना अपने स्वयं के API कोड द्वारा गणना किए गए मान से करें (दोनों मान बिल्कुल मेल खाने चाहिए)

सुरक्षा कारणों से, हम एक अस्थायी API कुंजी के साथ प्रमाणीकरण कैलकुलेटर का उपयोग करने की सलाह देते हैं, और फिर एक बार जब आपका प्रमाणीकरण हस्ताक्षर कार्यान्वयन सही साबित हो जाता है तो अपने खाते से API कुंजी को हटा दें।

उदाहरण

Screenshot_2021-06-21_at_14.42.35.png

हमारे क्लाइंट लाइब्रेरी रैपर का उपयोग करने का प्राथमिक लाभ यह है कि आपको API हस्ताक्षर बनाने के लिए समय/प्रयास खर्च करने की आवश्यकता नहीं है, यह आपके लिए पहले से ही किया जा चुका है।

यदि आप केवल सार्वजनिक तरीकों को कॉल करने का इरादा रखते हैं, तो आप क्लाइंट लाइब्रेरी से बाहर निकलने का विकल्प चुन सकते हैं क्योंकि किसी प्रमाणीकरण की आवश्यकता नहीं है।

उपलब्ध रैपरों की सूची आप यहां पा सकते हैं।

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