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.