रेट लिमिट और आइडेम्पोटेंसी
आइडेम्पोटेंसी
Section titled “आइडेम्पोटेंसी”किसी POST को रीट्राई करने के लिए सुरक्षित बनाने हेतु उस पर Idempotency-Key हेडर भेजें। हर ऑपरेशन के लिए एक नया, यूनिक मान
इस्तेमाल करें (एक UUID, या आपके अपने सिस्टम की कोई id, जैसे onboarding-8841): 1 से 255 प्रिंट किए जा सकने वाले ASCII
वर्ण।
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 के आधार पर डुप्लिकेट रोकना
Section titled “अपनी id के आधार पर डुप्लिकेट रोकना”आइडेम्पोटेंसी कुंजियाँ एक अनुरोध के रीट्राई की सुरक्षा करती हैं। यह पक्का करने के लिए कि कोई बिज़नेस ऑब्जेक्ट कभी सिर्फ़ एक बार भेजा जाए,
अपनी id और dedupeOn भी भेजें:
{ "template": "tpl_…", "externalId": "user_8841", "dedupeOn": "external_id", "…": "…" }अगर उस externalId वाला लिफ़ाफ़ा पहले से मौजूद है (उसी मोड में), तो POST /v1/envelopes नया लिफ़ाफ़ा बनाने के बजाय उसे
200 और x-deduplicated: true के साथ लौटाता है। यह अलग-अलग कुंजियों, दिनों और एक साथ चल रहे
अनुरोधों पर भी लागू होता है।
रेट लिमिट
Section titled “रेट लिमिट”ऑथेंटिकेटेड 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 हेडर के साथ।