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

Primeros pasos con la API de Xeni Hoteles

Última actualización: 2026-02-13

Comenzando con la API de Xeni Hotels

La API de Xeni Hotels le brinda acceso programático a más de 2 millones de propiedades hoteleras en todo el mundo. Con una única integración, puede buscar hoteles, verificar la disponibilidad y los precios en tiempo real y completar reservas completamente a través de API, todo a través de una interfaz REST completa y limpia.

Qué puedes hacer

La API de Hoteles v2 admite el ciclo de vida completo de las reservas:

  • Buscar ubicaciones: autocompletar nombres de ciudades, regiones o hoteles específicos y recuperar coordenadas geográficas.
  • Buscar hoteles: consulte propiedades disponibles por ubicación, fechas, ocupación, clasificación de estrellas, servicios y rango de precios.
  • Obtener detalles del hotel: recupere información completa de la propiedad, incluidas fotos, servicios, políticas y reseñas de huéspedes.
  • Ver disponibilidad de habitaciones: vea los tipos de habitaciones disponibles con precios en tiempo real para fechas específicas y recuentos de huéspedes.
  • Confirmar precio: fije una tarifa por hasta 10 minutos y reciba un token de precio final.
  • Crear reservas: reserve mediante programación a través de la API utilizando su propio procesador de pagos, el comerciante de Xeni o redirigiendo a los invitados a la página de pago SSO alojada de Xeni.
  • Administrar reservas: recupere los detalles de la reserva y procese cancelaciones mediante el ID de la reserva.

Ambientes

Medio ambienteBase URLPropósito
UAT (Sandbox)https://uat.travelapi.aiDesarrollo y pruebas. No hay reservas reales creado.
ProducciónXEN IKBPH38https://api.travelapi.aiEn Vivo ambiente. Reservas reales con cargos reales.

Recomendamos crear y probar su integración en el entorno UAT antes de pasar a producción. La superficie API es idéntica en ambos entornos.

Versiones de API

Todos los puntos finales del hotel utilizan el prefijo de ruta v2. Por ejemplo:

GET  /hotels/api/v2/autocompletePOST /hotels/api/v2/propertiesGET  /hotels/api/v2/property/{propertyid}POST /hotels/api/v2/properties/availabilityGET  /hotels/api/v2/properties/pricePOST /hotels/api/v2/bookingsGET  /hotels/api/v2/bookings/{bookingid}PATCH /hotels/api/v2/bookings/{booking_id}

Requisitos previos

Antes de comenzar, necesitará:

  1. Clave API: su clave API única, proporcionada durante la incorporación.
  2. API Secret: su clave secreta, que se utiliza junto con la clave API para generar firmas de autenticación.

Si aún no has recibido tus credenciales, contacta a tu representante de cuenta Xeni.

Inicio rápido: su primera búsqueda de hotel

Aquí tienes el flujo mínimo para buscar hoteles. Cada paso se trata en detalle en artículos posteriores.

Paso 1: Autenticar

Genere una firma llamando al punto final de autenticación con su clave API, secreto y una marca de tiempo Unix.

POST /identity/v2/auth/generate

{ "api_key": "your-api-key", "secret": "your-api-secret", "timestamp": 1700000000}

// Response{ "signature": "eyJhbGciOi..."}

La firma es válida por 30 minutos. Inclúyalo en el encabezado Authorization de todas las solicitudes posteriores.

Paso 2: buscar una ubicación

Utilice el punto final de autocompletar para resolver un nombre de destino en coordenadas.

GET /hotels/api/v2/autocomplete?key=Miami

// Response{ "data": [ { "id": "12345", "name": "Miami", "full_name": "Miami, Florida, United States", "country": "United States", "state": "Florida", "location": { "lat": 25.7617, "long": -80.1918 } } ]}

Importante: Los encabezados de respuesta incluirán un x-correlation-id. Guarde este valor: debe pasarse en los encabezados de todas las llamadas API posteriores dentro de esta sesión de búsqueda.

Paso 3: buscar hoteles

Utilizando las coordenadas y el ID de correlación del paso anterior, busque hoteles disponibles.

POST /hotels/api/v2/properties?page=1&limit=20

Headers: Authorization: {signature} x-correlation-id: {correlation_id}

{ "checkindate": "2025-03-15", "checkoutdate": "2025-03-18", "occupancy": [ { "adults": 2, "childs": 0, "childages": [] } ], "lat": 25.7617, "long": -80.1918, "countryofresidence": "US", "sort": [{ "key": "price", "order": "asc" }], "filters": { "ratings": [] }, "is_async": false}

// Response{ "data": { "total": 321, "hotels": [ { "propertyid": "XN00012345", "name": "Oceanview Resort & Spa", "ratings": { "starrating": 4, "userrating": 8.5 }, "rate": { "baserate": 189.00, "totalrate": 567.00, "currency": "USD", "taxandfees": 63.50 }, "amenities": ["Free WiFi", "Pool", "Spa"], "image": { "large": "https://..." }, "contact": { "address": { "line1": "123 Ocean Drive", "city": "Miami Beach", "state": "FL", "postal_code": "33139" } } } ] }}

¿Qué sigue?

A partir de aquí, el flujo típico continúa con:

  1. Recuperando detalles del hotel para una propiedad específica
  2. Verificar disponibilidad de habitaciones para ver tipos de habitaciones y precios en tiempo real
  3. Confirmar el precio para fijar una tarifa
  4. Completar la reserva: mediante una llamada API directa (con su propio procesador de pagos o el de Xeni) o redirigiendo al huésped a la página de pago SSO de Xeni

Tipo de contenido y encabezados

Todas las solicitudes deben incluir los siguientes encabezados:

XENIKBPH5 5RequeridoXENI KBPH83x-correlación-id
EncabezadoValor
Tipo de contenido XENIKBPH63application/jsonXENIK BPH70
AutorizaciónSu API firma
Correlación ID de la respuesta API inicialDespués de la primera llamada

Formato de respuesta

Todas las respuestas de la API devuelven JSON. Las respuestas exitosas envuelven su carga útil en una propiedad data:

JSON
{  "data": { ... }}

Las respuestas de error siguen una estructura consistente:

JSON
{
  "message": "Description of the error",
  "status": 400
}

*

_Artículo siguiente: Autenticación y firmas API
_

¿Te resultó útil este artículo?