Skip to Content
Erros e status HTTP

Erros e status HTTP

Formato padrão

Todas as respostas de erro seguem o mesmo envelope:

{ "error": { "code": "CODIGO_DO_ERRO", "message": "Descrição legível do erro", "correlationId": "uuid-de-rastreamento", "details": {} } }
CampoTipoDescrição
codestringCódigo identificador do erro
messagestringMensagem descritiva do erro
correlationIdstringUUID para rastreamento do request
detailsobjectDetalhes adicionais (quando disponível)

O campo correlationId é retornado pela Busca de Voos. Nas respostas do Histórico de Preços o envelope traz apenas code, message e details. Sempre trate correlationId como opcional.

Códigos de erro — Busca de Voos

CódigoDescrição
HTTP_ERRORErro HTTP genérico
VALIDATION_ERRORErro de validação no body da requisição
UNAUTHORIZEDFalha de autenticação
NOT_FOUNDRecurso não encontrado
QUOTA_EXCEEDEDQuota de uso excedida
INTERNAL_ERRORErro interno inesperado
NOT_ACCEPTABLEMedia type não suportado
AIRLINE_PROVIDER_ERRORErro na comunicação com provedor da companhia

Códigos de erro — Histórico de Preços

HTTPCódigoDescrição
401AUTHENTICATION_ERRORAPI key ausente ou inválida
403AUTHORIZATION_ERRORAPI key inativa ou sem acesso ao produto
406UNSUPPORTED_VERSIONVersão informada no header Accept não é suportada
422VALIDATION_ERRORValidação de parâmetros falhou (valores inválidos ou ausentes)
500INTERNAL_ERRORErro interno inesperado

Os dois produtos usam conjuntos de códigos diferentes para situações equivalentes — por exemplo, falha de autenticação é UNAUTHORIZED na Busca de Voos e AUTHENTICATION_ERROR no Histórico de Preços. Trate os códigos por produto, e use o status HTTP quando precisar de uma lógica comum aos dois.

Códigos de status HTTP

CódigoSignificadoQuando ocorre
200OKRequisição processada com sucesso
400Bad RequestParâmetros inválidos
401UnauthorizedAPI Key ausente, inválida ou não encontrada
402Payment RequiredQuota excedida ou API Key inativa/bloqueada
403ForbiddenAPI Key sem acesso ao produto solicitado
404Not FoundRecurso não encontrado
406Not AcceptableHeader Accept com media type não suportado
422Unprocessable EntityErro de validação no corpo ou nos parâmetros
500Internal Server ErrorErro inesperado no servidor

Exemplo — erro de validação

{ "error": { "code": "VALIDATION_ERROR", "message": "Request validation failed.", "details": { "errors": [ { "field": "query -> cabin_type", "message": "Input should be 'ECONOMY' or 'BUSINESS'", "type": "enum" } ] } } }

Exemplo — erro de autenticação

{ "error": { "code": "AUTHENTICATION_ERROR", "message": "API key não informada. Envie-a pelo header x-api-key." } }

Exemplo — erro de autorização (produto não contratado)

{ "error": { "code": "AUTHORIZATION_ERROR", "message": "Sua API key não possui acesso a este produto. Entre em contato com o suporte para contratar." } }

Ao reportar um problema para o suporte, envie sempre o correlationId da resposta — ele permite rastrear a requisição exata nos nossos logs.

Last updated on