WebSocket API v1 - অর্ডার স্থাপন এবং বাতিল করা

সর্বশেষ আপডেট: ১ এপ্রিল, ২০২৫

আমাদের 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/-এর সাথে একটি সংযোগ স্থাপন করা যেতে পারে এবং addOrdercancelOrder এন্ডপয়েন্টগুলি তখন অনির্দিষ্টকালের জন্য ব্যবহার করা যেতে পারে (অর্ডার স্থাপন এবং বাতিল করার জন্য ব্যবহৃত হলে টোকেনটির মেয়াদ শেষ হবে না)।

মনে রাখবেন যে টোকেন পুনরুদ্ধার করতে ব্যবহৃত API কী-এর অবশ্যই Modify Orders এবং Cancel/Close Orders উভয় অনুমতি থাকতে হবে, অন্যথায় 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"}

যে অর্ডারটি প্রত্যাখ্যান করা হয়েছিল এবং স্থাপন করা হয়নি, তার জন্য প্রতিক্রিয়াটি 'error' স্থিতি নির্দেশ করবে, সাথে প্রত্যাখ্যানের কারণ (অবৈধ আর্গুমেন্ট, অপর্যাপ্ত তহবিল ইত্যাদি) নির্দেশ করে একটি ত্রুটি বার্তা থাকবে, যেমন ন্যূনতম অর্ডারের আকার পূরণ না করা অর্ডারের জন্য নিম্নলিখিত প্রত্যাখ্যান:

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

একটি অর্ডার বাতিল করা

একবার একটি প্রমাণীকৃত WebSocket সংযোগ স্থাপন করা হলে (অথবা অগ্রাধিকারমূলকভাবে একটি বিদ্যমান সংযোগ পুনরায় ব্যবহার করা হলে), নিম্নলিখিতের মতো একটি বার্তা পাঠিয়ে একটি অর্ডার বাতিল করা যেতে পারে:

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

তারপর অনুরোধের স্থিতি নির্দেশ করে একটি প্রতিক্রিয়া পাওয়া যাবে (বাতিলকরণ গৃহীত হয়েছিল নাকি প্রত্যাখ্যান করা হয়েছিল)। সফলভাবে বাতিল করা অর্ডারের জন্য, প্রতিক্রিয়াটি 'ok' স্থিতি নির্দেশ করবে এবং নিম্নলিখিতের মতো হবে:

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

যে বাতিলকরণ অনুরোধটি প্রত্যাখ্যান করা হয়েছিল, তার জন্য প্রতিক্রিয়াটি 'error' স্থিতি নির্দেশ করবে, সাথে প্রত্যাখ্যানের কারণ (অবৈধ অর্ডার আইডি ইত্যাদি) নির্দেশ করে একটি ত্রুটি বার্তা থাকবে, যেমন একটি অর্ডার বাতিল করার অনুরোধের জন্য নিম্নলিখিত প্রত্যাখ্যান যা ইতিমধ্যেই বাতিল করা হয়েছিল:

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

মনে রাখবেন যে REST API CancelOrder এন্ডপয়েন্টের বিপরীতে, একটি একক WebSocket বাতিলকরণ বার্তায় একাধিক অর্ডার আইডি নির্দিষ্ট করা সম্ভব। বাতিল করার জন্য অর্ডার আইডিগুলি txid অ্যারের মধ্যে পৃথক এন্ট্রি হিসাবে অন্তর্ভুক্ত করা উচিত, যেমন:

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

আরও সাহায্যের প্রয়োজন?