Primeros pasos con la API de actividades de XeniCómo reservar una actividadCómo buscar etiquetas y categorías de actividadesCómo cancelar una reserva de actividadCómo comprobar la disponibilidad de la actividadCómo obtener detalles de la actividadCómo recuperar los detalles de la reserva de actividadesCómo buscar actividades con filtrosCómo buscar destinos de actividadesAPI de alquiler de coches: introducciónAPI de alquiler de coches: comprensión de los campos de respuestaCómo reservar un alquiler de cochesCómo obtener detalles del vehículo de alquiler y complementos de equipoCómo recuperar o cancelar una reserva de alquiler de cochesCómo buscar autos de alquiler disponiblesCómo buscar ubicaciones de recogidaCómo utilizar los filtros de búsqueda de alquiler de cochesMejores prácticas de integración de API de ofertasPreguntas frecuentes sobre la API de ofertasPrimeros pasos con la API de ofertas de XeniReferencia de encabezados y parámetros de solicitud de API de ofertasOfertas API Monedas admitidas y localizaciónCómo mostrar ofertas en su aplicaciónCómo buscar ofertas de hoteles por ubicaciónCódigos de error de la API de vuelos y solución de problemasPrimeros pasos con la API de vuelos de XeniCómo reservar un vueloCómo comprobar la disponibilidad y el precio de los vuelosCómo confirmar o cancelar una reserva de vueloCómo recuperar las reglas de tarifas de un vueloCómo recuperar los detalles de la reserva de un vueloCómo buscar aeropuertos usando AutocompletarCómo buscar vuelosCómo utilizar filtros, clasificación y paginación de búsqueda de vuelosCómo comprobar la disponibilidad y el precio de las habitacionesCómo filtrar los resultados de los alquileres vacacionalesCómo obtener detalles, comodidades y accesibilidad de la propiedad del resortCómo mantener y confirmar una reserva de resortCómo liberar una retención de resortCómo recuperar los detalles de la reserva del resortCómo buscar complejos turísticos disponiblesCómo buscar destinos turísticosCómo buscar ubicaciones de alquiler vacacionalCómo buscar alquileres vacacionalesCómo utilizar filtros de búsqueda y clasificación de complejos turísticosComenzando con la API de Xeni ResortsAPI de Resorts: comprensión de los estados y políticas de las reservasPrimeros pasos con la API de alquileres vacacionalesPreguntas frecuentes sobre alquileres vacacionalesTipos de propiedades admitidas para alquileres vacacionalesComprensión de la búsqueda asincrónica para alquileres vacacionalesAutenticación y firmas APIReserva de hoteles: API directa y pago SSOManejo de errores, límites de tasas y mejores prácticasPrimeros pasos con la API de Xeni HotelesGestión de reservas: estado, recuperación y cancelaciónConfirmación de precios y ciclo de vida del tokenRecuperar detalles del hotel y disponibilidad de habitacionesBúsqueda de hoteles: ubicaciones, filtros y paginaciónBuscando HotelesGestión de sesiones e ID de correlaciónAutenticación API y obtención de claves API

Cómo buscar vuelos

Última actualización: 2026-03-03

Cómo buscar vuelos

El punto final de búsqueda devuelve vuelos disponibles según su ruta, fechas, número de pasajeros y clase de cabina. Admite viajes de ida y vuelta.

Punto final

POST /flights/api/v2/search

encabezados

EncabezadoRequeridoDescripción
x-api-keySu clave API.
x-correlation-idID de correlación capturado de los encabezados de respuesta de autocompletar.

Cuerpo de solicitud

CampoTipoRequeridoDescripción
flightinfomatrizConjunto de objetos de tramos de vuelo. Una entrada para viajes de ida y dos para viajes de regreso.
flightinfo[].departuredatecadenaFecha de salida en formato YYYY-MM-DD.
flightinfo[].origincadenaCódigo IATA del aeropuerto de origen (por ejemplo, SFO).
flightinfo[].destinationcadenaCódigo IATA del aeropuerto de destino (por ejemplo, BLR).
routetypecadena"Oneway" o "Return".
cabin_typecadena"economy", "business", "premium" o "first".
adultsenteroNúmero de pasajeros adultos (12+ años).
childrenenteroNoNúmero de niños pasajeros (2-11 años). El valor predeterminado es 0.
infantsenteroNoNúmero de pasajeros infantiles (menores de 2 años). El valor predeterminado es 0.
paginationobjetoNoConfiguración de paginación. Consulte Filtros, clasificación y paginación.
sortingobjetoNoConfiguración de clasificación. Consulte Filtros, clasificación y paginación.
filtersobjetoNoCriterios de filtrado. Consulte Filtros, clasificación y paginación.

Ejemplo: búsqueda unidireccional

JSON
{
  "flight_info": [
    {
      "departure_date": "2026-04-15",
      "origin": "SFO",
      "destination": "BLR"
    }
  ],
  "route_type": "Oneway",
  "cabin_type": "economy",
  "adults": 1,
  "children": 0,
  "infants": 0,
  "pagination": {
    "page": 1,
    "limit": 10
  },
  "sorting": {
    "sort_by": "price",
    "sort_order": "asc"
  }
}

Ejemplo: Búsqueda de viaje de regreso

Para viajes de regreso, incluya dos entradas en flight_info: una para el tramo de ida y otra para el tramo de regreso.

JSON
{
  "flight_info": [
    {
      "departure_date": "2026-04-15",
      "origin": "SFO",
      "destination": "BLR"
    },
    {
      "departure_date": "2026-04-25",
      "origin": "BLR",
      "destination": "SFO"
    }
  ],
  "route_type": "Return",
  "cabin_type": "business",
  "adults": 2,
  "children": 1,
  "infants": 0
}

Estructura de respuesta

La respuesta contiene una lista de vuelos, cada uno con segmentos y opciones de cabina.

JSON
{
  "status": "success",
  "data": {
    "flights": [
      {
        "segments": [
          {
            "flight_number": "UA123",
            "airline": "United Airlines",
            "origin": "SFO",
            "destination": "FRA",
            "departure_time": "2026-04-15T10:30:00",
            "arrival_time": "2026-04-16T06:45:00",
            "duration": "12h 15m"
          },
          {
            "flight_number": "LH456",
            "airline": "Lufthansa",
            "origin": "FRA",
            "destination": "BLR",
            "departure_time": "2026-04-16T09:00:00",
            "arrival_time": "2026-04-16T22:30:00",
            "duration": "9h 0m"
          }
        ],
        "cabins": [
          {
            "id": "cab_001",
            "cabin": "economy",
            "cabinclasstext": "Economy",
            "cabinsearchsessionid": "cssabc123def456",
            "base_rate": 450,
            "taxandfees": 85.5,
            "total_rate": 535.5,
            "currency_code": "USD",
            "baggage_details": {
              "cabin_baggage": "1 x 7kg",
              "checked_baggage": "1 x 23kg"
            },
            "penalties_info": {
              "cancellable": true,
              "exchangeable": true
            }
          }
        ]
      }
    ],
    "pagination": {
      "total": 45,
      "page": 1,
      "limit": 10,
      "total_pages": 5,
      "has_next": true,
      "has_prev": false
    },
    "available_airlines": [
      "United Airlines",
      "Lufthansa",
      "Air India",
      "Emirates"
    ]
  },
  "message": "Flights retrieved successfully"
}

Campos de respuesta clave

CampoDescripción
flightsVariedad de opciones de vuelo, cada una con segmentos y cabinas.
flights[].segmentsTramos de vuelo individuales con aerolínea, horarios y duración.
flights[].cabinsOpciones de cabina disponibles con precio.
cabins[].cabinsearchsessionidToken requerido para la verificación de disponibilidad. Guarde este valor.
cabins[].totalratePrecio total incluyendo impuestos y tasas.
cabins[].baggagedetailsFranquicias de equipaje incluidas.
cabins[].penaltiesinfoResumen de políticas de cancelación y cambio.
paginationMetadatos de paginación que incluyen resultados totales e información de la página.
available_airlinesLista de todas las aerolíneas en el conjunto de resultados completo. Útil para crear interfaces de usuario de filtro.

Tipos de pasajeros

TipoRango de edadNotas
Adulto12+ añosSe requiere al menos 1 adulto.
Niño2-11 añosDebe ir acompañado de un adulto.
InfantilMenos de 2 añosDebe ir acompañado de un adulto. No puede exceder el número de adultos.

Próximos pasos

¿Te resultó útil este artículo?