Užklausų limitai ir pakartojimai

120 skaitymų, 30 rašymų ir 10 e. sąskaitų faktūrų sistemos operacijų per minutę vienam prieigos duomenų rinkiniui, su X-RateLimit-* antraštėmis.

120 skaitymų, 30 rašymų ir 10 e. sąskaitų faktūrų sistemos operacijų per minutę vienam prieigos duomenų rinkiniui, su X-RateLimit-* antraštėmis.

← Atgal į API dokumentaciją

Pirmoji sąskaita per 6 žingsnius

  1. Limitai taikomi prieigos duomenims per minutę: 120 skaitymų, 30 rašymų, 10 e. sąskaitų faktūrų sistemos operacijų.
  2. E. sąskaitų faktūrų sistemos grupė apima efactura/submit, submissions/{id}/refresh ir efactura/inbox/sync.
  3. Kiekvienas atsakymas turi X-RateLimit-Limit, X-RateLimit-Remaining ir X-RateLimit-Reset, įskaitant 429.
  4. 429 pateikia Retry-After sekundėmis; prieš bandydami dar kartą palaukite tiek.

Kas yra 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
// Laikykitės Retry-After; nekartokite jokios 4xx klaidos, išskyrus 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;
}

// Kartojant rašymą PRIVALU naudoti TĄ PATĮ Idempotency-Key, kitaip išrašysite
// antrą fiskalinį dokumentą.

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

Užklausų limitai

GrupėUžklausų / min.Ką reiškia
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

Klaidos

BūsenaTipasKodas
429rate_limit_errorrate_limit_exceeded

Dažniausios klaidos

  • 10 per minutę grupė nėra savavališka: Rumunijos ANAF leidžia maždaug vieną žinučių sąrašo užklausą per minutę vienam mokesčių mokėtojo kodui (CIF).
  • Kartodami rašymą naudokite TĄ PATĮ Idempotency-Key, kitaip išrašysite antrą dokumentą.
  • Žetono galiniam taškui taikomas atskiras IP limitas. Įsiminkite žetoną visam vienos valandos galiojimui.
  • GET /v1/me rodo dabartines prieigos duomenų grupes — naudinga integracijos sveikatos patikrinime.
  • Reikia didesnių ribų? Rašykite mums per Kontaktai puslapį, nurodydami numatomą dienos apimtį.

Kūrėjų klausimai ir atsakymai

Ar limitas taikomas paskyrai ar prieigos duomenims?

Prieigos duomenims. Srauto paskirstymas tarp sistemai skirtų prieigos duomenų reiškia, kad masinis importas nepaims iš jūsų parduotuvės gyvo srauto.

Kokį backoff rekomenduojate?

Laikykitės Retry-After, kai jis pateiktas; kitu atveju eksponentiškai nuo 1–2 sekundžių, ne daugiau kaip 5 bandymai. Jokių griežtų ciklų.

Ar 429 taip pat turi X-RateLimit antraštes?

Taip. Jas pateikiame pačiame 429 atsakyme — būtent ten klientui jų reikia pauzei apskaičiuoti.