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
2 camposMoneda
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/amenities?currency=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.
Respuesta
Pulsa «¡Pruébalo!» para enviar una petición y ver la respuesta aquí.
Obtén el catálogo localizado de amenities que puedes ofrecer junto a un transfer.
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. Todos los parámetros de query son opcionales.
Schema de query params
currencyUSD on a new search and is inherited afterwards.languageLANG or Accept-Language header.Respuesta exitosa
Devuelve el catálogo como un array JSON de nivel superior. El key de cada entrada es lo que envías en selectedAmenities al pedir pricing.
Este endpoint no devuelve precios. El coste de una selección solo se conoce después de pricing.
Schema de respuesta
keyselectedAmenities.namedescriptionimageUrlpngImageUrlinputTypeincludedselectableEjemplos de respuesta
[
{
"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,
"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,
"selectable": true
},
{
"key": "sms_notifications",
"name": "SMS notifications",
"inputType": "boolean",
"included": false,
"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. |
Notas de uso
Una oferta puede incluir ya algunas amenities. Revisa included y selectable en la propia oferta antes de mostrar este catálogo como lista de extras.
Ejemplo cURL
curl --request GET \
--url "https://api.sandbox.travelandz.com/v1/transfers/amenities?currency=USD" \
-H "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
-H "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE"