Vai al contenuto

Rate Limiting

Invoicetronic API applica il rate limiting. Quando il limite viene raggiunto, i client ricevono una risposta 429 Too Many Requests fino al reset della finestra temporale. Le finestre sono globali e configurate come segue:

Periodo Limite Reset
Secondo 100 richieste Ogni secondo
Minuto 2000 richieste Ogni minuto
Giorno 100000 richieste Giornaliero

Supponiamo che 2000 richieste colpiscano l'API nella finestra di un minuto, le richieste successive che si verificano in quello stesso minuto verranno bloccate con 429. Quando il minuto termina, la finestra si resetta e l'API riprenderà a soddisfare le richieste.

Header di risposta

Ogni risposta dell'API include i seguenti header relativi al rate limiting:

Header Descrizione
RateLimit-Limit Il limite di richieste al secondo più restrittivo (es. 100).
RateLimit-Policy Tutte le finestre di rate limiting attive nel formato limite;w=secondi (es. 100;w=1, 2000;w=60, 100000;w=86400).

Quando una richiesta viene rifiutata con 429 Too Many Requests, la risposta include anche:

Header Descrizione
Retry-After Secondi da attendere prima di riprovare (es. 1).

Tip

Il tuo client dovrebbe essere preparato a gestire le risposte 429 anche se sono improbabili. Quando ricevi un 429, leggi l'header Retry-After per sapere esattamente quanto tempo attendere prima di riprovare. Non lasciare che il tuo client vada in crash in uno scenario ben noto e documentato come questo; danneggerebbe l'esperienza dell'utente finale.