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 camposProveedor 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 -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étodo | Ruta | Auth |
|---|---|---|
GET | /v1/flights/offers/:gdsprovider/:offerId | API key requerida |
| Header | Descripción |
|---|---|
Authorization | Bearer <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-Type | Usa application/json para peticiones con cuerpo. |
Esquema de parámetros de la petición
gdsproviderofferIdCuerpo 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
offerDataofferDataofferIdofferDatagdsproviderofferDataexpiresAtofferDatatotalAmountofferDataholdOptionsofferDataholdOptionsavailableofferDataholdOptionspaymentRequiredByofferDataholdOptionspriceGuarantedUntilofferDatasupportedPassengerIdDocumentsofferDatasupportedPassengerIdDocuments[]offerDatapassengerIdentityDocumentsRequiredofferDatasupportedLoyaltyProgramsofferDatasupportedLoyaltyPrograms[]offerDataairlineofferDataairlinenameofferDataairlineiataCodeofferDataairlinelogoURLofferDataairlineconditionsOfCarriageofferDatapassengersofferDatapassengers[]idmystifly_pax_1.offerDatapassengers[]typeofferDataconditionsofferDataconditionsrefundBeforeDepartureofferDataconditionsrefundBeforeDeparturecurrencyofferDataconditionsrefundBeforeDeparturepenaltyAmountofferDataconditionsrefundBeforeDepartureallowedofferDataconditionschangeBeforeDepartureofferDataconditionschangeBeforeDeparturecurrencyofferDataconditionschangeBeforeDeparturepenaltyAmountofferDataconditionschangeBeforeDepartureallowedofferDataslicesofferDataslices[]fareNameofferDataslices[]departureofferDataslices[]departureiataCodeofferDataslices[]departurecityNameofferDataslices[]departureairportNameofferDataslices[]departuredepartingAtofferDataslices[]departuretimeZoneofferDataslices[]arrivalofferDataslices[]arrivaliataCodeofferDataslices[]arrivalcityNameofferDataslices[]arrivalairportNameofferDataslices[]arrivalarrivingAtofferDataslices[]arrivaltimeZoneofferDataslices[]durationMinutesofferDataslices[]conditionsofferDataslices[]conditionspriorityCheckInofferDataslices[]conditionspriorityBoardingofferDataslices[]conditionsadvanceSeatSelectionofferDataslices[]segmentsofferDataslices[]segments[]fareNameofferDataslices[]segments[]departureofferDataslices[]segments[]departureiataCodeofferDataslices[]segments[]departurecityNameofferDataslices[]segments[]departureairportNameofferDataslices[]segments[]departuredepartingAtofferDataslices[]segments[]departuretimeZoneofferDataslices[]segments[]departureterminalofferDataslices[]segments[]arrivalofferDataslices[]segments[]arrivaliataCodeofferDataslices[]segments[]arrivalcityNameofferDataslices[]segments[]arrivalairportNameofferDataslices[]segments[]arrivalarrivingAtofferDataslices[]segments[]arrivaltimeZoneofferDataslices[]segments[]arrivalterminalofferDataslices[]segments[]airlineofferDataslices[]segments[]airlineoperatingCarrierofferDataslices[]segments[]airlineoperatingCarriernameofferDataslices[]segments[]airlineoperatingCarrieriataCodeofferDataslices[]segments[]airlineoperatingCarrierlogoURLofferDataslices[]segments[]airlineoperatingCarrierconditionsOfCarriageofferDataslices[]segments[]airlinemarketingCarrierofferDataslices[]segments[]airlinemarketingCarriernameofferDataslices[]segments[]airlinemarketingCarrieriataCodeofferDataslices[]segments[]airlinemarketingCarrierlogoURLofferDataslices[]segments[]airlinemarketingCarrierconditionsOfCarriageofferDataslices[]segments[]flightNumberofferDataslices[]segments[]durationMinutesofferDataslices[]segments[]passengersofferDataslices[]segments[]passengers[]amenitiesofferDataslices[]segments[]passengers[]amenitieswifiofferDataslices[]segments[]passengers[]amenitieswificostofferDataslices[]segments[]passengers[]amenitieswifiavailableofferDataslices[]segments[]passengers[]amenitiesseatofferDataslices[]segments[]passengers[]amenitiesseatpitchofferDataslices[]segments[]passengers[]amenitiesseatlegroomofferDataslices[]segments[]passengers[]amenitiesseattypeofferDataslices[]segments[]passengers[]amenitiespowerofferDataslices[]segments[]passengers[]baggagesofferDataslices[]segments[]passengers[]baggages[]typeofferDataslices[]segments[]passengers[]baggages[]quantityofferDataslices[]segments[]passengers[]baggages[]maxKgofferDataCO2EmissionsKgofferDataholdIdofferDataoriginalCurrencyofferDatacurrencyliveModeNotas 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[].idal crear la orden. No envies identificadores internos de usuario.
Ejemplo
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ódigo | Descripción |
|---|---|
200 | Detalle de oferta de vuelo recuperado correctamente. |
400 | Solicitud inválida: payload no válido. |
401 | No autorizado: credenciales inválidas o ausentes. |
403 | Prohibido: credenciales inválidas. |
500 | Error interno del servidor |
200 Cuerpo de la respuesta
Tipo de contenido: application/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
}