Pular para o conteúdo

Erros

O formato único dos erros, os códigos de status e o que fazer em cada caso.

Um formato para todos os erros

Toda resposta de erro tem os mesmos campos: o status HTTP em statusCode, um code estável para testar no seu programa e uma message escrita para pessoas. As mensagens podem mudar; os códigos, não.

JSON
{
  "statusCode": 404,
  "code": "not_found",
  "message": "work not found"
}

Códigos de status

Estes são os códigos que você encontrará ao ler a API pública:

  • 400invalid_requestUm parâmetro está ausente, tem o tipo errado ou está fora do intervalo.
  • 403forbiddenO recurso existe, mas o dono o mantém privado.
  • 404not_foundNão há nada neste endereço.
  • 429rate_limitedRequisições demais a partir do seu endereço; aguarde e tente novamente.
  • 500internal_errorAlgo deu errado do nosso lado; tente novamente mais tarde.
  • 503unavailableUm serviço de que a operação precisa, como a busca, está fora do ar por um momento.

Parâmetros inválidos

Quando um parâmetro está ausente ou fora do intervalo, a resposta é 400 invalid_request, e issues lista cada problema com o nome do parâmetro.

JSON
{
  "statusCode": 400,
  "code": "invalid_request",
  "message": "The request parameters are not valid.",
  "issues": ["limit: Too big: expected number to be <=50"]
}

Obras movidas

Quando duas entradas do catálogo se revelam a mesma obra, uma é mesclada à outra. Pedir a antiga responde 301 com o novo ID, ou a nova mídia e o novo slug, em movedTo. Solicite o novo endereço e atualize o que você armazena.

HTTP
HTTP/1.1 301 Moved Permanently

{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }

Seções privadas do perfil

Os membros decidem quais partes do perfil são públicas. Uma seção oculta responde 403 com um código que a identifica, como favorites_private, library_private, activity_private ou communities_private. Um membro que mudou o nome de usuário responde 404 member_renamed com o novo nome em username.

JSON
{
  "statusCode": 403,
  "code": "favorites_private",
  "message": "You are not allowed to do this."
}