Päringupiirangud ja uuesti proovimised

120 lugemist, 30 kirjutamist ja 10 e-arvete süsteemi operatsiooni minutis volituse kohta, X-RateLimit-* päistega.

120 lugemist, 30 kirjutamist ja 10 e-arvete süsteemi operatsiooni minutis volituse kohta, X-RateLimit-* päistega.

← Tagasi API dokumentatsiooni juurde

Esimene arve 6 sammuga

  1. Piirangud on volituse kohta minutis: 120 lugemist, 30 kirjutamist, 10 e-arvete süsteemi operatsiooni.
  2. E-arvete süsteemi grupp hõlmab efactura/submit, submissions/{id}/refresh ja efactura/inbox/sync.
  3. Iga vastus sisaldab X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset, sh 429.
  4. 429 annab Retry-After sekundites; oota nii kaua enne uuesti proovimist.

Mis on 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
// Järgi Retry-After; ära proovi uuesti ühtegi 4xx-i peale 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;
}

// Kirjutamise uuesti proovimisel PEAB kasutama SAMA Idempotency-Key'd, muidu väljastad
// teise fiskaaldokumendi.

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

Päringupiirangud

GruppPäringuid / minutMida see tähendab
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

Vead

StaatusTüüpKood
429rate_limit_errorrate_limit_exceeded

Levinud vead

  • 10 minutis grupp ei ole suvaline: Rumeenia ANAF lubab umbes ühe sõnumiloendi päringu minutis maksukohustuslase numbri (CIF) kohta.
  • Kirjutamist uuesti proovides kasuta SAMA Idempotency-Key'd, muidu väljastad teise dokumendi.
  • Tokeni lõpp-punktil on eraldi IP-põhine piirang. Puhverda token kogu tunnikese eluea jaoks.
  • GET /v1/me näitab volituse praegused grupid — kasulik integratsiooni tervisekontrollis.
  • Vajad suuremaid piire? Kirjuta meile lehe Kontakt kaudu, lisades oodatava päevamahu.

Arendajate küsimused ja vastused

Kas piirang on konto või volituse kohta?

Volituse kohta. Liikluse jaotamine süsteemipõhiste volituste vahel tähendab, et massimport ei saa poe reaalajaliikluse näljutada.

Milline backoff on soovitatav?

Järgi Retry-After, kui see on olemas; muidu eksponentsiaalselt 1–2 sekundist alates, kuni 5 katset. Ära tee tihedaid tsükleid.

Kas ka 429-l on X-RateLimit päised?

Jah. Need saadetakse just 429-vastuses, kus klient neid pausi arvutamiseks vajab.