Skip to main content
SmsManager vynucuje limity jak na počet příjemců, které můžete cílit v jednom API volání, tak na to, jak často můžete zahajovat ověřování telefonních čísel. Pochopení těchto limitů vám pomůže efektivně dávkovat požadavky.

Limity odesílacího API

Odesílací API obvykle nevynucuje pevný rate limit požadavků za sekundu pokud se jedná o účet, který je plně ověřen. V rámci jednoho HTTP požadavků můžete odeslat až:
Pokud potřebujete typicky jednu zprávu pro jednoho příjemce použijte POST /message na api.smsmngr.com (nebo variance pro HTTP GET/POST na /simple/message). Zpráva je přijata okamžitě do fronty a je bezprostředně zahájeno její zpracování.
Pokud potřebujete nárazově velké počty zpráv, kde je zdrojem interní fronta nebo seznam událostí (který např. průběžně vzniká), dává smysl využít POST /messages na api.smsmngr.com, který je přizpůsoben na téměř neomezenou propustnost.
Pokud nárazově potřebujete odeslat velké množství zpráv (typicky kampaň nebo hromadná zpráva) použijte POST /messaging/url na rest-api.smsmngr.com protože máte možnost jednoduše si vygenerovat všechna odesílání a nahrát je jedním požadavkem. Drobné zpoždění začátku zpracování hraje ve velkém množství příjemců zanedbatelnou roli a odeslání požadavků je mnohem jednodušší. Podrobný postup najdete v návodu Hromadné nahrání souboru přes REST API. Pro vyhrazenou kapacitu kontaktujte podporu SmsManager.
Odpověď 200 neznamená, že každá zpráva byla odeslána. Zkontrolujte pole rejected v těle odpovědi pro identifikaci příjemců, kteří nebyli přijati v rámci volání.Úvodní potvrzení pouze potvrzuje přijetí zprávy. Asynchronně je kontrolován kredit, obsah zprávy nebo platnost příjemců. O výsledku odesílání se spolehlivě dozvíte výhradně z callback webhooku.

Rate limity Verify API

Verify API implementuje víceúrovňový rate limiting pro prevenci zneužití a ochranu vašeho účtu i jednotlivých uživatelů. Limity jsou vynucovány současně na dvou úrovních:
  • Per účet (tenant): Omezuje celkový počet nových validačních sessionů, které váš účet může zahájit v rolling okně. Chrání vaši celkovou kvotu.
  • Per telefonní číslo: Zabraňuje zahlcení jednoho telefonního čísla ověřovacími kódy omezením počtu sessionů, které lze zahájit pro dané číslo v časovém okně.
Při překročení kteréhokoli z těchto limitů API vrací odpověď HTTP 429 s jedním z následujících chybových kódů v těle odpovědi:

Zpracování rate limitů

Když obdržíte odpověď 429, neměli byste ihned opakovat. Použijte exponenciální backoff s jitterem k rozprostření opakování a vyhnutí se stampede podmínkám.

Limity pokusů o ověření

Každá validační session (zahájená přes POST /v1/validations) povoluje omezený počet pokusů o ověření kódu před uzamčením. Jakmile session dosáhne maximálního počtu neuspěšných pokusů, následující volání POST /v1/validations/{token}/verify vrací HTTP 429 se zprávou "Too many attempts". V tom okamžiku musíte zahájit novou validační session.
Zobrazte uživatelům počítadlo pokusů (pole attemptsRemaining je vraceno v chybových odpovědích), aby věděli, kolik pokusů zbývá před vypršením session. To snižuje frustraci a zbytečná API volání.
Neopakujte automaticky neuspěšné ověření kódu v těsné smyčce — každý neuspěšný pokus spotřebuje jeden z omezených pokusů session. Vyzvěte uživatele k ručnímu opětovnému zadání kódu.