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

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