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 consulta
6 camposProveedor GDS
Selector de contenido de transfers. Actualmente solo 0.
ID de reserva
Identificador de reserva devuelto al crear el booking. En el endpoint de detalles unificados, envía solo uno entre reservationId, confirmationNumber o searchId.
Confirmation number
Confirmation number devuelto al crear el booking. En el endpoint de detalles unificados, envía solo uno entre reservationId, confirmationNumber o searchId.
ID de búsqueda
Identificador de búsqueda usado para crear el booking. Obligatorio para reservas que incluyen amenities. En el endpoint de detalles unificados, envía solo uno entre reservationId, confirmationNumber o searchId.
Moneda
Moneda de los importes devueltos. Debe coincidir con la oferta o la reserva cuando ya existe una.
Idioma
Campo de idioma legacy. Es preferible usar el header LANG o Accept-Language.
Petición cURL
curl -X GET 'https://api.sandbox.travelandz.com/v1/transfers/reservations/details?gdsprovider=0¤cy=USD' \
-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.
Esta petición necesita identificadores o tokens de una llamada anterior. Ejecuta primero el paso previo y pega aquí sus valores.
Respuesta
Pulsa «¡Pruébalo!» para enviar una petición y ver la respuesta aquí.
Consulta una reserva usando el identificador del que disponga tu aplicación.
Autenticación y headers
| Header | Descripción |
|---|---|
Authorization | Bearer <secret_key>. Conserva el secret en el servidor y nunca lo escribas en logs del cliente. |
X-Travelandz-Id | <public_key>:<profile_code>, donde el profile code persistido usa el formato dp_<12 alfanuméricos>. |
LANG | Header recomendado para el idioma. También se acepta Accept-Language. |
Content-Type | application/json para peticiones con body JSON. |
Petición
Este endpoint no recibe body. La query requiere gdsprovider y exactamente uno entre reservationId, confirmationNumber o searchId. No enviar ninguno o enviar más de uno se rechaza.
Las reservas que incluyen amenities deben consultarse con searchId.
Schema de query params
gdsprovider0.reservationIdreservationId, confirmationNumber or searchId.confirmationNumberreservationId, confirmationNumber or searchId.searchIdcurrencyUSD on a new search and is inherited afterwards.languageLANG or Accept-Language header.Respuesta exitosa
Devuelve el envelope de reserva. Considera la reserva utilizable solo cuando completed sea true y reservations no esté vacío.
Schema de respuesta
statuscompletedreservations is not empty.timedOutreservationsreservations[]gdsproviderreservations[]reservationIdreservations[]confirmationNumberreservations[]statusreservations[]cancelledreservations[]totalAmountreservations[]currencyreservations[]pickupInstructionsreservations[]ticketUrlreservations[]selectedScheduleIndexreservations[]departureDatetimereservations[]arrivalDatetimereservations[]selectedAmenitiesreservations[]selectedAmenities[]keyselectedAmenities.reservations[]selectedAmenities[]namereservations[]selectedAmenities[]descriptionreservations[]selectedAmenities[]imageUrlreservations[]selectedAmenities[]pngImageUrlreservations[]selectedAmenities[]inputTypereservations[]selectedAmenities[]includedreservations[]selectedAmenities[]selectablereservations[]selectedAmenities[]selectederrorstatus is failed.metadatametadatauseSearchIdForDetailssearchId instead of reservationId.metadatadetailsIdentifiermetadatadetailsSearchIddetailsIdentifier is searchId.metadatamessageEjemplos de respuesta
{
"status": "completed",
"completed": true,
"timedOut": false,
"reservations": [
{
"gdsprovider": 0,
"reservationId": "f390daff1fdf4cccb19b7abd825dc011",
"confirmationNumber": "TZ-6202191",
"status": "completed",
"cancelled": false,
"totalAmount": 181.97,
"currency": "USD",
"pickupInstructions": "The driver will call you when he arrives.",
"selectedScheduleIndex": 0,
"departureDatetime": "2026-08-16T14:40:00-04:00",
"arrivalDatetime": "2026-08-16T15:06:00-04:00",
"selectedAmenities": [
{
"key": "baby_seats",
"name": "Baby seats",
"description": "Your vehicle will have a child safety seat to keep children under age 4 safe.",
"imageUrl": "https://api.sandbox.travelandz.com/v1/assets/transfers/images/0/amenities/baby-seats.svg",
"pngImageUrl": "https://api.sandbox.travelandz.com/v1/assets/transfers/images/0/amenities/baby-seats.png",
"inputType": "numeric",
"included": false,
"selected": true,
"selectable": true
},
{
"key": "child_booster",
"name": "Child booster",
"description": "Your vehicle will have a child booster seat to keep children from age 4-8 safe.",
"imageUrl": "https://api.sandbox.travelandz.com/v1/assets/transfers/images/0/amenities/child-booster.svg",
"pngImageUrl": "https://api.sandbox.travelandz.com/v1/assets/transfers/images/0/amenities/child-booster.png",
"inputType": "numeric",
"included": false,
"selected": true,
"selectable": true
}
]
}
]
}Errores
| HTTP | Código | Significado | Acción recomendada |
|---|---|---|---|
400 | El body, la query o el path son inválidos, o incluyen una propiedad desconocida. | Corrige la petición usando el array message. | |
400 | transfer_invalid_currency | La moneda está fuera de la lista soportada. | Usa una moneda soportada. |
400 | transfer_invalid_language | El idioma solicitado no está soportado. | Usa uno de los valores de idioma documentados. |
429 | transfer_provider_error | El servicio está temporalmente limitado por rate limit. | Reintenta con backoff exponencial. |
502 | transfer_provider_error | La petición no pudo completarse. | No asumas que tuvo éxito. Conserva tus identificadores y consulta la reserva cuando la operación pudiera haberse creado. |
400 | transfer_currency_mismatch | La moneda no coincide con la oferta, la cotización o la reserva. | Reutiliza la moneda devuelta por el paso anterior, u omite el campo para heredarla. |
503 | El precio no pudo confirmarse en este momento. | Reintenta más tarde. No reserves ni cobres al viajero. | |
400 | transfer_booking_not_found | La petición no incluyó exactamente un identificador de reserva. | Envía exactamente uno entre reservationId, confirmationNumber o searchId. |
Notas de uso
Si envías currency, debe coincidir con la moneda en la que se cobró la reserva. Omítela para recibir la reserva en su propia moneda.
Conserva el reservationId y el confirmationNumber devueltos: la cancelación, el tracking y los datos del conductor se identifican con ellos.
Ejemplo cURL
curl --request GET \
--url "https://api.sandbox.travelandz.com/v1/transfers/reservations/details?gdsprovider=0&searchId=73a5670b476649a985f0535db1077c05¤cy=USD" \
-H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
-H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE"