Errori
L'unica forma degli errori, i codici di stato e cosa fare per ciascuno.
Una sola forma per ogni errore
Ogni risposta di errore ha gli stessi campi: lo stato HTTP in statusCode, un code stabile da verificare nel tuo programma e un message scritto per le persone. I messaggi possono cambiare; i codici no.
{
"statusCode": 404,
"code": "not_found",
"message": "work not found"
}Codici di stato
Questi sono i codici che incontrerai leggendo l'API pubblica:
- 400
invalid_requestUn parametro manca, ha il tipo sbagliato o è fuori intervallo. - 403
forbiddenLa risorsa esiste ma il proprietario la tiene privata. - 404
not_foundNon c'è niente a questo indirizzo. - 429
rate_limitedTroppe richieste dal tuo indirizzo; attendi e riprova. - 500
internal_errorQualcosa è andato storto da parte nostra; riprova più tardi. - 503
unavailableUn servizio necessario all'operazione, come la ricerca, è momentaneamente non disponibile.
Parametri non validi
Quando un parametro manca o è fuori intervallo la risposta è 400 invalid_request, e issues elenca ogni problema con il nome del parametro.
{
"statusCode": 400,
"code": "invalid_request",
"message": "The request parameters are not valid.",
"issues": ["limit: Too big: expected number to be <=50"]
}Opere spostate
Quando due voci del catalogo risultano essere la stessa opera, una viene unita all'altra. Chiedere quella vecchia risponde 301 con il nuovo id, oppure il nuovo tipo e lo slug, in movedTo. Richiedi il nuovo indirizzo e aggiorna ciò che conservi.
HTTP/1.1 301 Moved Permanently
{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }Sezioni private del profilo
I membri decidono quali parti del loro profilo sono pubbliche. Una sezione nascosta risponde 403 con un codice che la indica, come favorites_private, library_private, activity_private o communities_private. Un membro che ha cambiato nome utente risponde 404 member_renamed con il nuovo nome in username.
{
"statusCode": 403,
"code": "favorites_private",
"message": "You are not allowed to do this."
}