सामग्री पर जाएं
PollsLive

डेवलपर गाइड

दर सीमाएं और त्रुटियां

PollsLive API प्रति-कुंजी दर सीमाएं लागू करता है और मशीन-पठनीय कोड के साथ एकसमान JSON त्रुटि ऑब्जेक्ट लौटाता है।

दर सीमाएं

सीमाएं प्रति API कुंजी (या प्रति OAuth क्लाइंट) प्रति मिनट लागू होती हैं। सीमा पार करने पर 429 Too Many Requests मिलता है।

एंडपॉइंट समूहसीमाविंडो
सभी /api/v1/ एंडपॉइंट120 अनुरोध1 मिनट
POST /api/v1/polls20 अनुरोध (120 के अतिरिक्त)प्रति कुंजी 1 मिनट
POST /api/v1/media30 अनुरोध1 मिनट
GET /api/v1/polls/{id}/export?format=pdf10 अनुरोधप्रति वर्कस्पेस 1 घंटा
POST /api/oauth/token10 अनुरोधप्रति client_id 1 मिनट

अपने इंटीग्रेशन के लिए अधिक सीमाएँ चाहिए? हमारी टीम से संपर्क करें।

एक साथ खुली लाइव सेशन एक अलग सीमा है, अनुरोध-दर सीमा नहीं: Free 1 कक्ष, Pro प्रति प्रस्तुतकर्ता लाइसेंस 1, Premium 2। सीमा पर पहुंचने पर session_limit कोड के साथ 403 मिलता है। दूसरा खोलने से पहले Studio से (या end के साथ POST /api/v1/sessions/{id}/control से) कोई कक्ष समाप्त करें।

दर सीमा हेडर

JSON प्रतिक्रियाओं में दर-सीमा मेटाडेटा हेडर होते हैं:

प्रतिक्रिया हेडर
X-RateLimit-Limit: 120
X-RateLimit-Window: 60s

सीमा पार करने पर rate_limited कोड के साथ 429 मिलता है। पुनःप्रयास से पहले रुकें। कोई Retry-After हेडर नहीं है।

त्रुटि प्रतिक्रिया प्रारूप

सभी API त्रुटियां एक JSON बॉडी लौटाती हैं जिसमें नेस्टेड error ऑब्जेक्ट होता है, जिसमें मशीन-पठनीय code और मानव-पठनीय message होते हैं:

मानक त्रुटि
HTTP/1.1 404 Not Found
Content-Type: application/json

{
  "error": {
    "code": "not_found",
    "message": "Poll not found."
  }
}

सत्यापन त्रुटियां त्रुटि ऑब्जेक्ट के भीतर details फ़ील्ड के साथ 422 लौटाती हैं:

सत्यापन त्रुटि
{
  "error": {
    "code": "validation_failed",
    "message": "Request validation failed.",
    "details": {
      "fieldErrors": { "title": ["String must contain at least 1 character(s)"] },
      "formErrors": []
    }
  }
}

OAuth टोकन त्रुटियां इसके बजाय RFC 6749 §5.2 प्रारूप का पालन करती हैं:

OAuth त्रुटि
{
  "error": "invalid_client",
  "error_description": "Invalid client credentials."
}

त्रुटि कोड

HTTP स्थितिcodeअर्थ
400invalid_jsonअनुरोध बॉडी मान्य JSON नहीं है
401missing_authorizationकोई Bearer टोकन नहीं दिया गया
401invalid_api_keyअज्ञात या गलत API कुंजी
401revoked_api_keyकुंजी रद्द कर दी गई थी
401expired_api_keyरोटेशन के बाद कुंजी समाप्त हो गई
401invalid_oauth_tokenOAuth टोकन अमान्य या समाप्त
402upgrade_requiredकार्रवाई के लिए सशुल्क प्लान (Pro या उससे ऊपर) चाहिए, या ऐसी सुविधा जो प्लान में शामिल नहीं है (जैसे PDF निर्यात)
403insufficient_scopeक्रेडेंशियल के पास वह स्कोप नहीं है जो यह एंडपॉइंट मांगता है
403session_limitवर्कस्पेस में पहले से उसके प्लान जितनी समवर्ती लाइव सेशन खुली हैं (POST /sessions)
404not_foundसंसाधन नहीं मिला
409already_votedइस voterId ने पोल पर पहले ही वोट कर दिया है (POST /votes)
409already_respondedइस मतदाता ने स्लाइड का उत्तर पहले ही दे दिया है (POST /responses)
422validation_failedअनुरोध बॉडी स्कीमा सत्यापन में विफल रही
429rate_limitedबहुत अधिक अनुरोध। विंडो रीसेट होने के बाद पुनःप्रयास करें
500internal_errorअप्रत्याशित सर्वर त्रुटि

पुनःप्रयास और प्रतीक्षा

उत्पादन एकीकरणों के लिए हम जिटर के साथ घातीय प्रतीक्षा रणनीति की सलाह देते हैं:

प्रतीक्षा के साथ पुनःप्रयास (JavaScript)
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    const res = await fetch(url, options);

    if (res.status === 429) {
      // PollsLive does not send Retry-After, so back off exponentially
      // (capped at one minute, the length of a rate-limit window).
      const backoff = Math.min(1000 * 2 ** attempt + Math.random() * 500, 60000);
      await new Promise((r) => setTimeout(r, backoff));
      continue;
    }
    if (res.status >= 500 && attempt < maxRetries) {
      const backoff = Math.min(1000 * 2 ** attempt + Math.random() * 500, 30000);
      await new Promise((r) => setTimeout(r, backoff));
      continue;
    }
    return res;
  }
  throw new Error("Max retries exceeded");
}

4xx त्रुटियों (429 को छोड़कर) पर पुनःप्रयास न करें: ये आपके अनुरोध में ऐसी समस्या बताती हैं जो दोहराने से हल नहीं होगी।

OAuth त्रुटि प्रारूप

टोकन एंडपॉइंट (POST /api/oauth/token) RFC 6749 प्रारूप में त्रुटियां लौटाता है:

errorअर्थ
invalid_requestअनुपस्थित या विकृत पैरामीटर
invalid_clientअज्ञात client_id या गलत client_secret
access_deniedक्लाइंट रद्द है, दर-सीमित है (429), या वर्कस्पेस Free प्लान पर है (402)
unsupported_grant_typeकेवल client_credentials समर्थित है

अभी भी कोई सवाल है?

हमारी टीम मदद करने में खुश होगी।

हमसे संपर्क करें

आपको साइन इन रखने और डुप्लिकेट वोट रोकने के लिए हम आवश्यक कुकीज़ का उपयोग करते हैं। आपकी अनुमति से, हम पेज व्यू गिनने के लिए Cloudflare Web Analytics और यह देखने के लिए Whop Pixel का भी उपयोग करते हैं कि कौन-सी विज़िट खरीद तक ले जाती हैं। कुकी नीति