Ambiente:
Passa al contenuto principale

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 HTTPSignificatoDescrizione
200OKTutto ha funzionato come previsto.
201CreatedLa risorsa Γ¨ stata creata con successo.
400Bad RequestLa richiesta non Γ¨ accettabile, spesso a causa di un parametro richiesto mancante.
401UnauthorizedNon Γ¨ stata fornita una chiave API valida.
402Request FailedI parametri erano validi, ma la richiesta non Γ¨ andata a buon fine.
403ForbiddenLa chiave API non ha i permessi per eseguire la richiesta.
404Not FoundLa risorsa richiesta non esiste.
422Unprocessable EntityLa richiesta Γ¨ stata compresa ma non puΓ² essere elaborata a causa di errori semantici.
500, 502, 503, 504Server ErrorsSi Γ¨ 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"
}
]
}

Nel caso in cui il token sia valido, ma non abbia i permessi necessari per eseguire la richiesta, riceverai un errore 403.

HTTP/1.1 403 Forbidden
Content-Type: application/json

{
"errors":[
{
"code":"forbidden",
"detail":"Forbidden.",
"title":"Forbidden"
}
]
}

Per verificare velocemente se il token Γ¨ valido, si ha l'accesso agli endpoint o se c'Γ¨ un problema di rete, si pΓ² provare il comando:

curl --request GET \
--url {{BASE_URL}}/api/v1/companies \
--header "Authorization: Bearer {{TOKEN}}"

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"
}
]
}