ÚvodPlatformaCeníkOtázkyNápovědaKontakt Kivea FlexiKivea PohodaKivea účetnictvíKivea fakturace Vyzkoušet zdarma

Co je to?

Poznámka správce: Toto je systém “řízení provozu” pro data vašeho e-shopu. Stanovuje limity pro počet požadavků, které lze do systému odeslat najednou, aby bylo zajištěno, že vše poběží hladce a rychle pro všechny.

Pro koho je to určeno? Administrátoři by si to měli přečíst, aby porozuměli zásadám používání platformy. Můžete nastavit vlastní limity pro konkrétní nástroje nebo partnery, abyste zabránili tomu, že by jedna integrace “zabírala” všechny zdroje. Vaši vývojáři budou používat technické podrobnosti zde, aby zajistili, že jejich kód bude respektovat tyto limity a správně zpracovávat signály “zaneprázdněnosti”.

Klíčové výhody pro e-shop:

  • Zaručená stabilita: Zabraňte zpomalení nebo zhroucení vašeho e-shopu, pokud externí nástroj začne odesílat příliš mnoho požadavků najednou.
  • Spravedlivé sdílení zdrojů: Zajistěte, aby všechny vaše různé aplikace a integrace získaly spravedlivý podíl na “výkonu” systému.
  • Inteligentní řízení provozu: Systém automaticky “zpomalí” požadavky, když je provoz velký, namísto toho, aby selhal, a poskytuje tak plynulejší zážitek.
  • Kontrola nákladů a využití: Monitorujte a omezujte, kolik vaše různé integrace využívají systém, abyste udrželi efektivní infrastrukturu.

Přehled

Omezení rychlosti řídí, kolik požadavků API lze provést v určitém časovém okně. To pomáhá chránit vaši infrastrukturu před zneužitím, zajišťuje spravedlivé používání mezi uživateli a udržuje výkon systému.

**Klíčové výhody**
- Zabránění zneužití API a nadměrnému používání
- Zajištění spravedlivého přidělování zdrojů mezi uživateli
- Udržování výkonu a stability systému
- Elegantní zpracování s automatickými opakováními

Hierarchie omezení rychlosti

Omezení rychlosti lze konfigurovat na různých úrovních, přičemž přednost mají konkrétnější omezení.

card: 1. Úroveň tenanta
icon: user
**Výchozí: 360/m**
Základní omezení rychlosti platí pro všechny požadavky v rámci tenanta. Toto je nejširší úroveň kontroly.
card: 2. Úroveň organizace
icon: building
**Výchozí: 120/m**
Omezení rychlosti platí pro požadavky v rámci konkrétní organizace. Uživatelé si to mohou nakonfigurovat tak, aby omezili spotřebu kvóty tenanta jejich organizací.
card: 3. Úroveň klíče API
icon: key
**Vlastní**
Nejkonkrétnější omezení rychlosti platí pro jednotlivé klíče API. To umožňuje jemnozrnnou kontrolu nad konkrétními integracemi nebo uživateli.
**Důležitá poznámka**
Omezení rychlosti klíče API umožňují uživatelům omezit své vlastní využití, aby se zabránilo spotřebování celé kvóty organizace nebo tenanta. Nastavení nižšího limitu pomáhá předcházet náhodné nadměrné spotřebě.

Formát omezení rychlosti

Omezení rychlosti jsou určena pomocí jednoduchého formátu: číslo/časová jednotka. Více limitů lze kombinovat pomocí čárek, aby se současně vynucovala různá časová okna.

Syntaxe

Jeden limit:

{number}/{timeunit}

Více limitů (všechny vynuceny):

{number}/{timeunit}, {number}/{timeunit}, ...
**Více omezení rychlosti**
Pokud je zadáno více limitů, VŠECHNY limity jsou vynuceny současně. Požadavek bude omezen, pokud bude překročen KTERÝKOLI z limitů.

Příklad: `32/s, 120/m, 1000/h, 10000/d`

Toto vynucuje: max. 32 za sekundu A max. 120 za minutu A max. 1000 za hodinu A max. 10000 za den

Časové jednotky

Jednotka Popis
s Sekundy
m Minuty
h Hodiny
d Dny

Příklady

Formát Popis
120/m 120 požadavků za minutu
1000/h 1000 požadavků za hodinu
50/s 50 požadavků za sekundu
5/s, 100/m 5/sek A 100/min
10/s, 500/h, 5000/d Vrstvené omezení rychlosti

Hlavičky omezení rychlosti

API vrací informace o omezení rychlosti prostřednictvím hlaviček HTTP v každé odpovědi.

Hlavička Popis Příklad
X-RateLimit-Limit Celkový počet požadavků povolených v aktuálním časovém okně 120
X-RateLimit-Remaining Počet požadavků zbývajících v aktuálním časovém okně 75
X-RateLimit-Used Počet požadavků, které již byly provedeny v aktuálním časovém okně 45
X-RateLimit-Reset Časové razítko Unix, kdy se aktuální okno omezení rychlosti resetuje 1693829400
X-RateLimit-Policy Aktuálně platná zásada omezení rychlosti 120/m
Retry-After Počet sekund, které je třeba počkat před provedením dalšího požadavku (pouze v odpovědích 429) 30

Zpracování odpovědi 429

Když jsou překročena omezení rychlosti, API vrátí stavový kód 429 s informacemi o opakování.

Příklad odpovědi 429

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Used: 120
X-RateLimit-Reset: 1693829400
X-RateLimit-Policy: 120/m
Retry-After: 30

{
  "error": "Rate limit exceeded (120/m). Please try again in 30 seconds."
}

Automatické zpomalení serveru

**Automatické zpomalení serveru**
Při přiblížení se k omezením rychlosti server automaticky spravuje tok požadavků:
- Pokud je čekací doba na omezení rychlosti kratší než 5 sekund, server zpozdí zpracování požadavku namísto odmítnutí
- To poskytuje plynulejší zážitek pro vzorové přenosy
- Požadavky jsou zpracovány úspěšně, ale s prodlouženou dobou odezvy

Automatické zpracování klientem

**Automatické zpracování klientem**
Naše klientské knihovny automaticky zpracovávají odpovědi 429:
- Automaticky opakují požadavky po zadaném zpoždění
- Respektují hlavičku Retry-After pro optimální načasování
- Implementují exponenciální zpětné odložení pro opakované selhání
- Zaznamenávají pokusy o opakování pro účely ladění

Doporučené postupy

Dělejte

  • Monitorujte hlavičky omezení rychlosti v odpovědích
  • Implementujte správnou logiku opakování s exponenciálním zpětným odložením
  • Nastavte konzervativní limity klíče API pro externí integrace
  • Ukládejte odpovědi API do mezipaměti, pokud je to možné, abyste snížili objem požadavků
  • Používejte dávkové operace ke snížení celkového počtu požadavků

Nedělejte

  • Ignorujte odpovědi 429 bez implementace opakování
  • Provádějte nadměrné paralelní požadavky
  • Nastavujte limity klíče API vyšší než limity organizace
  • Opakujte okamžitě bez respektování hlaviček Retry-After
  • Předpokládejte, že omezení rychlosti jsou stejná pro všechny koncové body