Sorğu limitləri və təkrar cəhdlər

Hər kredensial üçün dəqiqədə 120 oxu, 30 yazı və 10 elektron qaimə əməliyyatı, X-RateLimit-* başlıqları ilə.

Hər kredensial üçün dəqiqədə 120 oxu, 30 yazı və 10 elektron qaimə əməliyyatı, X-RateLimit-* başlıqları ilə.

← API sənədləşməsinə qayıt

6 addımda ilk fakturanız

  1. Limitlər hər kredensial üçün, hər dəqiqə: 120 oxu, 30 yazı, 10 elektron qaimə əməliyyatı.
  2. Elektron qaimə qrupu efactura/submit, submissions/{id}/refresh və efactura/inbox/sync-i əhatə edir.
  3. Hər cavabda X-RateLimit-Limit, X-RateLimit-Remaining və X-RateLimit-Reset var, 429 daxil olmaqla.
  4. 429 sizə saniyələrlə Retry-After verir; təkrar cəhddən əvvəl həmin müddət gözləyin.

4invoices API nədir

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
// Retry-After-a əməl edin; 429-dan başqa 4xx-i heç vaxt təkrar cəhd etməyin.
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;
}

// Yazının təkrar cəhdi MƏCBURƏN eyni Idempotency-Key-dən istifadə etməlidir, əks halda verirsiniz
// ikinci fiskal sənədi.

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

Sorğu limitləri

QrupSorğu / dəqiqəNəyi bildirir
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

Xətalar

StatusNövKod
429rate_limit_errorrate_limit_exceeded

Ümumi səhvlər

  • Dəqiqədə 10 qrupu təsadüfi deyil: Rumıniyada ANAF özü hər CIF üçün dəqiqədə təxminən bir mesaj siyahısı çağırışına icazə verir.
  • Yazını təkrar cəhd edəndə EYNİ Idempotency-Key-dən istifadə edin, əks halda ikinci sənəd yaradırsınız.
  • Token son nöqtəsinin ayrıca IP limiti var. Tokeni bir saatlıq ömrü boyunca keşdə saxlayın.
  • GET /v1/me kredensialın cari qruplarını göstərir — inteqrasiyanın sağlamlıq yoxlamasında faydalıdır.
  • Daha yüksək limit lazımdır? Gözlənilən gündəlik həcminizlə Əlaqə səhifəsindən bizə yazın.

İnkişafçılar üçün suallar və cavablar

Limit hesab üzrədir, yoxsa kredensial üzrə?

Kredensial üzrə. Trafiki sistem üzrə kredensiallara bölmək o deməkdir ki, kütləvi idxal mağazanızın canlı axınını aclıqdan öldürə bilməz.

Hansı backoff tövsiyə edirsiniz?

Retry-After olduqda ona əməl edin; əks halda 1–2 saniyədən başlayaraq eksponensial, ən çox 5 cəhd. Sıx dövrələr olmadan.

429 də X-RateLimit başlıqları daşıyırmı?

Bəli. Onları 429-un özündə göndəririk — məhz müştərinin fasiləni hesablamaq üçün ehtiyac duyduğu yerdə.