Mik a korlátozások (rate limit)?

Utolsó frissítés: 3 hónappal ezelőtt

Jelenleg nem alkalmazunk szigorú, másodpercenkénti kérésekre vonatkozó korlátokat. Ugyanakkor elvárjuk a méltányos használatot annak érdekében, hogy mindenki számára megfelelő maradjon a szolgáltatás minősége.

Jelenlegi megközelítés

Ahelyett, hogy kemény korlátokat vezetnénk be, felelős használatra ösztönzünk:

  • Ésszerűen oszd el a kéréseket

  • Hibák esetén alkalmazz exponenciális visszalépést (exponential backoff)

  • Cache-eld a válaszokat a felesleges, ismétlődő hívások elkerüléséhez

  • Ha nagy forgalomra számítasz, vedd fel velünk a kapcsolatot

Legjobb gyakorlatok

Használj agresszív cache-t:

  • Tárold el a keresési eredményeket a gyakori lekérdezésekhez

  • A lekérés után tartsd helyben a média metaadatait

  • Ne hívd meg többször ugyanarra a felhasználóra/erőforrásra a /confirm végpontot

Futtasd együtt a műveleteket (batch):

  • Csoportosítsd az összetartozó kéréseket

  • Kis késleltetéseket alkalmazz a batch-ek között

  • Korlátozd a párhuzamos kapcsolatokat (a 10–20 ésszerű)

Kezeld a hibákat körültekintően:

  • Implementálj újrapróbálási logikát exponenciális visszalépéssel

  • Ne próbáld azonnal újra hiba esetén

  • Rögzítsd a hibákat a monitorozáshoz

Várható válaszidők

  • /resources keresés: jellemzően 200–500 ms

  • /resource részletek: 100 ms alatt

  • /confirm licencelés: 300–800 ms

Állítsd be az ügyfél oldali timeout-ot legalább 30 másodpercre, hogy a ritkán lassabb válaszokat is kezelni tudd.

Ha elérsz korlátokat

Egy 429 Too Many Requests hibát kapsz. Ilyenkor:

// Implement exponential backoff
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      const response = await fetch(url, options);
      
      if (response.status === 429) {
        const waitTime = Math.pow(2, i) * 1000; // 1s, 2s, 4s
        await new Promise(resolve => setTimeout(resolve, waitTime));
        continue;
      }
      
      return response;
    } catch (error) {
      if (i === maxRetries - 1) throw error;
    }
  }
}

Monitorozd a használatodat

Az API-tevékenységet itt követheted: Beállítások → API:

  • Lásd az összes elküldött kérést

  • Ellenőrizd az aktív licenc(ek)et

  • Tekintsd át a használati trendeket

  • Figyeld a szokatlan mintázatokat

Nagyobb korlátokra van szükséged?

Ha a jogos felhasználási eseted nagy kérésszámot igényel (>1M kérés/hónap), vedd fel csapatunkkal a kapcsolatot, hogy megbeszéljük:

  • Az alkalmazásod és a forgalmi mintázatok

  • Várható kérésszám

  • Szükség esetén garantált sebességkorlátok

Hasznos volt ez a cikk?