Erreurs
La forme unique des erreurs, les codes de statut et que faire pour chacun.
Une seule forme pour toutes les erreurs
Chaque réponse d’erreur a les mêmes champs : le statut HTTP dans statusCode, un code stable à tester dans votre programme et un message rédigé pour les humains. Les messages peuvent changer ; les codes, non.
{
"statusCode": 404,
"code": "not_found",
"message": "work not found"
}Codes de statut
Voici les codes que vous rencontrerez en lisant l’API publique :
- 400
invalid_requestUn paramètre est manquant, a un type incorrect ou est hors limites. - 403
forbiddenLa ressource existe, mais son propriétaire la garde privée. - 404
not_foundIl n’y a rien à cette adresse. - 429
rate_limitedTrop de requêtes depuis votre adresse ; patientez puis réessayez. - 500
internal_errorUn problème est survenu de notre côté ; réessayez plus tard. - 503
unavailableUn service dont l’opération a besoin, comme la recherche, est momentanément indisponible.
Paramètres invalides
Lorsqu’un paramètre est manquant ou hors limites, la réponse est 400 invalid_request, et issues liste chaque problème avec le nom du paramètre.
{
"statusCode": 400,
"code": "invalid_request",
"message": "The request parameters are not valid.",
"issues": ["limit: Too big: expected number to be <=50"]
}Œuvres déplacées
Lorsque deux fiches du catalogue s’avèrent être la même œuvre, l’une est fusionnée dans l’autre. Une demande portant sur l’ancienne répond 301 avec le nouvel identifiant, ou le nouveau format et le nouveau slug, dans movedTo. Demandez la nouvelle adresse et mettez à jour ce que vous stockez.
HTTP/1.1 301 Moved Permanently
{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }Sections privées des profils
Les membres décident quelles parties de leur profil sont publiques. Une section masquée répond 403 avec un code qui la nomme, comme favorites_private, library_private, activity_private ou communities_private. Un membre qui a changé de nom d’utilisateur répond 404 member_renamed avec le nouveau nom dans username.
{
"statusCode": 403,
"code": "favorites_private",
"message": "You are not allowed to do this."
}