Primeros pasos con la API de actividades de XeniCómo reservar una actividadCómo buscar etiquetas y categorías de actividadesCómo cancelar una reserva de actividadCómo comprobar la disponibilidad de la actividadCómo obtener detalles de la actividadCómo recuperar los detalles de la reserva de actividadesCómo buscar actividades con filtrosCómo buscar destinos de actividadesAPI de alquiler de coches: introducciónAPI de alquiler de coches: comprensión de los campos de respuestaCómo reservar un alquiler de cochesCómo obtener detalles del vehículo de alquiler y complementos de equipoCómo recuperar o cancelar una reserva de alquiler de cochesCómo buscar autos de alquiler disponiblesCómo buscar ubicaciones de recogidaCómo utilizar los filtros de búsqueda de alquiler de cochesMejores prácticas de integración de API de ofertasPreguntas frecuentes sobre la API de ofertasPrimeros pasos con la API de ofertas de XeniReferencia de encabezados y parámetros de solicitud de API de ofertasOfertas API Monedas admitidas y localizaciónCómo mostrar ofertas en su aplicaciónCómo buscar ofertas de hoteles por ubicaciónCódigos de error de la API de vuelos y solución de problemasPrimeros pasos con la API de vuelos de XeniCómo reservar un vueloCómo comprobar la disponibilidad y el precio de los vuelosCómo confirmar o cancelar una reserva de vueloCómo recuperar las reglas de tarifas de un vueloCómo recuperar los detalles de la reserva de un vueloCómo buscar aeropuertos usando AutocompletarCómo buscar vuelosCómo utilizar filtros, clasificación y paginación de búsqueda de vuelosCómo comprobar la disponibilidad y el precio de las habitacionesCómo filtrar los resultados de los alquileres vacacionalesCómo obtener detalles, comodidades y accesibilidad de la propiedad del resortCómo mantener y confirmar una reserva de resortCómo liberar una retención de resortCómo recuperar los detalles de la reserva del resortCómo buscar complejos turísticos disponiblesCómo buscar destinos turísticosCómo buscar ubicaciones de alquiler vacacionalCómo buscar alquileres vacacionalesCómo utilizar filtros de búsqueda y clasificación de complejos turísticosComenzando con la API de Xeni ResortsAPI de Resorts: comprensión de los estados y políticas de las reservasPrimeros pasos con la API de alquileres vacacionalesPreguntas frecuentes sobre alquileres vacacionalesTipos de propiedades admitidas para alquileres vacacionalesComprensión de la búsqueda asincrónica para alquileres vacacionalesAutenticación y firmas APIReserva de hoteles: API directa y pago SSOManejo de errores, límites de tasas y mejores prácticasPrimeros pasos con la API de Xeni HotelesGestión de reservas: estado, recuperación y cancelaciónConfirmación de precios y ciclo de vida del tokenRecuperar detalles del hotel y disponibilidad de habitacionesBúsqueda de hoteles: ubicaciones, filtros y paginaciónBuscando HotelesGestión de sesiones e ID de correlaciónAutenticación API y obtención de claves API

Ofertas API Monedas admitidas y localización

Última actualización: 2026-03-03

Ofertas Monedas admitidas por API y localización

La API de ofertas está diseñada para uso internacional. Puede solicitar precios de ofertas en una amplia gama de monedas, localizar el contenido de la respuesta por idioma y proporcionar contexto de zona horaria para información de ofertas urgente. Este artículo cubre cómo funciona cada una de estas funciones de localización.

Soporte de divisas

El parámetro currency

El parámetro de consulta currency acepta un código de moneda ISO 4217 de tres letras. Todos los precios de la respuesta (incluidos los precios de oferta, los precios originales y los montos de ahorro) se devuelven en la moneda especificada.

GET /hotels/api/v2/deals?lat=48.8566&long=2.3522&currency=EUR

Monedas de uso común

CódigoMonedaSímboloRegión de ejemplo
USDDólar estadounidense$Estados Unidos
EUReurosZona del euro
GBPLibra esterlina británica£Reino Unido
CADDólar canadienseCADCanadá
AUDDólar australianoA$Australia
MXNpeso mexicanoMX$México
BRLReal brasileñoR$Brasil
JPYYen japonés¥Japón
CNYYuan chino¥China
INRRupia india$India
KRWWon surcoreanoCorea del Sur
SGDDólar de SingapurS$Singapur
THBBaht tailandés฿Tailandia
AEDDírham de los Emiratos Árabes Unidosد.إEmiratos Árabes Unidos
CHFFranco suizoCHFSuiza
SEKCorona suecakrSuecia
NZDDólar de Nueva Zelanda$NZNueva Zelanda
ZARrand sudafricanoRSudáfrica
COPpeso colombiano$Colombia
ARSpeso argentino$Argentina
Esta no es una lista exhaustiva. La API admite la mayoría de los códigos de moneda ISO 4217. Si pasa un código no compatible, la API devolverá un error.

Cómo funciona la conversión de moneda

Las ofertas de hoteles provienen de múltiples proveedores, cada uno de los cuales puede fijar el precio de su inventario en diferentes monedas base. Cuando especifica una moneda en su solicitud, la API realiza la conversión en el lado del servidor utilizando los tipos de cambio actuales antes de devolver los resultados.

Puntos clave para entender:

  • Tipos en tiempo real: los tipos de cambio se actualizan periódicamente para reflejar las condiciones actuales del mercado.
  • Precios consistentes: todas las ofertas en una sola respuesta utilizan la misma moneda y el mismo tipo de cambio instantáneo, por lo que los precios son directamente comparables.
  • No se necesita conversión del lado del cliente: puede mostrar los precios devueltos tal como están sin lógica de conversión adicional.
  • Redondeo: los montos convertidos se redondean adecuadamente para la moneda de destino (por ejemplo, a dos decimales para USD, a números enteros para JPY).

Formato de precios para visualización

Al mostrar los precios de las ofertas, utilice Intl.NumberFormat del navegador para formatear los valores correctamente para la configuración regional del usuario:

JAVASCRIPT
function formatPrice(amount, currencyCode, locale = 'en-US') {
  return new Intl.NumberFormat(locale, {
    style: 'currency',
    currency: currencyCode,
    minimumFractionDigits: currencyCode === 'JPY' ? 0 : 2,
    maximumFractionDigits: currencyCode === 'JPY' ? 0 : 2
  }).format(amount);
}

// Examples:
formatPrice(199.00, 'USD'); // "$199.00"
formatPrice(175.50, 'EUR', 'de-DE'); // "175,50 €"
formatPrice(15000, 'JPY', 'ja-JP'); // "¥15,000"

Localización del idioma

El encabezado accept-language

El encabezado accept-language controla el idioma del texto localizado en la respuesta API. Esto puede afectar las descripciones de propiedades, las etiquetas de las ofertas y otros campos legibles por humanos.

accept-language: es

Códigos de idioma admitidos

La API admite etiquetas de idioma estándar BCP 47. Los valores comunes incluyen:| Código | Idioma |
|---------|-----------------------|
| en | Inglés |
| es | Español |
| fr | francés |
| de | alemán |
| it | italiano |
| pt | portugués |
| pt-BR | Portugués brasileño |
| ja | Japonés |
| ko | coreano |
| zh | Chino (simplificado) |
| zh-TW | Chino (tradicional) |
| ar | árabe |
| ru | ruso |

Comportamiento de localización

  • Reserva: si el idioma solicitado no está disponible para un contenido en particular, la API vuelve al inglés.
  • Localización parcial: algunos campos, como los nombres de las propiedades, pueden permanecer en su idioma original (el nombre que usa el hotel) independientemente del encabezado de idioma.
  • Consistente dentro de la respuesta: todos los campos localizables en una sola respuesta usan el mismo idioma.

Detección del idioma del usuario

Podrás detectar el idioma preferido del usuario desde el navegador:

JAVASCRIPT
const userLanguage = navigator.language || navigator.userLanguage || 'en';
// e.g., "es-MX", "fr", "en-US"

Manejo de zona horaria

El encabezado timezone

El encabezado timezone acepta un identificador de zona horaria de IANA y ayuda a la API a devolver información temporal relevante ajustada a la hora local del usuario.

timezone: America/Los_Angeles

Por qué es importante la zona horaria

  • Caducidad de la oferta: si una oferta tiene una fecha límite de reserva, la API puede expresarla en relación con la zona horaria del usuario.
  • Relevancia de la fecha de entrada: las ofertas urgentes para "esta noche" o "este fin de semana" dependen de lo que significa "hoy" en la zona horaria del usuario.
  • Consistencia: garantiza que las marcas de tiempo en la respuesta se alineen con lo que espera el usuario.

Detectando la zona horaria del usuario

JAVASCRIPT
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// e.g., "America/New_York", "Europe/Berlin", "Asia/Tokyo"

Valores comunes de zona horaria de la IANA

Zona horariaDesplazamiento UTCRegión
America/NewYorkUTC-5Este de EE. UU.
America/ChicagoUTC-6Centro de EE. UU.
America/DenverUTC-7Montaña de EE. UU.
America/LosAngelesUTC-8Pacífico de EE. UU.
Europe/LondonUTC+0Reino Unido
Europe/ParisUTC+1Europa Occidental
Europe/BerlinUTC+1Europa Central
Asia/DubaiUTC+4Región del Golfo
Asia/KolkataUTC+5:30India
Asia/SingaporeUTC+8Singapur / Malasia
Asia/TokyoUTC+9Japón
Australia/SydneyUTC+11Australia Oriental
Pacific/AucklandUTC+13Nueva Zelanda
> Nota: Las compensaciones UTC varían según el horario de verano. Utilice siempre el nombre de la zona horaria de la IANA en lugar de un desplazamiento fijo.

Juntándolo

Una solicitud totalmente localizada para un usuario de habla hispana en la Ciudad de México:

BASH
curl -X GET "https://travelapi.ai/hotels/api/v2/deals?lat=19.4326&long=-99.1332&currency=MXN" \
  -H "accept: application/json" \
  -H "accept-language: es" \
  -H "timezone: America/Mexico_City" \
  -H "x-correlation-id: c3d4e5f6-a1b2-7890-cdef-123456789abc" \
  -H "x-session-id: 12345678-abcd-ef01-2345-abcdef012345"

Esta solicitud devuelve ofertas de hoteles cerca de la Ciudad de México con precios en pesos mexicanos y contenido en español cuando esté disponible.

¿Te resultó útil este artículo?