বিকাশকারী API
দাবা রেটিং API ডকুমেন্টেশন
চেস রেটিং API একই ইলো গণনা ইঞ্জিনে প্রোগ্রাম্যাটিক অ্যাক্সেস সরবরাহ করে যা এই সাইটে ক্যালকুলেটরগুলিকে শক্তি দেয়। বিকাশকারীরা ক্লাব পরিচালনার সরঞ্জাম, টুর্নামেন্ট রিপোর্টিং ড্যাশবোর্ড, কোচিং প্ল্যাটফর্ম বা সম্পাদকীয় পণ্যগুলি ফর্মুলা যুক্তিকে পুনরায় প্রয়োগ না করে সরাসরি তাদের কর্মপ্রবাহে রেটিং গণনাগুলিকে একীভূত করতে পারে। এই ডকুমেন্টেশন উপলব্ধ এন্ডপয়েন্ট, অনুরোধ এবং প্রতিক্রিয়া বিন্যাস, প্রমাণীকরণ প্রয়োজনীয়তা, এবং সংস্করণ পদ্ধতি যা ইন্টিগ্রেশন স্থিতিশীল রাখে কভার করে।
উপলব্ধ গণনা শেষ পয়েন্ট
API তিনটি প্রাথমিক গণনার কার্যপ্রবাহকে সমর্থন করে: একক-গেম রেটিং পরিবর্তন (দুটি রেটিং, একটি ফলাফল এবং একটি কে-ফ্যাক্টর দেওয়া), ব্যাচ প্রক্রিয়াকরণ (এক অনুরোধে একাধিক গেম রেকর্ড), এবং প্রাথমিক রেটিং অনুমান (প্রতিপক্ষের গড় রেটিং, স্কোর এবং গেমের সংখ্যা দেওয়া)। প্রতিটি এন্ডপয়েন্ট প্রত্যাশিত স্কোর, রেটিং ডেল্টা এবং প্রত্যাশিত নতুন রেটিং সহ ক্যালকুলেটর পৃষ্ঠাগুলিতে দেখানো একই বিশদ আউটপুট প্রদান করে। সম্পর্কিত নির্দেশনার জন্য এমবেডযোগ্য দাবা রেটিং উইজেট পড়তে পারেন।
টুর্নামেন্ট-মোড এন্ডপয়েন্ট প্রতি-রাউন্ড ব্রেকডাউন এবং ক্রমবর্ধমান মোট প্রতিপক্ষের রেটিং এবং ফলাফলের একটি অর্ডারকৃত অ্যারে গ্রহণ করে। সমস্ত প্রতিক্রিয়াগুলির মধ্যে মেটাডেটা অন্তর্ভুক্ত রয়েছে যে কোন নিয়ম প্রোফাইল প্রয়োগ করা হয়েছিল যাতে ডাউনস্ট্রিম গ্রাহকরা গণনা অনুমানগুলি যাচাই করতে পারে৷
প্রমাণীকরণ এবং হার সীমা
API অ্যাক্সেসের জন্য অনুমোদন শিরোনামে একটি বহনকারী টোকেন হিসাবে পাস করা একটি API কী প্রয়োজন৷ কীগুলি বিনামূল্যে এবং প্রিমিয়াম স্তরগুলিতে উপলব্ধ৷ বিনামূল্যের স্তর প্রতি ব্যাচ অনুরোধে সর্বাধিক 10টি গেম সহ প্রতিদিন 100টি অনুরোধের অনুমতি দেয়। প্রিমিয়াম কীগুলি উচ্চতর থ্রুপুট, অগ্রাধিকার সমর্থন এবং বাল্ক টুর্নামেন্ট প্রক্রিয়াকরণের শেষ পয়েন্টগুলিতে অ্যাক্সেস আনলক করে।
হার সীমা প্রতি কী প্রতি প্রয়োগ করা হয়, IP ঠিকানা প্রতি নয়। সীমা অতিক্রম করলে পরবর্তী অনুরোধ উইন্ডোটি কখন খোলে তা নির্দেশ করে পুনরায় চেষ্টা-পরবর্তী শিরোলেখ সহ একটি 429 স্থিতি প্রদান করে। প্রতিটি সফল অনুরোধের প্রতিক্রিয়া শিরোনামে সমস্ত সীমা নথিভুক্ত করা হয়।
নিয়ম প্রোফাইল এবং সংস্করণ
প্রতিটি API প্রতিক্রিয়ায় একটি নিয়ম_প্রোফাইল ক্ষেত্র রয়েছে যা নির্দেশ করে যে অনুমানের সেটটি গণনার জন্য ব্যবহার করা হয়েছে (যেমন, fide_2024, us_chess_current, generic_elo)। যখন ফেডারেশন প্রবিধান পরিবর্তন হয়, তখন API বিদ্যমানগুলিকে সংশোধন করার পরিবর্তে একটি নতুন প্রোফাইল সংস্করণ যোগ করে। এর মানে হল ডাউনস্ট্রিম সিস্টেমগুলি একটি নির্দিষ্ট প্রোফাইল সংস্করণে পিন করতে পারে এবং তাদের নিজস্ব সময়সূচীতে আপগ্রেড করতে পারে।
এপিআই চেঞ্জলগ এবং ডেভেলপার মেলিং তালিকার মাধ্যমে ব্রেকিং পরিবর্তনগুলি কমপক্ষে 30 দিন আগে যোগাযোগ করা হয়। অ-ব্রেকিং সংযোজন (নতুন ঐচ্ছিক ক্ষেত্র, নতুন প্রোফাইল) বিদ্যমান ইন্টিগ্রেশন ব্যাহত না করে ক্রমাগত স্থাপন করা হয়।
প্রতিক্রিয়া বিন্যাস এবং ত্রুটি হ্যান্ডলিং
- সমস্ত প্রতিক্রিয়া বিষয়বস্তু-প্রকার: অ্যাপ্লিকেশন/json সহ JSON প্রদান করে। সফল গণনা সম্পূর্ণ ফলাফল পেলোড সহ 200 ফেরত দেয়।
- বৈধতা ত্রুটি (অনুপস্থিত ক্ষেত্র, রেঞ্জের বাইরের রেটিং, অবৈধ কে-ফ্যাক্টর) একটি মানব-পঠনযোগ্য ত্রুটি অ্যারে সহ 422 ফেরত দেয়।
- প্রমাণীকরণ ব্যর্থতা 401 ফেরত দেয়। মেয়াদোত্তীর্ণ বা প্রত্যাহার করা কীগুলি পুনরায় সক্রিয়করণ URL সহ 403 প্রদান করে।
- সার্ভার ত্রুটি সমর্থন বৃদ্ধির জন্য একটি অনুরোধ আইডি সহ 500 ফেরত দেয়। সমস্ত ত্রুটি প্রতিক্রিয়া একই { error, message, request_id } গঠন অনুসরণ করে৷
ইন্টিগ্রেশন সেরা অভ্যাস
এপিআই কল মিনিমাইজ করতে যখনই সম্ভব স্থানীয়ভাবে ক্যাশে বারবার গণনা করুন। টুর্নামেন্টের কর্মপ্রবাহের জন্য, ক্রমিক একক-গেমের অনুরোধ করার পরিবর্তে ব্যাচের শেষ পয়েন্ট ব্যবহার করুন। সার্ভারের ডিফল্টের উপর নির্ভর না করে সর্বদা নিয়ম_প্রোফাইল প্যারামিটারটি স্পষ্টভাবে অন্তর্ভুক্ত করুন, যাতে API নতুন প্রোফাইল যোগ করলেও আপনার ইন্টিগ্রেশন নির্ধারক থাকে।
ক্লাব সফ্টওয়্যার এবং কোচিং ড্যাশবোর্ডের জন্য, গণনা করা ফলাফল এবং নিয়ম_প্রোফাইল সংস্করণ উভয়ই সংরক্ষণ করার কথা বিবেচনা করুন যাতে ফেডারেশনের নিয়ম পরিবর্তন হলে আপনি পরে অডিট বা পুনঃগণনা করতে পারেন। এটি অফিসিয়াল রিপোর্টিং কর্মপ্রবাহের জন্য বিশেষভাবে গুরুত্বপূর্ণ যেখানে ঐতিহাসিক নির্ভুলতা গুরুত্বপূর্ণ।