Kutsurajoitukset ja uudelleenyritykset

120 lukua, 30 kirjoitusta ja 10 sähkölaskujärjestelmän operaatiota minuutissa tunnusta kohden, X-RateLimit-*-otsikoilla.

120 lukua, 30 kirjoitusta ja 10 sähkölaskujärjestelmän operaatiota minuutissa tunnusta kohden, X-RateLimit-*-otsikoilla.

← Takaisin API-dokumentaatioon

Ensimmäinen lasku 6 vaiheessa

  1. Rajat ovat tunnuskohtaisesti minuutissa: 120 lukua, 30 kirjoitusta, 10 sähkölaskujärjestelmän operaatiota.
  2. Sähkölaskujärjestelmän ryhmä kattaa efactura/submit-, submissions/{id}/refresh- ja efactura/inbox/sync-kutsut.
  3. Jokainen vastaus sisältää X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset, myös 429-vastauksen.
  4. 429-vastaus antaa Retry-After-arvon sekunteina; odota se ennen uutta yritystä.

Mitä 4invoices-API on

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
// Noudata Retry-After-arvoa; älä yritä uudelleen mitään 4xx-virhettä paitsi 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;
}

// Kirjoituksen uudelleenyrityksessä on käytettävä SAMAA Idempotency-Keytä, muuten myönnät
// toisen verotuksellisen asiakirjan.

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

Kutsurajoitukset

RyhmäPyyntöjä / minuuttiMitä se tarkoittaa
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

Virheet

TilaTyyppiKoodi
429rate_limit_errorrate_limit_exceeded

Yleiset virheet

  • 10 kutsua minuutissa -ryhmä ei ole mielivaltainen: Romanian ANAF sallii noin yhden viestilistauskutsun minuutissa verotunnistetta (CIF) kohden.
  • Kun yrität kirjoitusta uudelleen, käytä SAMAA Idempotency-Keytä, muuten luot toisen asiakirjan.
  • Tokenin päätepisteellä on erillinen IP-kohtainen raja. Välimuistita token koko yhden tunnin elinkaaren ajan.
  • GET /v1/me näyttää tunnuksen nykyiset ryhmät — hyödyllinen integraation terveystarkistuksessa.
  • Tarvitsetko korkeampia rajoja? Kirjoita meille Yhteydenotto-sivun kautta ja ilmoita odotettu päiväkohtainen volyymi.

Kehittäjien kysymykset ja vastaukset

Onko raja tiliä vai tunnusta kohden?

Tunnusta kohden. Kun liikenne jaetaan järjestelmäkohtaisiin tunnuksiin, massatuonti ei voi nälkiinnyttää kaupan reaaliaikaista virtaa.

Mitä backoffia suosittelette?

Noudata Retry-After-arvoa, kun se on läsnä; muuten eksponentiaalisesti alkaen 1–2 sekunnista, enintään 5 yritystä. Ei tiukkoja silmukoita.

Sisältääkö 429 myös X-RateLimit-otsikot?

Kyllä. Lähetämme ne itse 429-vastauksessa, juuri siellä, missä asiakas tarvitsee niitä tauon laskemiseen.