API और AI असिस्टेंट/सीमाएँ और एरर

सीमाएँ और एरर

API की रिक्वेस्ट सीमाएँ और रेट लिमिट हेडर, हर एरर कोड का मतलब, और वैल्यू व पेज कैसे काम करते हैं.

रिक्वेस्ट की सीमाएँ

सीमावैल्यू
प्रति मिनट60 रिक्वेस्ट
प्रति दिन10,000 रिक्वेस्ट

दोनों पूरे अकाउंट के लिए गिनी जाती हैं: आपकी सभी कुंजियाँ और कनेक्ट किए गए AI असिस्टेंट मिलकर.

  • मिनट वाली सीमा लगातार भरती रहती है: हर सेकंड एक रिक्वेस्ट वापस मिलती है, 60 तक.
  • दिन वाली सीमा 24 घंटे की अवधि है, कैलेंडर का दिन नहीं. X-RateLimit-Reset-Day हेडर बताता है कि यह कब खत्म होती है.

रेट लिमिट हेडर

मान्य कुंजी वाली रिक्वेस्ट के हर जवाब में ये हेडर होते हैं:

हेडरमतलब
X-RateLimit-Limitप्रति मिनट मंज़ूर रिक्वेस्ट (60)
X-RateLimit-Remainingअभी बची हुई रिक्वेस्ट
X-RateLimit-Resetमिनट वाली सीमा फिर से पूरी भरने में बचे सेकंड
X-RateLimit-Limit-Dayप्रति दिन मंज़ूर रिक्वेस्ट (10,000)
X-RateLimit-Remaining-Dayआज बची हुई रिक्वेस्ट
X-RateLimit-Reset-Dayदिन वाली अवधि खत्म होने में बचे सेकंड

सीमा पूरी होने पर जवाब 429 rate_limited होता है, साथ में Retry-After हेडर: उतने सेकंड रुकें, फिर रिक्वेस्ट दोबारा भेजें.

हर जवाब में, एरर हो या न हो, X-Request-Id भी होता है.

एरर का स्वरूप

एरर स्टैंडर्ड “problem details” फ़ॉर्मेट (application/problem+json) में होते हैं:

{
  "type": "https://gloriads.com/docs/api/errors#invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "limit must be between 1 and 100.",
  "issues": [
    {
      "path": "limit",
      "code": "invalid_value",
      "message": "limit must be between 1 and 100."
    }
  ],
  "request_id": "req_8fK2mQ7xLp3nR9sT1vWy"
}
  • अपनी स्क्रिप्ट में code जाँचें. यह कभी नहीं बदलता; detail लोगों के लिए लिखा जाता है और उसके शब्द बदल सकते हैं.
  • issues हर अमान्य पैरामीटर की लिस्ट देता है. यह सिर्फ़ invalid_request पर आता है.
  • सपोर्ट से संपर्क करते समय request_id बताएँ.

एरर कोड

invalid_request · 400 — कोई पैरामीटर मान्य नहीं है: अनजान वैल्यू, सीमा से बाहर की संख्या, या ऐसा पेज कर्सर जो हमारा नहीं है. issues बताता है कि कौन-सा पैरामीटर और क्यों.

api_key_in_query · 400 — कुंजी URL में भेजी गई. इसे Authorization हेडर में भेजें, और उस कुंजी को रिवोक करें: हो सकता है वह पहले ही किसी लॉग में पहुँच गई हो.

unauthorized · 401 — कोई कुंजी नहीं, या कुंजी गलत है या रिवोक हो चुकी है. जवाब जान-बूझकर नहीं बताता कि इनमें से कौन-सी बात है.

subscription_inactive · 403 — अकाउंट का सब्सक्रिप्शन खत्म हो गया है. सब्सक्रिप्शन चालू होते ही API फिर से काम करने लगता है.

insufficient_scope · 403 — कुंजी को पढ़ने की अनुमति नहीं है. आज बनाई गई हर कुंजी पढ़ सकती है, इसलिए आपको यह कोड कभी नहीं दिखना चाहिए.

not_found · 404 — इस पाथ पर कोई एंडपॉइंट नहीं है, या आपने जो माँगा है वह आपके अकाउंट में मौजूद नहीं है. किसी दूसरे अकाउंट की चीज़ को भी यही जवाब मिलता है.

method_not_allowed · 405 — API सिर्फ़ GET का जवाब देता है, क्योंकि यह सिर्फ़ पढ़ने के लिए है. Allow हेडर बताता है कि यह क्या स्वीकार करता है.

amazon_not_connected · 409 — /targets, /ads और /reports/streaming-tv उसी समय Amazon पढ़ते हैं जब आप माँगते हैं, और Amazon Ads कनेक्ट नहीं है या उसे फिर से कनेक्ट करना ज़रूरी है. इसे Gloriads में, सेटिंग → Amazon Ads में ठीक करें.

rate_limited · 429 — कोई सीमा पूरी हो गई है. Retry-After में दिए गए सेकंड तक रुकें.

internal_error · 500 — हमारी तरफ़ कुछ फ़ेल हो गया. बाद में फिर से कोशिश करें; अगर यह बार-बार हो, तो हमें request_id भेजें.

amazon_unavailable · 502 — Amazon ने /targets, /ads या /reports/streaming-tv का जवाब नहीं दिया, या Streaming TV रिपोर्ट नहीं बना सका. कुछ मिनट बाद फिर से कोशिश करें.

timeout · 504 — जवाब में 30 सेकंड से ज़्यादा लगे. एक बार में कम डेटा माँगें.

वैल्यू और पेज

  • null का मतलब है “मौजूद नहीं है”, शून्य कभी नहीं.
  • लंबी लिस्ट पेज में आती हैं. limit पेज का साइज़ तय करता है: 1 से 100 तक (डिफ़ॉल्ट 50), या कैम्पेन और ऐड ग्रुप के लिए 1,000 तक (डिफ़ॉल्ट 100). जब has_more का मान true हो, तो अगला पेज पाने के लिए next_cursor को cursor के रूप में वापस भेजें.
  • कोई पेज limit से छोटा हो सकता है, जब कोई फ़िल्टर कम पंक्तियाँ रखता है (एक कैम्पेन के ऐड ग्रुप). has_more के false होने तक next_cursor फ़ॉलो करते रहें.