GET/v1/flights/offers/:gdsprovider/:offerId

Obtener detalle de oferta de vuelo

Recupera el detalle actualizado de una oferta de vuelo antes de reservar, incluyendo precio, condiciones, segmentos y requisitos de pasajeros cuando estén disponibles.

Compartir
GET/v1/flights/offers/:gdsprovider/:offerId

Consola API

Pruébalo

Envía una petición real al entorno sandbox e inspecciona la respuesta.

Credenciales

Inicia sesión para elegir entre tus API keys guardadas en vez de pegarlas.

Parámetros de ruta

2 campos

Proveedor GDS

Sistema de distribución global usado para obtener contenido de vuelos. Selecciona 0 para el proveedor predeterminado.

ID de oferta

Identificador de la oferta devuelta por una búsqueda de vuelos anterior.

Petición cURL

cURL
bash
curl -X GET 'https://api.sandbox.travelandz.com/v1/flights/offers/0/:offerId' \
  -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  -H 'X-Travelandz-Id: YOUR_PUBLIC_KEY:YOUR_PROFILE_CODE'

Añade tus credenciales para enviar una petición.

Respuesta

Pulsa «¡Pruébalo!» para enviar una petición y ver la respuesta aquí.

Recupera el detalle actualizado de una oferta de vuelo antes de reservar, incluyendo precio, condiciones, segmentos y requisitos de pasajeros cuando estén disponibles.

Endpoint

MétodoRutaAuth
GET/v1/flights/offers/:gdsprovider/:offerIdAPI key requerida
Headers obligatorios:
HeaderDescripción
AuthorizationBearer <secret_key>. El secret se muestra una sola vez al crear la credencial.
X-Travelandz-Id<public_key>:<profile_code>. El profile_code es el codigo de Developer Profile con prefijo dp_ que ves en el dashboard. Esto vincula la peticion con un perfil y una credencial.
Content-TypeUsa application/json para peticiones con cuerpo.

Esquema de parámetros de la petición

gdsprovider
numberSí
offerId
stringSí

Cuerpo de la petición

No requiere cuerpo de petición.

Respuesta exitosa

Devuelve offerData con la oferta seleccionada, ids de pasajeros, requisitos de documentos, opciones de hold y segmentos de vuelo cuando esten disponibles.

Esquema del cuerpo de la respuesta

offerData
objectSí
offerDataofferId
stringSí
offerDatagdsprovider
numberSí
offerDataexpiresAt
string
Format: ISO 8601
Sí
offerDatatotalAmount
numberSí
offerDataholdOptions
objectSí
offerDataholdOptionsavailable
booleanSí
offerDataholdOptionspaymentRequiredBy
string
Format: ISO 8601
Nulable
offerDataholdOptionspriceGuarantedUntil
string
Format: ISO 8601
Nulable
offerDatasupportedPassengerIdDocuments
arraySí
offerDatasupportedPassengerIdDocuments[]
enum[]Sí
offerDatapassengerIdentityDocumentsRequired
booleanSí
offerDatasupportedLoyaltyPrograms
arraySí
offerDatasupportedLoyaltyPrograms[]
string[]Sí
offerDataairline
objectSí
offerDataairlinename
stringSí
offerDataairlineiataCode
stringSí
offerDataairlinelogoURL
stringNulable
offerDataairlineconditionsOfCarriage
stringNo
offerDatapassengers
arraySí
offerDatapassengers[]id
stringSí
Public passenger id to reuse during booking. Mystifly public offers generate internal ids such as mystifly_pax_1.
offerDatapassengers[]type
enum
adultchildinfant_without_seat
Sí
offerDataconditions
objectSí
offerDataconditionsrefundBeforeDeparture
objectSí
offerDataconditionsrefundBeforeDeparturecurrency
stringSí
offerDataconditionsrefundBeforeDeparturepenaltyAmount
stringSí
offerDataconditionsrefundBeforeDepartureallowed
booleanSí
offerDataconditionschangeBeforeDeparture
objectSí
offerDataconditionschangeBeforeDeparturecurrency
stringSí
offerDataconditionschangeBeforeDeparturepenaltyAmount
stringSí
offerDataconditionschangeBeforeDepartureallowed
booleanSí
offerDataslices
arraySí
offerDataslices[]fareName
stringSí
offerDataslices[]departure
objectSí
offerDataslices[]departureiataCode
stringSí
offerDataslices[]departurecityName
stringSí
offerDataslices[]departureairportName
stringNo
offerDataslices[]departuredepartingAt
string
Format: ISO 8601
Sí
offerDataslices[]departuretimeZone
stringNo
offerDataslices[]arrival
objectSí
offerDataslices[]arrivaliataCode
stringSí
offerDataslices[]arrivalcityName
stringSí
offerDataslices[]arrivalairportName
stringNo
offerDataslices[]arrivalarrivingAt
string
Format: ISO 8601
Sí
offerDataslices[]arrivaltimeZone
stringNo
offerDataslices[]durationMinutes
numberSí
offerDataslices[]conditions
objectSí
offerDataslices[]conditionspriorityCheckIn
booleanSí
offerDataslices[]conditionspriorityBoarding
booleanSí
offerDataslices[]conditionsadvanceSeatSelection
booleanSí
offerDataslices[]segments
arraySí
offerDataslices[]segments[]fareName
stringSí
offerDataslices[]segments[]departure
objectSí
offerDataslices[]segments[]departureiataCode
stringSí
offerDataslices[]segments[]departurecityName
stringSí
offerDataslices[]segments[]departureairportName
stringNo
offerDataslices[]segments[]departuredepartingAt
string
Format: ISO 8601
Sí
offerDataslices[]segments[]departuretimeZone
stringNo
offerDataslices[]segments[]departureterminal
stringNo
offerDataslices[]segments[]arrival
objectSí
offerDataslices[]segments[]arrivaliataCode
stringSí
offerDataslices[]segments[]arrivalcityName
stringSí
offerDataslices[]segments[]arrivalairportName
stringNo
offerDataslices[]segments[]arrivalarrivingAt
string
Format: ISO 8601
Sí
offerDataslices[]segments[]arrivaltimeZone
stringNo
offerDataslices[]segments[]arrivalterminal
stringNo
offerDataslices[]segments[]airline
objectSí
offerDataslices[]segments[]airlineoperatingCarrier
objectSí
offerDataslices[]segments[]airlineoperatingCarriername
stringSí
offerDataslices[]segments[]airlineoperatingCarrieriataCode
stringSí
offerDataslices[]segments[]airlineoperatingCarrierlogoURL
stringNulable
offerDataslices[]segments[]airlineoperatingCarrierconditionsOfCarriage
stringNo
offerDataslices[]segments[]airlinemarketingCarrier
objectSí
offerDataslices[]segments[]airlinemarketingCarriername
stringSí
offerDataslices[]segments[]airlinemarketingCarrieriataCode
stringSí
offerDataslices[]segments[]airlinemarketingCarrierlogoURL
stringNulable
offerDataslices[]segments[]airlinemarketingCarrierconditionsOfCarriage
stringNo
offerDataslices[]segments[]flightNumber
stringSí
offerDataslices[]segments[]durationMinutes
numberSí
offerDataslices[]segments[]passengers
arraySí
offerDataslices[]segments[]passengers[]amenities
objectSí
offerDataslices[]segments[]passengers[]amenitieswifi
objectSí
offerDataslices[]segments[]passengers[]amenitieswificost
enum
freefree or paidpaid
Nulable
offerDataslices[]segments[]passengers[]amenitieswifiavailable
booleanSí
offerDataslices[]segments[]passengers[]amenitiesseat
objectSí
offerDataslices[]segments[]passengers[]amenitiesseatpitch
enum
"number"n/a
Sí
offerDataslices[]segments[]passengers[]amenitiesseatlegroom
enum
lessmorestandardn/a
Sí
offerDataslices[]segments[]passengers[]amenitiesseattype
enum
standardskycouchreclinerangle_flatfull_flatfull_flat_podprivate_suite
Nulable
offerDataslices[]segments[]passengers[]amenitiespower
booleanSí
offerDataslices[]segments[]passengers[]baggages
arraySí
offerDataslices[]segments[]passengers[]baggages[]type
enum
checkedcarry_on
Sí
offerDataslices[]segments[]passengers[]baggages[]quantity
numberSí
offerDataslices[]segments[]passengers[]baggages[]maxKg
stringNo
offerDataCO2EmissionsKg
numberNulable
offerDataholdId
stringNulable
offerDataoriginalCurrency
enum
EURUSDCNY
Sí
offerDatacurrency
enum
EURUSDCNY
Sí
liveMode
booleanSí
True cuando la peticion se sirve desde el entorno live de Travelandz. Este valor viene de Travelandz, no del payload del proveedor.

Notas operativas

  • La disponibilidad del detalle actualizado depende de la fuente seleccionada.
  • Si el detalle directo de la oferta no esta disponible, conserva la oferta devuelta por la busqueda publica y completa la reserva antes de que expire.
  • Reutiliza offerData.passengers[].id al crear la orden. No envies identificadores internos de usuario.

Ejemplo

bash
bash
curl https://api.sandbox.travelandz.com/v1/flights/offers/0/offer_123 \
  -H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  -H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE"

Respuestas

CódigoDescripción
200Detalle de oferta de vuelo recuperado correctamente.
400Solicitud inválida: payload no válido.
401No autorizado: credenciales inválidas o ausentes.
403Prohibido: credenciales inválidas.
500Error interno del servidor

200 Cuerpo de la respuesta

Tipo de contenido: application/json

json
json
{
  "offerData": {
    "offerId": "off_0000B7SbjlHTw4iTcv9u1c",
    "gdsprovider": 0,
    "expiresAt": "2026-06-18T15:02:31.989Z",
    "totalAmount": 235.38,
    "holdOptions": {
      "available": true,
      "paymentRequiredBy": "2026-06-21T14:32:31.000Z",
      "priceGuarantedUntil": "2026-06-20T14:32:31.000Z"
    },
    "supportedPassengerIdDocuments": [
      "passport",
      "known_traveler_number",
      "passenger_redress_number"
    ],
    "passengerIdentityDocumentsRequired": false,
    "supportedLoyaltyPrograms": [
      "ZZ"
    ],
    "airline": {
      "name": "Duffel Airways",
      "iataCode": "ZZ",
      "logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
      "conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
    },
    "passengers": [
      {
        "id": "pas_0000B7Sbjl2apQo4skC0pb",
        "type": "adult"
      }
    ],
    "conditions": {
      "refundBeforeDeparture": {
        "currency": "EUR",
        "penaltyAmount": "40.00",
        "allowed": true
      },
      "changeBeforeDeparture": {
        "currency": "EUR",
        "penaltyAmount": "40.00",
        "allowed": true
      }
    },
    "slices": [
      {
        "fareName": "Basic",
        "departure": {
          "iataCode": "MAD",
          "cityName": "Madrid",
          "airportName": "MAD",
          "departingAt": "2026-08-12T08:30:00",
          "timeZone": "Europe/Madrid"
        },
        "arrival": {
          "iataCode": "JFK",
          "cityName": "New York",
          "airportName": "JFK",
          "arrivingAt": "2026-08-12T10:45:00",
          "timeZone": "America/New_York"
        },
        "durationMinutes": 495,
        "conditions": {
          "priorityCheckIn": false,
          "priorityBoarding": false,
          "advanceSeatSelection": false
        },
        "segments": [
          {
            "fareName": "Basic",
            "departure": {
              "iataCode": "MAD",
              "cityName": "Madrid",
              "airportName": "MAD",
              "departingAt": "2026-08-12T08:30:00",
              "timeZone": "Europe/Madrid",
              "terminal": "2"
            },
            "arrival": {
              "iataCode": "JFK",
              "cityName": "New York",
              "airportName": "JFK",
              "arrivingAt": "2026-08-12T10:45:00",
              "timeZone": "America/New_York",
              "terminal": "1"
            },
            "airline": {
              "operatingCarrier": {
                "name": "Duffel Airways",
                "iataCode": "ZZ",
                "logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
                "conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
              },
              "marketingCarrier": {
                "name": "Duffel Airways",
                "iataCode": "ZZ",
                "logoURL": "http://localhost:5000/v1/assets/airlines/0/for-light-background/full-color-logo/ZZ.svg",
                "conditionsOfCarriage": "https://duffelairways.com/dummy-url/conditions-of-carriage"
              }
            },
            "flightNumber": "7252",
            "durationMinutes": 495,
            "passengers": [
              {
                "amenities": {
                  "wifi": {
                    "cost": "paid",
                    "available": true
                  },
                  "seat": {
                    "pitch": "30",
                    "legroom": "n/a",
                    "type": null
                  },
                  "power": true
                },
                "baggages": [
                  {
                    "type": "checked",
                    "quantity": 1,
                    "maxKg": "23"
                  },
                  {
                    "type": "carry_on",
                    "quantity": 1
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "CO2EmissionsKg": 249,
    "originalCurrency": "EUR",
    "currency": "EUR"
  },
  "liveMode": false
}