Skip to Content
Busca de VoosBuscar voos

Buscar voos

Busca voos em um ou mais programas de fidelidade ou companhias aéreas simultaneamente.

POST /flights/search

Headers obrigatórios

HeaderValor
x-api-keysua-api-key
Content-Typeapplication/json

Request Body

CampoTipoObrigatórioDescrição
airlineLoyaltystring[]Programas de fidelidade (milhas) ou companhias aéreas (dinheiro). Valores aceitos dependem de priceType.
priceTypestringNãoTipo da busca: MILES (milhas, padrão) ou CASH (dinheiro)
tripTypestringTipo de viagem: ONE_WAY ou ROUND_TRIP
cabinTypestringClasse da cabine: ECONOMY ou BUSINESS
originstringCódigo IATA do aeroporto de origem (3 letras maiúsculas, ex: GRU)
destinationstringCódigo IATA do aeroporto de destino (3 letras maiúsculas, ex: MIA)
departureDatestringData de ida no formato YYYY-MM-DD
returnDatestringCondicionalData de volta (YYYY-MM-DD). Obrigatório se tripType = ROUND_TRIP
passengersobjectObjeto com a quantidade de passageiros (ver abaixo)
responseFormatstringNãoRAW (bruto, padrão) ou PARSED (normalizado). Ver Formato da resposta.

Valores aceitos em airlineLoyalty por priceType

priceTypeValores aceitos em airlineLoyalty
MILESSMILES, LATAM, AZUL, AZUL_INTERLINE, COPA, DELTA, TURKISH
CASHLATAM, AZUL, GOL

airlineLoyalty aceita vários programas, mas a resposta só volta quando todos terminam. Em fluxos com usuário esperando, prefira uma requisição por programa — mesma quota, resultados muito mais rápidos. Ver Uma requisição por programa.

Objeto passengers

CampoTipoObrigatórioValidaçãoDescrição
adultsint1–9Número de adultos
childrenintNão0–8 (padrão: 0)Número de crianças
infantsintNão0–4 (padrão: 0)Número de bebês

Regras de validação

  • adults + children não pode exceder 9.
  • infants não pode exceder o número de adults.
  • origin e destination devem ser diferentes.
  • returnDate deve ser posterior a departureDate.
  • returnDate é obrigatório quando tripType = ROUND_TRIP.
  • airlineLoyalty deve conter ao menos 1 valor.
  • Cada valor em airlineLoyalty deve ser válido para o priceType escolhido. Caso contrário, a API retorna 422 Unprocessable Entity.
  • responseFormat, quando enviado, deve ser exatamente RAW ou PARSED. Qualquer outro valor retorna 422 Unprocessable Entity.

Response 200 OK (formato RAW — padrão)

{ "results": [ { "airline": "SMILES", "success": true, "data": { ... } }, { "airline": "LATAM", "success": true, "data": { "outbound": { ... }, "inbound": { ... }, "selectedOutboundOfferId": "offer-id-123" } }, { "airline": "AZUL", "success": false, "error": { "message": "Failed to fetch data from AZUL", "providerStatusCode": 503 }, "data": null } ], "summary": { "totalAirlinesRequested": 3, "successfulSearches": 2, "failedSearches": 1 } }

No formato RAW (padrão) o campo data contém a resposta original e bruta da API da companhia, sem normalização — a estrutura varia entre programas e entre buscas em milhas e em dinheiro. Se preferir dados já tratados e num formato único, use responseFormat: "PARSED".

Estrutura de cada item em results (formato RAW)

CampoTipoDescrição
airlinestringPrograma/companhia (SMILES, LATAM, AZUL, AZUL_INTERLINE, COPA, DELTA, TURKISH, GOL)
successbooleantrue se a busca foi bem-sucedida
dataobjectResposta original e bruta da API da companhia. null em caso de erro
errorobjectPresente apenas em caso de falha (ver abaixo)

Objeto error (por companhia)

CampoTipoDescrição
messagestringMensagem de erro legível
providerStatusCodeintStatus HTTP retornado pelo provedor da companhia

Objeto summary

CampoTipoDescrição
totalAirlinesRequestedintQuantidade de companhias solicitadas
successfulSearchesintQuantidade de buscas com sucesso
failedSearchesintQuantidade de buscas que falharam
Last updated on