বিষয়বস্তুতে যান

রেট লিমিট ও আইডেমপোটেন্সি

একটি POST নিরাপদে রিট্রাই করার উপযোগী করতে তাতে একটি Idempotency-Key হেডার পাঠান। প্রতিটি অপারেশনের জন্য একটি নতুন, অনন্য মান ব্যবহার করুন (একটি UUID, অথবা আপনার নিজের সিস্টেমের কোনো id, যেমন onboarding-8841): 1 থেকে 255টি মুদ্রণযোগ্য ASCII অক্ষর।

Terminal window
curl https://api.bonafidesign.com/v1/envelopes \
-H "Authorization: Bearer $BONA_FIDE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2f0e-1d0b-4c2a-9a59-3f1f1c7d2b11" \
-d @envelope.json
  • একটি কী-সহ প্রথম অনুরোধ স্বাভাবিকভাবে চলে এবং এর রেসপন্স 24 ঘণ্টার জন্য সংরক্ষিত হয়।
  • একই কী ও একই অনুরোধ (মেথড, পাথ, কোয়েরি ও বডি) দিয়ে রিট্রাই করলে সংরক্ষিত রেসপন্সটি Idempotent-Replayed: true হেডারসহ আবার পাওয়া যায়।
  • একই কী ভিন্ন অনুরোধের সঙ্গে দিলে হয় 422 idempotency-key-reused।
  • প্রথম অনুরোধ চলাকালীন রিট্রাই করলে হয় 409 idempotency-in-progress; একটু পরে আবার চেষ্টা করুন।
  • 5xx রেসপন্স সংরক্ষিত হয় না, তাই সার্ভার এররের পরে রিট্রাই করলে অনুরোধটি আবার চলে।

কী কলারের মধ্যেই সীমাবদ্ধ: যে সংস্থা এবং যে API কী (বা ড্যাশবোর্ড ব্যবহারকারী) সেগুলো পাঠিয়েছে। যে অপারেশনগুলো কী গ্রহণ করে, API রেফারেন্সে সেগুলো একটি Idempotency-Key হেডার প্যারামিটার দিয়ে চিহ্নিত, যেমন টেমপ্লেট তৈরি, ফাইল আপলোড, প্রকাশ, খাম তৈরি ও বাতিল, লিংক আবার পাঠানো, স্বাক্ষর সেশন তৈরি, স্বাক্ষর লিংক ও ওয়েবহুক এন্ডপয়েন্ট তৈরি, এবং ইভেন্ট আবার ডেলিভার করা।

আইডেমপোটেন্সি কী একটি অনুরোধের রিট্রাইকে সুরক্ষা দেয়। একটি ব্যবসায়িক অবজেক্ট যেন কেবল একবারই পাঠানো হয়, তা নিশ্চিত করতে নিজের id এবং dedupeOn-ও পাঠান:

{ "template": "tpl_…", "externalId": "user_8841", "dedupeOn": "external_id", "…": "…" }

সেই externalId-যুক্ত খাম আগে থেকেই থাকলে (একই মোডে), POST /v1/envelopes আরেকটি তৈরি না করে সেটিই 200 ও x-deduplicated: true-সহ ফেরত দেয়। এটি বিভিন্ন কী, দিন এবং একযোগে চলা অনুরোধের ক্ষেত্রেও প্রযোজ্য।

অথেন্টিকেটেড API-তে (API কী) আজ কোনো নির্দিষ্ট অনুরোধ-হারের সীমা নেই; পাঠানো সীমিত হয় আপনার প্ল্যান দিয়ে। সীমা প্রযোজ্য সেখানে, যেখানে অপব্যবহার সম্ভব:

কোথায় সীমা
POST /v1/public/verify প্রতি IP-তে প্রতি মিনিটে 60টি অনুরোধ
GET /v1/public/anchors…, /.well-known/bona-fide/* প্রতি IP-তে প্রতি মিনিটে 240টি অনুরোধ
GET /v1/sso/discover প্রতি IP-তে প্রতি মিনিটে 30টি অনুসন্ধান
স্বাক্ষরকারীর এককালীন কোড প্রতি সেশনে 15 মিনিটে 5টি কোড; প্রতি কোডে 5টি চেষ্টা
প্রাপককে আবার পাঠানো প্রতি প্রাপকের জন্য মিনিটে একবার
সবসময় চালু লিংক প্রতি লিংকে: perEmailPerDay (ডিফল্ট 3), perIpPerHour (ডিফল্ট 20), ঐচ্ছিক dailyCap
ড্যাশবোর্ডে পাসওয়ার্ড দিয়ে সাইন-ইন প্রতি IP-তে প্রতি মিনিটে 10; প্রতি ইমেইল ঠিকানায় 15 মিনিটে 10
ড্যাশবোর্ডে পাসওয়ার্ড দিয়ে সাইন-আপ প্রতি IP-তে প্রতি মিনিটে 5; প্রতি ইমেইল ঠিকানায় প্রতি ঘণ্টায় 5
পাসওয়ার্ড রিসেট ইমেইল প্রতি IP-তে 15 মিনিটে 5; প্রতি ইমেইল ঠিকানায় প্রতি ঘণ্টায় 3
ড্যাশবোর্ড সাইন-ইন কোড প্রতি IP-তে প্রতি মিনিটে 3

সীমাযুক্ত পাবলিক এন্ডপয়েন্ট RateLimit-Limit, RateLimit-Remaining ও RateLimit-Reset (সেকেন্ড) হেডার পাঠায়। সীমা পেরোলে API একটি rate-limited problem-সহ 429 দেয়, সাধারণত সেকেন্ডে একটি Retry-After হেডারসহ।