WebSocket API v1 - ऑर्डर देना और रद्द करना

अंतिम बार अपडेट किया गया: 1 अप्रैल 2025

हमारा WebSocket API v1 addOrder और cancelOrder एंडपॉइंट के माध्यम से ट्रेडिंग का समर्थन करता है। addOrder एंडपॉइंट का उपयोग नए ऑर्डर देने के लिए किया जाता है और cancelOrder एंडपॉइंट का उपयोग मौजूदा (खुले) ऑर्डर रद्द करने के लिए किया जाता है।

दोनों addOrder और cancelOrder निजी एंडपॉइंट हैं, जिसका अर्थ है कि उन्हें केवल प्रमाणित WebSocket कनेक्शन के माध्यम से एक्सेस किया जा सकता है।

प्रमाणित WebSocket URL wss://ws-auth.kraken.com/ से एक प्रारंभिक कनेक्शन बनाया जाना चाहिए, जिसे ऑर्डर दिए जाने और रद्द किए जाने तक अनिश्चित काल तक खुला रखा जा सकता है। एक एकल WebSocket कनेक्शन कई अनुरोधों का समर्थन करने के लिए डिज़ाइन किया गया है, इसलिए ट्रेडिंग एंडपॉइंट पर प्रत्येक कॉल के लिए कनेक्ट/डिस्कनेक्ट करना आवश्यक (या अनुशंसित) नहीं है।

WebSocket प्रमाणीकरण

एक WebSocket प्रमाणीकरण टोकन REST API GetWebSocketsToken एंडपॉइंट के माध्यम से प्राप्त किया जा सकता है।

एक बार जब एक टोकन प्राप्त हो जाता है, तो निजी WebSocket URL wss://ws-auth.kraken.com/ से एक कनेक्शन बनाया जा सकता है और addOrder और cancelOrder एंडपॉइंट का उपयोग अनिश्चित काल तक किया जा सकता है (टोकन तब तक समाप्त नहीं होगा जब तक इसका उपयोग ऑर्डर देने और रद्द करने के लिए किया जा रहा है)।

ध्यान दें कि API कुंजी जिसका उपयोग टोकन प्राप्त करने के लिए किया जाता है, उसमें ऑर्डर संशोधित करें और ऑर्डर रद्द करें/बंद करें दोनों अनुमतियाँ होनी चाहिए, अन्यथा WebSocket API से अनुमति अस्वीकृत त्रुटि प्राप्त होगी।

ऑर्डर देना

एक बार प्रमाणित WebSocket कनेक्शन स्थापित हो जाने के बाद, निम्नलिखित जैसा संदेश भेजकर एक ऑर्डर दिया जा सकता है:

  • {"event":"addOrder", "token":"nT9n23/7oLdq+bNHNMNJ4VvF1hiHhjTnPOaCMiB1GJ0", "pair":"XBT/USD", "type":"buy", "ordertype":"limit", "price":"9857", "volume":"0.002", "leverage":"5", "userref":"8874657"}

फिर अनुरोध की स्थिति (क्या ऑर्डर स्वीकार किया गया या अस्वीकार किया गया) दर्शाते हुए एक प्रतिक्रिया प्राप्त होगी। सफलतापूर्वक स्वीकार किए गए और दिए गए ऑर्डर के लिए, प्रतिक्रिया में 'ok' की स्थिति इंगित होगी और वह निम्नलिखित के समान होगी:

  • {"descr":"buy 0.00200000 XBTUSD @ limit 9857.0 with 5:1 leverage","event":"addOrderStatus","status":"ok","txid":"OPOUJF-BWKCL-FG5DQL"}

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

  • {"errorMessage":"EOrder:Order minimum not met","event":"addOrderStatus","status":"error"}

ऑर्डर रद्द करना

एक बार प्रमाणित WebSocket कनेक्शन स्थापित हो जाने के बाद (या अधिमानतः एक मौजूदा कनेक्शन का पुन: उपयोग किया जाता है), निम्नलिखित जैसा संदेश भेजकर एक ऑर्डर रद्द किया जा सकता है:

  • {"event":"cancelOrder", "token":"s74Ajl83it0dNNKcF072NJ5wDmLTGIceaCbV96eWbFg", "txid":["OJZ3DI-IU6QC-ME7TVE"]}

फिर अनुरोध की स्थिति (क्या रद्दीकरण स्वीकार किया गया या अस्वीकार किया गया) दर्शाते हुए एक प्रतिक्रिया प्राप्त होगी। सफलतापूर्वक रद्द किए गए ऑर्डर के लिए, प्रतिक्रिया में 'ok' की स्थिति इंगित होगी और वह निम्नलिखित के समान होगी:

  • {"event":"cancelOrderStatus","status":"ok"}

अस्वीकृत रद्दीकरण अनुरोध के लिए, प्रतिक्रिया में त्रुटि की स्थिति इंगित होगी, साथ ही अस्वीकृति का कारण (अमान्य ऑर्डर आईडी, आदि) दर्शाने वाला एक त्रुटि संदेश भी होगा, जैसे कि पहले से रद्द किए गए ऑर्डर को रद्द करने के अनुरोध के लिए निम्नलिखित अस्वीकृति:

  • {"errorMessage":"EOrder:Unknown order","event":"cancelOrderStatus","status":"error"}

ध्यान दें कि REST API CancelOrder एंडपॉइंट के विपरीत, एक ही WebSocket कैंसिलेशन मैसेज में कई ऑर्डर ID निर्दिष्ट करना संभव है। रद्द की जाने वाली ऑर्डर ID को txid ऐरे के भीतर अलग-अलग प्रविष्टियों के रूप में शामिल किया जाना चाहिए, जैसा कि नीचे दिया गया है:

  • {"event":"cancelOrder", "token":"c4JjTNHSurKmWDsnrGaCxIuCOa4FurCZK2ppktvT2Yo", "txid":["OLVCRZ-DNKJI-VRTZKY","O67X6E-PBGSR-GU23R5","OECCDC-T2R4V-52CR7T"]}

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