Errori
In questa pagina viene spiegato come gestire gli errori che si possono verificare durante l'utilizzo delle API di Sibill. Le API utilizzano la convenzione per i codici di stato HTTP per indicare il risultato di una richiesta. Gli stati possono essere categorizzati in questo modo:
- Codici 2xx: indicano il successo della richiesta
- Codici 4xx: indicano un errore del client
- Codici 5xx: indicano un errore del server
Ogni errore include un payload che descrive ciรฒ che รจ accaduto. Di seguito c'รจ un elenco dei codici di stato HTTP utilizzati dalle API:
Codice HTTP | Significato | Descrizione |
---|---|---|
200 | OK | Tutto ha funzionato come previsto. |
201 | Created | La risorsa รจ stata creata con successo. |
400 | Bad Request | La richiesta non รจ accettabile, spesso a causa di un parametro richiesto mancante. |
401 | Unauthorized | Non รจ stata fornita una chiave API valida. |
402 | Request Failed | I parametri erano validi, ma la richiesta non รจ andata a buon fine. |
403 | Forbidden | La chiave API non ha i permessi per eseguire la richiesta. |
404 | Not Found | La risorsa richiesta non esiste. |
422 | Unprocessable Entity | La richiesta รจ stata compresa ma non puรฒ essere elaborata a causa di errori semantici. |
500, 502, 503, 504 | Server Errors | Si รจ verificato un problema nella gestione della richiesta da parte di Sibill. |
๐ โโ๏ธ Errori di autenticazioneโ
Utilizzando l'autenticazione basata su token, รจ possibile ricevere un errore se il token non รจ valido o non รจ stato fornito.
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"errors":[
{
"code":"unauthorized",
"detail":"Authentication failed.",
"title":"Unauthorized"
}
]
}
๐โโ๏ธ Errori del clientโ
Altri errori che non implicano autorizzazioni o permessi, ad esempio a seguito di una richiesta non valida o a causa di una risorsa inesistente, generano una risposta con un oggetto errore contenente tutti i parametri utili per risolvere il problema.
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"errors":[
{
"code":"bad_request",
"detail":"null value where string expected",
"title":"Invalid value"
}
]
}
Gli errori dovuti a problemi di convalida includeranno l'oggetto source
, che contiene l'elenco dei campi che hanno generato l'errore.
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"errors":[
{
"code":"bad_request",
"detail":"Invalid integer. Got: string",
"title":"Invalid value",
"source":{
"pointer":"/page_size"
}
}
]
}
๐ฅ๏ธ Errori del server di Sibillโ
Altri errori che non sono causati da problemi di autenticazione o di richiesta del client, ma da problemi interni del server, generano una risposta con un oggetto errore che descrive il problema.
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"errors":[
{
"code":"internal_server_error",
"detail":"An unexpected error occurred.",
"title":"Internal Server Error"
}
]
}