Preskočiť na obsah

Rate limity

Frontmail obmedzuje, ako rýchlo možno posielať požiadavky, aby chránil vaše kredity pred zneužitím a vašich poskytovateľov pred nárazovou záťažou. Limity sa počítajú v pevných časových oknách (pri limite tarifu a kľúča jednosekundových, pri limite na IP adresu v okne, ktoré si nastavíte).

Všetky požiadavky organizácie spolu – s verejným aj súkromným kľúčom – zdieľajú limit, ktorý závisí od tarifu:

TarifPožiadavky za sekundu (na organizáciu aj na kľúč)Testovacie odoslania / deň
Free220
Starter520
Pro2020
Business 50k5020
Business 100k5020
Business 200k5020

Hromadná požiadavka sa do rate limitu počíta ako jedna požiadavka, ale každá správa v nej spotrebuje kredit – na hromadné odosielanie zo serverov používajte /v1/send-batch.

Požiadavky s verejným kľúčom sú navyše obmedzené podľa IP adresy klienta, aby jeden návštevník alebo bot nemohol vyčerpať limit celej organizácie. Predvolená hodnota je 10 požiadaviek za 60 sekúnd na IP adresu. Vlastník a administrátori ju menia v Zabezpečenie → Rate limit na IP adresu dvoma poľami, Požiadavky a Za (sekúnd) – stránka to zhrnie vetou Najviac N požiadaviek za M sekúnd z jednej IP adresy. Požiadavky so súkromným kľúčom sa podľa IP adresy neobmedzujú. Klientov s IPv6 počítame po sieťach /64 (blok, ktorý zvyčajne dostane jedna domáca alebo serverová prípojka), takže botovi nepomôže striedať adresy vnútri neho. Adresu klienta berieme z CDN Frontmailu; požiadavky, ktoré sa ju snažia obísť, odmietame.

Požiadavky sa počítajú aj po jednotlivých kľúčoch, s rovnakým limitom za sekundu ako pri tarife.

Pri požiadavkách s verejným kľúčom sa do limitov tarifu a kľúča (aj do detekcie anomálií) počítajú len požiadavky, ktoré prešli vyhľadaním šablóny a – ak ju šablóna vyžaduje – kontrolou CAPTCHA. Záplavu neplatných požiadaviek (neexistujúce template_id, chýbajúci token Turnstile) odmietneme bez toho, aby spotrebovala limit, ktorý potrebujú vaši skutoční návštevníci; na také požiadavky platí len veľkorysá poistka proti záplave (najmenej 50 požiadaviek za sekundu na organizáciu). Každému serveru alebo úlohe dajte vlastný súkromný kľúč: keď sa niektorý z nich začne správať čudne, uvidíte to v Zabezpečenie → Súkromné kľúče (Naposledy použitý) a môžete zneplatniť len ten jeden kľúč.

API odpovie 429 rate_limited s hlavičkou Retry-After v sekundách. SDK automaticky počkajú a požiadavku zopakujú (ak je Retry-After najviac 60 sekúnd). Požiadavky odmietnuté pre rate limit nespotrebujú kredity.

HTTP/1.1 429 Too Many Requests
Retry-After: 2
{ "error": { "code": "rate_limited", "message": "Too many requests.", "docs_url": "https://docs.frontmail.dev/reference/errors/#rate-limited" } }

Vlastné limity má aj váš e-mailový poskytovateľ (napríklad Amazon SES v režime sandbox povoľuje 1 správu za sekundu). Odosielač ich dodržiava tak, že doručovanie rozloží v čase – správy sa tak oneskoria, ale vaše požiadavky sa neodmietnu.

  • Detekcia anomálií spomalí náhle, nezvyčajné špičky požiadaviek s verejným kľúčom na jednu požiadavku za dve sekundy.
  • Nahrávanie cez predpodpísané URL s verejným kľúčom (POST /v1/uploads) má denný limit objemu na organizáciu (200 × limit príloh vášho tarifu).
  • Voľba limitRate v SDK obmedzí jeden konkrétny prehliadač (pozrite Ochrana pred botmi).
  • Edge vrstva (CloudFront + AWS WAF) zablokuje záplavy požiadaviek skôr, ako sa dostanú k API.
  • Dashboard má vlastné limity na používateľa, napr. 10 testovacích odoslaní za minútu navyše k dennému limitu testovacích odoslaní z tabuľky vyššie.