Limity požiadaviek a opakovania

120 čítaní, 30 zápisov a 10 operácií elektronickej fakturácie za minútu na credential, s hlavičkami X-RateLimit-*.

120 čítaní, 30 zápisov a 10 operácií elektronickej fakturácie za minútu na credential, s hlavičkami X-RateLimit-*.

← Späť na dokumentáciu API

Prvá faktúra v 6 krokoch

  1. Limity platia na prístupové údaje a minútu: 120 čítaní, 30 zápisov, 10 operácií elektronickej fakturácie.
  2. Kvóta pre operácie elektronickej fakturácie pokrýva efactura/submit, submissions/{id}/refresh a efactura/inbox/sync.
  3. Každá odpoveď obsahuje X-RateLimit-Limit, X-RateLimit-Remaining a X-RateLimit-Reset, vrátane 429.
  4. 429 vám dá Retry-After v sekundách; pred opakovaním počkajte tak dlho.

Čo je 4invoices API

http
HTTP/2 429
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1785312000
Retry-After: 17
Content-Type: application/json

{"error":{"type":"rate_limit_error","code":"rate_limit_exceeded",
 "message":"...","doc_url":"https://4invoices.net/ro/api-dezvoltatori#errors",
 "request_id":"req_..."}}
javascript
// Rešpektujte Retry-After; nikdy neopakujte 4xx okrem 429.
async function call(url, init, attempt = 0) {
  const res = await fetch(url, init);
  if (res.status === 429 || res.status >= 500) {
    if (attempt >= 5) return res;
    const retryAfter = Number(res.headers.get("Retry-After")) || 2 ** attempt;
    await new Promise((r) => setTimeout(r, retryAfter * 1000));
    return call(url, init, attempt + 1);
  }
  return res;
}

// Opakovaný zápis MUSÍ použiť ROVNAKÝ Idempotency-Key, inak vystavíte
// druhý fiškálny doklad.

https://api.4invoices.net/v1 · https://api.4invoices.net/v1/openapi.json

Limity požiadaviek

BucketPožiadaviek / minútuVýznam
read120GET *, POST /invoices/preview-totals, POST /invoices/{id}/efactura/validate
write30POST /invoices, POST /invoices/{id}/storno, POST|DELETE /invoices/{id}/payments, POST /clients
submit10POST /invoices/{id}/efactura/submit, POST /efactura/submissions/{id}/refresh, POST /efactura/inbox/sync

Chyby

StavTypKód
429rate_limit_errorrate_limit_exceeded

Časté chyby

  • Kvóta 10 za minútu nie je svojvoľná: v Rumunsku samotný ANAF povoľuje zhruba jedno volanie zoznamu správ za minútu na CIF.
  • Pri opakovaní zápisu použite TEN ISTÝ Idempotency-Key, inak vystavíte druhý doklad.
  • Endpoint tokenu má samostatný limit na IP adresu. Token ukladajte do cache počas celej jeho hodinovej platnosti.
  • GET /v1/me zobrazí aktuálne kvóty prístupových údajov — užitočné pri kontrole stavu integrácie.
  • Potrebujete vyššie stropy? Napíšte nám cez stránku Kontakt a uveďte očakávaný denný objem.

Otázky a odpovede pre vývojárov

Platí limit na účet alebo na prístupové údaje?

Na prístupové údaje. Rozdelenie prevádzky medzi prístupové údaje pre jednotlivé systémy znamená, že hromadný import nemôže vyhladovať živý tok vášho e-shopu.

Aký backoff odporúčate?

Ak je prítomný, rešpektujte Retry-After, inak exponenciálny od 1–2 sekúnd s najviac 5 pokusmi. Žiadne tesné slučky.

Obsahuje aj 429 hlavičky X-RateLimit?

Áno. Posielame ich priamo v odpovedi 429, teda presne tam, kde ich klient potrebuje na výpočet pauzy.