Telm API-কে দুইভাবে মিটার করে: একটি প্রতি-মিনিট রেট লিমিট (একটি বার্স্ট সীমা) এবং একটি দৈনিক কোটা (UTC দিনের জন্য আপনার মোট বাজেট)। দুটোই প্ল্যান অনুযায়ী বাড়ে। প্রতিটি মিটার করা সাড়া X-Quota-Limit, X-Quota-Used ও X-Quota-Reset ফেরত দেয় যাতে আপনি সবসময় আপনার অবশিষ্ট বাজেট জানেন, এবং অতিক্রম হলে দুটো সীমাই একটি Retry-After হেডারসহ 429 ফেরত দেয়।
1দুটি সীমা: প্রতি-মিনিট রেট ও দৈনিক কোটা
দুটি আলাদা সীমা আছে। প্রতি-মিনিট রেট লিমিট সীমিত করে আপনি যেকোনো একটি মিনিটের মধ্যে কতগুলো অনুরোধ করতে পারেন, বার্স্ট মসৃণ করে। দৈনিক কোটা আপনার সামগ্রিক বাজেট: এটি সীমিত করে আপনি পুরো UTC দিন জুড়ে কতগুলো মিটার করা কল করতে পারেন।
এগুলো স্বাধীন। আপনি প্রচুর দৈনিক কোটা বাকি থাকা অবস্থায়ও প্রতি-মিনিট সীমায় পৌঁছাতে পারেন (আপনি কেবল খুব দ্রুত পাঠাচ্ছেন), বা প্রতি-মিনিট সীমার অনেক নিচে থেকেও আপনার দৈনিক কোটা নিঃশেষ করতে পারেন (আপনি দিনটি ব্যবহার করে ফেলেছেন)। দুটোই একটি 429 স্ট্যাটাস ফেরত দেয়, কিন্তু ভিন্ন কারণে — এগুলো আলাদা করতে বডির ত্রুটি কোড দেখুন।
- প্রতি-মিনিট রেট লিমিট — একটি বার্স্ট সীমা, প্রতি মিনিটে রিসেট হয়।
- দৈনিক কোটা — দিনের জন্য আপনার মোট মিটার করা কল, মধ্যরাত UTC-তে রিসেট হয়।
- কোটা প্রতি অ্যাকাউন্টে একবার গণনা করা, আপনার সব কী জুড়ে ভাগ করা।
2প্ল্যান অনুযায়ী দৈনিক কোটা
আপনার দৈনিক কোটা হলো আপনি প্রতি UTC দিনে যতগুলো মিটার করা API কল করতে পারেন, আর এটি আপনার প্ল্যানের উপর নির্ভর করে। কাউন্টার আপনার সব কী জুড়ে ভাগ করা এবং আপনি যেসব গ্রুপ পরিচালনা করেন তাদের মধ্যে সেরা প্ল্যান অনুসরণ করে — কোনো পেইড সাবস্ক্রিপশন না থাকলে আপনি Free স্তরে আছেন।
উইন্ডোটি UTC ক্যালেন্ডার দিন, তাই আপনার used কাউন্টার মধ্যরাত UTC-তে শূন্যে রিসেট হয়। একটি ব্যাচ স্প্যাম চেক পুরো অনুরোধের জন্য একটি কল নয়, ব্যাচের প্রতি আইটেমে একটি কল খরচ করে।
- Free — প্রতিদিন 100 কল।
- Basic — প্রতিদিন 1,000 কল।
- Pro — প্রতিদিন 10,000 কল।
- Business — প্রতিদিন 50,000 কল।
3প্ল্যান অনুযায়ী প্রতি-মিনিট রেট লিমিট
দৈনিক কোটার উপরে, প্রতিটি API কী তার প্ল্যান স্তর অনুযায়ী প্রতি মিনিটে একটি নির্দিষ্ট সংখ্যক অনুরোধে সীমিত। এটি একটি মসৃণকারী সীমা: এটি একটি একক ক্লায়েন্টকে দৈনিক বাজেট থেকে অনেক দূরে থাকলেও এক সেকেন্ডে একটি বিশাল স্পাইক পাঠানো থেকে থামায়।
আলাদাভাবে, প্ল্যাটফর্ম স্থিতিশীল রাখতে পুরো API জুড়ে বিস্তৃত প্রতি-IP ও প্রতি-অ্যাকাউন্ট সীমা প্রযোজ্য। স্বাভাবিক ব্যবহারে — স্থির, ছন্দবদ্ধ অনুরোধে — আপনি এগুলো কখনও স্পর্শ করবেন না; এগুলো কেবল অপব্যবহারমূলক বার্স্টে ট্রিগার হয়।
- Free ও Basic — প্রতি মিনিটে 60 অনুরোধ।
- Pro — প্রতি মিনিটে 600 অনুরোধ।
- Business — প্রতি মিনিটে 1,800 অনুরোধ।
- একসঙ্গে সব না ছুড়ে অনুরোধ ছড়িয়ে দিন।
4আপনার অবশিষ্ট বাজেট পড়া
কত কোটা বাকি তা আপনাকে কখনও অনুমান করতে হয় না। প্রতিটি মিটার করা সাড়া — সফল বা ব্যর্থ — তিনটি হেডার অন্তর্ভুক্ত করে: X-Quota-Limit (আপনার দৈনিক সীমা), X-Quota-Used (আপনি আজ কতগুলো কল খরচ করেছেন), এবং X-Quota-Reset (যে মুহূর্তে, UTC-তে, কাউন্টার রিসেট হয়)।
স্প্যাম-চেক এন্ডপয়েন্টগুলো একই সংখ্যাগুলো সাড়ার বডির ভেতরে একটি quota অবজেক্টের অধীনেও প্রতিধ্বনিত করে, তাই আপনি হেডার পার্স না করেই আপনার অবশিষ্ট বাজেট পড়তে পারেন। নিজের অনুরোধ ছন্দবদ্ধ করতে এবং শেষ হওয়ার আগে নিজেকে সতর্ক করতে এগুলো ব্যবহার করুন।
- X-Quota-Limit — আপনার দৈনিক কল সীমা।
- X-Quota-Used — আজ এ পর্যন্ত খরচ করা কল।
- X-Quota-Reset — UTC-তে রিসেট সময় (RFC 3339)।
- স্প্যাম-চেক সাড়াগুলোও একই ফিল্ডসহ একটি quota অবজেক্ট অন্তর্ভুক্ত করে।
5429-এ কী হয়
আপনি যেকোনো একটি সীমা অতিক্রম করলে, API একটি Retry-After হেডারসহ HTTP 429 ফেরত দেয় যা আপনাকে কত সেকেন্ড অপেক্ষা করতে হবে তা বলে। প্রতি-মিনিট রেট লিমিটের জন্য, Retry-After প্রায় এক মিনিট। দৈনিক কোটার জন্য, বডি একটি daily_quota_exceeded কোড সঙ্গে আপনার প্ল্যান, সীমা, used কাউন্ট, রিসেট সময় ও একটি আপগ্রেড ইঙ্গিত বহন করে, আর Retry-After মধ্যরাত UTC পর্যন্ত গণনা করে।
429 সামলানোর সঠিক উপায় হলো Retry-After বিলম্বের পর পিছিয়ে গিয়ে পুনরায় চেষ্টা করা, একনাগাড়ে এন্ডপয়েন্টে অনুরোধ পাঠাতে না থাকা। সুশৃঙ্খল ক্লায়েন্ট হেডার পড়ে থামে; যেসব ক্লায়েন্ট সঙ্গে সঙ্গে পুনরায় চেষ্টা করতেই থাকে তারা কেবল ব্লক থেকে যায়।
- 429 rate_limit_exceeded — আপনি খুব দ্রুত পাঠিয়েছেন; প্রায় এক মিনিট অপেক্ষা করুন।
- 429 daily_quota_exceeded — দিনটি ব্যবহৃত হয়ে গেছে; UTC রিসেট পর্যন্ত অপেক্ষা করুন বা আপগ্রেড করুন।
- পুনরায় চেষ্টার আগে সবসময় Retry-After হেডার সম্মান করুন।