Idempotency-Key, X-Request-Id a retry alebo deduplikáciu webhookov.
HTTP chyby a error responses
401alebo iná auth chyba znamená, že request nemá použiteľný bearer token. Typicky ide o chýbajúci, neplatný alebo revokovaný token.403znamená, že token alebo firma nemá oprávnenie na danú operáciu.404znamená, že resource v aktuálnom firemnom kontexte neexistuje.429znamená, že firma prekročila Fintoro API rate limit.422znamená validačnú chybu request payloadu alebo query parametrov.500znamená neočakávanú internú chybu.503znamená dočasne nedostupnú službu alebo závislosť.
/api/public/* vraciame ako JSON aj vtedy, keď request nepošle Accept: application/json. Toto pravidlo sa týka aj route-level 404 a neočakávaných interných chýb. Úspešné download endpointy, ktoré vracajú PDF alebo iný binárny obsah, tým nie sú dotknuté a naďalej vracajú svoj pôvodný Content-Type.
Rate limiting
- Fintoro API štandardne obmedzujeme na
120 requestov za minútu na firmu. - Limit sa počíta na úrovni firmy, nie na úrovni jednotlivých tokenov. Viac tokenov tej istej firmy teda zdieľa jeden spoločný budget.
- Všetky throttled endpointy vracajú hlavičky
X-RateLimit-LimitaX-RateLimit-Remainingaj pri úspešných response-och. - Pri prekročení limitu vraciame
429 Too Many Requests; táto odpoveď nesie tie istéX-RateLimit-LimitaX-RateLimit-Remaininghlavičky a navyše pridávaRetry-AfteraX-RateLimit-Reset. - Ak Vaša integrácia potrebuje vyšší limit, ponúkame aj individuálne enterprise nastavenia a obchodné podmienky. Kontaktujte nás na info@fintoro.sk.
Idempotency-Key a bezpečné retry
Pri create operáciách odporúčame posielaťIdempotency-Key, ak ho daný endpoint podporuje. Ak zopakujete rovnaký create request s rovnakým key a rovnakým payloadom, backend vráti pôvodný výsledok namiesto druhého vytvorenia.
Idempotency-Key použijete s iným payloadom, endpoint request odmietne. Presný status a error payload si overte v dokumentácii konkrétneho endpointu.
Bez Idempotency-Key považujte automatický retry write requestov za rizikový, pretože pri sieťovej chybe alebo timeout-e nemusíte vedieť rozlíšiť, či backend zápis vykonal. Pri 500 a 503 považujte retry za bezpečný len vtedy, keď používate Idempotency-Key a nechcete riskovať duplicitný zápis.
X-Request-Id a diagnostika
Fintoro vraciaX-Request-Id, ktorý odporúčame ukladať do logov Vašej integrácie. Keď riešite incident, podporu alebo audit, práve tento identifikátor výrazne skracuje dohľadanie requestu a párovanie s našimi internými logmi.
Webhook retry a deduplikácia
Ak používate webhooky, rátajte s modelom doručenia at-least-once:- non-
2xxodpoveď, timeout alebo sieťové zlyhanie spôsobia opakovaný pokus o doručenie, - ten istý
webhook-idmôže prísť opakovane, - prijímač webhookov musí deduplikovať a bezpečne spracovať znovu doručený event.
- ukladať
webhook-idešte pred následným spracovaním, - vracať
2xxaž po úspešnom prijatí a zaradení vlastnej úlohy do fronty, - vracať non-
2xxlen vtedy, keď chcete, aby Fintoro request zopakovalo.
Implementačný checklist
- generujte
Idempotency-Keytak, aby bol stabilný pre jeden business pokus o create, - nemiešajte produkčné a sandbox tokeny ani ich request logy,
- pri validačných chybách pracujte s detailom response payloadu a opravte request podľa vrátených chýb,
- pri
429rešpektujteRetry-Aftera rate-limit hlavičky namiesto agresívnych retry slučiek, - ukladajte si
X-Request-Idpre support, audit a incidenty, - prijímač webhookov navrhnite idempotentne a s deduplikáciou podľa
webhook-id.

