Telm měří API dvěma způsoby: rychlostním limitem za minutu (strop pro nárazy) a denní kvótou (váš celkový rozpočet na UTC den). Oba se škálují s tarifem. Každá měřená odpověď vrací X-Quota-Limit, X-Quota-Used a X-Quota-Reset, takže vždy znáte svůj zbývající rozpočet, a oba limity při překročení vracejí 429 s hlavičkou Retry-After.
1Dva limity: rychlost za minutu a denní kvóta
Existují dva samostatné stropy. Rychlostní limit za minutu omezuje, kolik požadavků můžete provést v rámci jedné minuty, čímž vyhlazuje nárazy. Denní kvóta je váš celkový rozpočet: omezuje, kolik měřených volání můžete provést za celý UTC den.
Jsou nezávislé. Můžete narazit na limit za minutu, a přitom mít stále spoustu zbývající denní kvóty (jen posíláte příliš rychle), nebo vyčerpat denní kvótu, přičemž jste hluboko pod limitem za minutu (den jste spotřebovali). Oba vracejí stav 429, ale z různých důvodů — abyste je rozlišili, zkontrolujte kód chyby v těle.
- Rychlostní limit za minutu — strop pro nárazy, resetuje se každou minutu.
- Denní kvóta — vaše celková měřená volání za den, resetuje se o půlnoci UTC.
- Kvóta se počítá jednou na účet, sdílená napříč všemi vašimi klíči.
2Denní kvóta podle tarifu
Vaše denní kvóta je počet měřených volání API, která můžete provést za UTC den, a závisí na vašem tarifu. Čítač je sdílený napříč všemi vašimi klíči a řídí se nejlepším tarifem mezi skupinami, které spravujete — bez placeného předplatného jste na úrovni Free.
Oknem je UTC kalendářní den, takže se váš spotřebovaný čítač resetuje na nulu o půlnoci UTC. Dávková kontrola spamu stojí jedno volání na položku v dávce, nikoli jedno volání za celý požadavek.
- Free — 100 volání za den.
- Basic — 1 000 volání za den.
- Pro — 10 000 volání za den.
- Business — 50 000 volání za den.
3Rychlostní limit za minutu podle tarifu
Nad rámec denní kvóty je každý API klíč omezen na počet požadavků za minutu podle své úrovně tarifu. Je to vyhlazovací limit: brání jedinému klientovi poslat obrovský špičkový náraz během jedné sekundy, i když je denní rozpočet zdaleka nevyčerpaný.
Samostatně platí napříč celým API široké stropy na IP a na účet, aby platforma zůstala stabilní. Při běžném použití — vyrovnaných, odměřených požadavcích — se jich nikdy nedotknete; spouštějí se pouze při zneužívajících nárazech.
- Free a Basic — 60 požadavků za minutu.
- Pro — 600 požadavků za minutu.
- Business — 1 800 požadavků za minutu.
- Rozprostřete požadavky, místo abyste je vypálili všechny najednou.
4Čtení zbývajícího rozpočtu
Nikdy nemusíte hádat, kolik kvóty zbývá. Každá měřená odpověď — úspěch i selhání — obsahuje tři hlavičky: X-Quota-Limit (váš denní limit), X-Quota-Used (kolik volání jste dnes spotřebovali) a X-Quota-Reset (okamžik v UTC, kdy se čítač resetuje).
Koncové body pro kontrolu spamu tatáž čísla také odrážejí uvnitř těla odpovědi pod objektem quota, takže si můžete přečíst svůj zbývající rozpočet bez parsování hlaviček. Použijte je k odměřování vlastních požadavků a k varování sebe sama, než vám dojde.
- X-Quota-Limit — váš denní limit volání.
- X-Quota-Used — volání spotřebovaná dosud dnes.
- X-Quota-Reset — čas resetu v UTC (RFC 3339).
- Odpovědi kontroly spamu obsahují i objekt quota se stejnými poli.
5Co se stane při 429
Když překročíte kterýkoli limit, API vrací HTTP 429 s hlavičkou Retry-After, která vám říká, kolik sekund čekat. Pro rychlostní limit za minutu je Retry-After zhruba minuta. Pro denní kvótu tělo nese kód daily_quota_exceeded plus váš tarif, limit, spotřebovaný počet, čas resetu a nápovědu k upgradu a Retry-After odpočítává do půlnoci UTC.
Správný způsob, jak zpracovat 429, je ustoupit a zopakovat po zpoždění Retry-After, nikoli bušit do koncového bodu. Slušně se chovající klienti čtou hlavičku a pauzují; klienti, kteří okamžitě opakují, jen zůstávají zablokovaní.
- 429 rate_limit_exceeded — posílali jste příliš rychle; čekejte zhruba minutu.
- 429 daily_quota_exceeded — den je spotřebovaný; čekejte na reset UTC nebo upgradujte.
- Před opakováním vždy respektujte hlavičku Retry-After.