Pular para o conteúdo principal

Formato das respostas

Todas as respostas da API são JSON, em UTF-8, e seguem o mesmo formato — o envelope.

O envelope​

{
"success": true,
"message": "Travel retrieved successfully",
"data": {},
"errors": [],
"status": 200
}
CampoTipoDescrição
successbooleanotrue quando a requisição deu certo (status 2xx) e false nos demais casos.
messagetextoUma frase curta em inglês sobre o resultado. É informativa: não use o texto para tomar decisões no seu código.
dataobjeto, lista paginada ou nullO conteúdo da resposta. Veja a seguir.
errorslista ou objetoVazio ([]) quando deu certo. Em erros de validação (422), é um objeto com as mensagens de cada parâmetro. Veja Erros.
statusnúmeroO mesmo código HTTP da resposta.

Para saber se deu certo, use o código HTTP (ou success), nunca o texto de message.

O conteúdo de data​

O formato de data depende do endpoint:

Uma resposta de lista tem esta forma:

{
"success": true,
"message": "Testimonials retrieved successfully",
"data": {
"current_page": 1,
"data": [
{ "id": 3, "name": "Maria Souza" }
],
"per_page": 15,
"total": 1
},
"errors": [],
"status": 200
}

O exemplo mostra só alguns campos. A lista completa dos campos de paginação está em Paginação.

Respostas que não usam o envelope​

Duas respostas são geradas antes de a requisição chegar aos endpoints e trazem apenas um campo message:

  • 401 — token ausente ou inválido: { "message": "Unauthenticated." }
  • 429 — limite de requisições excedido: { "message": "Too Many Attempts." }

Veja Erros e Limites de requisições.

Convenções dos campos​

  • Nomes em snake_case, como short_description e start_date. Há uma exceção: as listas de itens inclusos de uma viagem se chamam included e notIncluded.
  • Valores vazios. Um campo de texto opcional sem valor vem como null. Campos de link de imagem (featured_image, logo_url, favicon_url) vêm como texto vazio ("") quando não há imagem. Confira cada campo na referência.
  • Preços como texto. Os preços vêm como texto com duas casas decimais ("1290.00"), para evitar erros de arredondamento. Veja Boas práticas.
  • Datas. Veja Datas e horários.
  • A ordem das chaves de um objeto JSON não é garantida. Leia os campos pelo nome.