Buscar voos
Busca voos em um ou mais programas de fidelidade ou companhias aéreas simultaneamente.
POST /flights/searchHeaders obrigatórios
| Header | Valor |
|---|---|
x-api-key | sua-api-key |
Content-Type | application/json |
Request Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
airlineLoyalty | string[] | ✅ | Programas de fidelidade (milhas) ou companhias aéreas (dinheiro). Valores aceitos dependem de priceType. |
priceType | string | Não | Tipo da busca: MILES (milhas, padrão) ou CASH (dinheiro) |
tripType | string | ✅ | Tipo de viagem: ONE_WAY ou ROUND_TRIP |
cabinType | string | ✅ | Classe da cabine: ECONOMY ou BUSINESS |
origin | string | ✅ | Código IATA do aeroporto de origem (3 letras maiúsculas, ex: GRU) |
destination | string | ✅ | Código IATA do aeroporto de destino (3 letras maiúsculas, ex: MIA) |
departureDate | string | ✅ | Data de ida no formato YYYY-MM-DD |
returnDate | string | Condicional | Data de volta (YYYY-MM-DD). Obrigatório se tripType = ROUND_TRIP |
passengers | object | ✅ | Objeto com a quantidade de passageiros (ver abaixo) |
responseFormat | string | Não | RAW (bruto, padrão) ou PARSED (normalizado). Ver Formato da resposta. |
Valores aceitos em airlineLoyalty por priceType
priceType | Valores aceitos em airlineLoyalty |
|---|---|
MILES | SMILES, LATAM, AZUL, AZUL_INTERLINE, COPA, DELTA, TURKISH |
CASH | LATAM, 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
| Campo | Tipo | Obrigatório | Validação | Descrição |
|---|---|---|---|---|
adults | int | ✅ | 1–9 | Número de adultos |
children | int | Não | 0–8 (padrão: 0) | Número de crianças |
infants | int | Não | 0–4 (padrão: 0) | Número de bebês |
Regras de validação
adults + childrennão pode exceder 9.infantsnão pode exceder o número deadults.originedestinationdevem ser diferentes.returnDatedeve ser posterior adepartureDate.returnDateé obrigatório quandotripType=ROUND_TRIP.airlineLoyaltydeve conter ao menos 1 valor.- Cada valor em
airlineLoyaltydeve ser válido para opriceTypeescolhido. Caso contrário, a API retorna422 Unprocessable Entity. responseFormat, quando enviado, deve ser exatamenteRAWouPARSED. Qualquer outro valor retorna422 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)
| Campo | Tipo | Descrição |
|---|---|---|
airline | string | Programa/companhia (SMILES, LATAM, AZUL, AZUL_INTERLINE, COPA, DELTA, TURKISH, GOL) |
success | boolean | true se a busca foi bem-sucedida |
data | object | Resposta original e bruta da API da companhia. null em caso de erro |
error | object | Presente apenas em caso de falha (ver abaixo) |
Objeto error (por companhia)
| Campo | Tipo | Descrição |
|---|---|---|
message | string | Mensagem de erro legível |
providerStatusCode | int | Status HTTP retornado pelo provedor da companhia |
Objeto summary
| Campo | Tipo | Descrição |
|---|---|---|
totalAirlinesRequested | int | Quantidade de companhias solicitadas |
successfulSearches | int | Quantidade de buscas com sucesso |
failedSearches | int | Quantidade de buscas que falharam |
Last updated on