Referencia de encabezados y parámetros de solicitud de API de ofertas
Este artículo proporciona una referencia detallada para cada parámetro de consulta y encabezado HTTP aceptado por el punto final de la API de ofertas. Comprender cada campo le ayuda a crear solicitudes precisas y obtener los resultados más relevantes.
Parámetros de consulta
lat (obligatorio)
- Tipo: flotante
- Ejemplo:
34.0522
-90.0 (Polo Sur) y 90.0 (Polo Norte). La API utiliza esta coordenada, junto con long, para determinar qué ofertas de hotel devolver según la proximidad.
Utilice al menos cuatro decimales para obtener resultados precisos. Cuatro decimales proporcionan una precisión de aproximadamente 11 metros, lo que es más que suficiente para buscar ofertas.
lat=48.8566 ← Paris, France
lat=35.6762 ← Tokyo, Japan
lat=-33.8688 ← Sydney, Australia
long (obligatorio)
- Tipo: flotante
- Ejemplo:
-118.2437
-180.0 (oeste) y 180.0 (este).
long=2.3522 ← Paris, France
long=139.6503 ← Tokyo, Japan
long=151.2093 ← Sydney, Australia
currency (obligatorio)
- Tipo: cadena
- Ejemplo:
USD
| Código | Moneda |
|---|---|
USD | Dólar estadounidense |
EUR | euros |
GBP | Libra esterlina británica |
CAD | Dólar canadiense |
AUD | Dólar australiano |
MXN | peso mexicano |
JPY | Yen japonés |
BRL | Real brasileño |
top_destination (opcional)
- Tipo: booleano
- Predeterminado:
false - Ejemplo:
true
true, la API devuelve ofertas para destinos de viaje populares cerca de las coordenadas proporcionadas en lugar de las propiedades estrictamente más cercanas. Esto es útil para crear secciones de "Destinos principales" o "Ofertas de tendencia" donde desea resaltar ubicaciones conocidas en lugar del hotel disponible más cercano.
Cuando se omite o se establece en false, la API devuelve ofertas basadas únicamente en la proximidad a las coordenadas dadas.
# Proximity-based deals (default)
?lat=40.7128&long=-74.0060¤cy=USD
Top destination deals
?lat=40.7128&long=-74.0060¤cy=USD&top_destination=true
encabezados HTTP
accept (obligatorio)
- Valor:
application/json
application/json.
accept-language (recomendado)
- Valor: Etiqueta de idioma (p. ej.,
en,es,fr,de) - Comportamiento predeterminado:
ensi se omite
accept-language: en ← English
accept-language: es ← Spanish
accept-language: fr ← French
accept-language: de ← German
accept-language: pt-BR ← Brazilian Portuguese
origin (recomendado)
- Valor: La URL de origen de tu aplicación
- Ejemplo:
https://yourdomain.com
referer (recomendado)
- Valor: La URL completa de la página que realiza la solicitud.
- Ejemplo:
https://yourdomain.com/deals
origin, esto ayuda en el seguimiento y análisis de solicitudes.
timezone (recomendado)
- Valor: Identificador de zona horaria de la IANA
- Ejemplo:
America/Los_Angeles
Valores comunes de zona horaria:
| Zona horaria | Región |
|---|---|
America/NewYork | Este de EE. UU. |
America/Chicago | Centro de EE. UU. |
America/Denver | Montaña de EE. UU. |
America/LosAngeles | Pacífico de EE. UU. |
Europe/London | Reino Unido |
Europe/Paris | Europa Central |
Asia/Tokyo | Japón |
Australia/Sydney | Australia Oriental |
Puede detectar la zona horaria del usuario mediante programación en JavaScript:
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// e.g., "America/Los_Angeles"
x-correlation-id (obligatorio)
- Valor: UUID v4
- Ejemplo:
550e8400-e29b-41d4-a716-446655440000
const correlationId = crypto.randomUUID();
Si necesita comunicarse con el soporte de Xeni sobre una solicitud específica, proporcione el valor x-correlation-id para que el equipo pueda rastrearlo a través del sistema.
x-session-id (obligatorio)
- Valor: UUID v4
- Ejemplo:
6fa459ea-ee8a-3ca4-894e-db77e160355e
x-correlation-id, que cambia según la solicitud, x-session-id debe permanecer igual durante una única sesión de usuario.
Esto ayuda a la API a optimizar los resultados y permite a Xeni realizar un seguimiento de los viajes de los usuarios con fines analíticos.
// Generate once per session and reuse
if (!sessionStorage.getItem('xeniSessionId')) {
sessionStorage.setItem('xeniSessionId', crypto.randomUUID());
}
const sessionId = sessionStorage.getItem('xeniSessionId');
Ejemplo de solicitud completa
Juntando todos los parámetros y encabezados:
curl -X GET "https://travelapi.ai/hotels/api/v2/deals?lat=51.5074&long=-0.1278¤cy=GBP&top_destination=true" \
-H "accept: application/json" \
-H "accept-language: en" \
-H "origin: https://myapp.com" \
-H "referer: https://myapp.com/travel-deals" \
-H "timezone: Europe/London" \
-H "x-correlation-id: d290f1ee-6c54-4b01-90e6-d701748f0851" \
-H "x-session-id: 7c9e6679-7425-40de-944b-e07fc1f90ae7"