Limity a opakování
Tarif
API je součástí placených tarifů Plus a Neomezeně. Doklady vystavené přes API se počítají do limitu tarifu stejně jako v aplikaci.
Počet požadavků
Limity platí pro celou firmu (všechny klíče a tokeny dohromady) a liší se podle tarifu:
| Tarif | Za minutu | Za kalendářní měsíc |
|---|---|---|
| Plus | 120 | 20 000 |
| Neomezeně | 240 | 200 000 |
Každá odpověď nese zbývající počty v hlavičkách X-RateLimit-Limit, X-RateLimit-Remaining (minuta)
a X-Quota-Limit, X-Quota-Remaining (měsíc). Po vyčerpání minuty dostane další požadavek
429 TooManyRequests, po vyčerpání měsíce 429 MonthlyQuotaExceeded; obojí s hlavičkou Retry-After
(sekundy do dalšího pokusu). Měsíc se počítá podle českého času a začíná znovu prvním dnem.
Při synchronizaci používejte pageSize=100 a updatedSince a o změnách se nechte informovat webhooky
místo častého dotazování.
Bezpečné opakování (Idempotency-Key)
Když spojení spadne uprostřed vytváření, nevíte, zda faktura vznikla. Pošlete proto u POST hlavičku
Idempotency-Key s vlastním jedinečným řetězcem, např. číslem objednávky:
POST /api/v1/invoices
Idempotency-Key: objednavka-2026-1042
Opakovaný požadavek se stejným klíčem do 24 hodin dostane původní odpověď (s hlavičkou Idempotent-Replayed: true)
a druhý doklad nevznikne. Stejný klíč s jiným tělem skončí 422 IdempotencyKeyReused. Odmítnutý požadavek (chyba ověření,
limit) klíč neobsadí, opravený ho může použít znovu. Funguje u vytváření dokladů, kontaktů, položek ceníku a úhrad.
Opakování po chybě
429a503: zopakujte po době zRetry-After.500,502a výpadek spojení: zopakujte s rostoucí pauzou (1 s, 2 s, 4 s…) a se stejnýmIdempotency-Key.4xxkromě429: neopakujte beze změny, požadavek je potřeba opravit.