Compras
La API de compras proporciona acceso a las tarifas y a la disponibilidad en tiempo real de 700 000 alojamientos en todo el mundo.
Información general
La API de compras devuelve las tarifas y la disponibilidad de todos los tipos de habitaciones de los alojamientos especificados (hasta 250 alojamientos como máximo por solicitud). La respuesta incluye los detalles sobre la tarifa, como las promociones, si la tarifa es reembolsable, las penalizaciones por cancelación y un desglose completo de los precios para cumplir los requisitos sobre indicación de tarifas de tu mercado.
Se pueden solicitar varias habitaciones del mismo tipo con varias instancias del parámetro occupancy. Si se solicita la misma ocupación varias veces en la misma solicitud, la respuesta solo contendrá un único conjunto de tarifas para esa ocupación. No se pueden solicitar más de ocho habitaciones a la vez. Si necesitas reservar más de 8 habitaciones a la vez, ponte en contacto con tu gestor de cuentas. Estamos trabajando para ampliar el servicio de reservas para grupos, y si nos cuentas cuáles son tus necesidades, nos ayudará a dar forma a nuestra solución.
Cambios en la indicación de precios
En algunas jurisdicciones se están aprobando leyes que regulan cómo se deben mostrar las tarifas a los viajeros. Cada ley es un poco diferente, pero la forma en que hemos aplicado los cambios te permitirá adaptarte a cada caso concreto.
Algunos ejemplos de la normativa sobre la indicación de precios son, entre otros:
¿Por qué estos cambios?
Expedia Group ha introducido cambios en su API para que los socios de la API puedan mostrar los precios de diversas formas. No obstante, en última instancia, cada socio que utilice la API de Expedia Group's es responsable de garantizar que la forma en que muestra la información de viajes y los precios de Expedia cumpla con la legislación vigente.
¿Cuáles son los cambios?
Expedia Ha mejorado la página « Rapid API » para incluir un nuevo campo « property_inclusive » que muestra el precio total, que incluye la tarifa base y todas las tasas e impuestos « Expedia » y «property collected» correspondientes a toda la estancia. En un nuevo campo también está disponible una versión tachada de este precio total property_inclusive_strikethrough. Además de los nuevos campos de visualización que incluyen datos sobre la propiedad, hemos reestructurado la forma en que se desglosan los impuestos y las tasas en la respuesta de la API. Todas las tarifas cobradas en Expedia forman parte del desglose de precios por noche y por estancia property_fee, y todos los impuestos recaudados en Expedia forman parte del desglose de precios por noche y por estancia tax_and_service_fee.
En el caso de las tarifas de « Expedia », el « billable_currency » de los campos « property_inclusive » y « property_inclusive_strikethrough » aparecerá en la moneda especificada en el contrato de Expedia Group's con el proveedor, que suele ser la moneda local del alojamiento. Esto es independiente de la request_currency, ya que los campos property_inclusivey property_inclusive_strikethroughpueden incluir tasas cobradas en el alojamiento en la moneda local. Este comportamiento difiere del de los campos « inclusive » y « inclusive_strikethrough », en los que el « billable_currency » para las tasas de « Expedia » será el mismo que el de « request_currency ».
Es posible que en la respuesta «Shop» los importes cobrados aparezcan agrupados de forma diferente a como se muestran en la respuesta «Content». Los totales deberían seguir cuadrando bien.
Se trata de un cambio general que se ha aplicado a todas las propiedades; si tienes alguna duda sobre los cambios, ponte en contacto con tu gestor de cuenta.
Puntos de fidelidad
Los alojamientos con programas de fidelidad que participan en el programa de tarifas corporativas de Expedia ofrecen a los viajeros de negocios la oportunidad de ganar puntos de fidelidad del hotel por sus estancias. Los colaboradores pueden utilizar el nodo de servicios de la respuesta de la API de compras para identificar y mostrar los requisitos del programa de fidelidad antes de solicitar los detalles de la suscripción del viajero.
También pueden buscar específicamente tarifas corporativas que cumplan los requisitos del programa de fidelidad con el filtro de valor loyalty en sus solicitudes a la API de compras.
Nota: Solo se pueden ganar puntos de fidelidad por las tarifas corporativas de hoteles que tengan un programa de fidelidad.
Ejemplo:
Las tarifas corporativas de hotel válidas para obtener puntos de fidelidad tendrán el parámetro que se indica a continuación en la respuesta de búsqueda con el nodo amenities
{
"id": "2096",
"name": "Eligible for hotel loyalty points"
}Incentivos de comisiones
Como colaborador de Rapid API, tienes acceso a incentivos de comisiones adicionales que ofrecen márgenes más altos en los alojamientos durante un periodo determinado de reserva y estancia. Para identificar los alojamientos con un incentivo de comisión activo, solo tienes que utilizar el valor rooms.rates.marketing_fee_incentives para el parámetro include en tu solicitud a la API de compras de Rapid. Las tarifas con incentivos de comisiones para todo o para parte del periodo de estancia solicitado incluirán detalles adicionales, como el origen del incentivo y la parte de la estancia afectada, en el objeto marketing_fee_incentives de la respuesta de la API de compras. A continuación, puedes tener en cuenta esta información y el campo marketing_fee existente, que es una estimación de la tarifa de marketing que incluye todos los incentivos disponibles, en tu proceso de clasificación y selección de inventario.
Ejemplo
El alojamiento 19248 ofrece márgenes más elevados para las estancias en diciembre. Envía una solicitud a la API de Shopping para la Propiedad 19248 para una estancia del 22 de diciembre al 5 de enero. En el objeto « marketing_fee_incentives » de la respuesta de la API de Shopping, Verás que hay un incentivo disponible para una parte de la estancia solicitada, del 22 de diciembre al 31 de diciembre, lo que supone 10 de las 14 noches de estancia.
Ejemplo de solicitud
curl -X GET "https://test.ean.com/v3/properties/availability\
?checkin=2026-12-22\
&checkout=2027-01-05\
¤cy=USD\
&country_code=US\
&language=en-US\
&occupancy=2\
&property_id=19248\
&rate_plan_count=1\
&sales_channel=website\
&sales_environment=hotel_only\
&include=rooms.rates.marketing_fee_incentives\
&travel_purpose=leisure" \
-H "accept: application/json, application/json"\
-H "accept-encoding: gzip"\
-H "authorization: EAN apikey=abcd1234,signature=090a77e7ddd7779980231,timestamp=1697664047"\
-H "user-agent: TravelNow/3.30.112"Ejemplo de respuesta
[
{
"property_id": "19248",
"rooms": [
{
"id": "123abc",
"room_name": "Fancy Queen Room",
"rates": [
{
"id": "333abc",
...
"marketing_fee_incentives": [
{
"source": "property",
"start": "2026-12-22",
"end": "2027-12-31"
}
],
"occupancy_pricing": {
"2": {
"nightly": [ ... ],
"stay": [ ... ],
"totals": {
"inclusive": { ... },
"exclusive": { ... },
"inclusive_strikethrough": { ... },
"strikethrough": { ... },
"marketing_fee": {
"billable_currency": {
"value": "276.36",
"currency": "USD"
},
"request_currency": {
"value": "276.36",
"currency": "USD"
}
},
"gross_profit": { ... },
"minimum_selling_price": { ... },
"property_fees": { ... }
},
"fees": { ... }
}
}
}
]
}
]
}
]Propósito del viaje
El parámetro « travel_purpose » te permite indicar si el viajero viaja por negocios o por placer. Todos los socios de Rapid pueden usar el parámetro travel_purposepara ayudar a los alojamientos a identificar mejor y atender mejor a los viajeros de negocios.
Para aquellos socios que cumplan los requisitos para solicitar las tarifas empresariales, tendrás que usar « travel_purpose=business » en la solicitud de Shop para recibir las tarifas empresariales en la respuesta de Shop. Si no se incluye el parámetro travel_purpose en la solicitud, se asumirá que es un viaje de ocio y no se devolverán las tarifas corporativas.
Ejemplo
Especificar que un viajero va a viajar por motivos de negocios es tan fácil como añadir 24 caracteres a la solicitud de la API de disponibilidad.
&travel_purpose=businessMerchandising
Hemos introducido cambios en la API de compras para dar soporte a los flujos de merchandising y facilitar al máximo tu integración con la API de merchandising: los socios pueden usar el nuevo filtro « deal », disponible en el punto final «Rapid Shopping Availability», para recibir únicamente tarifas que incluyan promociones activas. Esto les da a los socios la flexibilidad de crear una solicitud de Shopping centrada exclusivamente en el merchandising y asegurarse de que todas las tarifas que se devuelvan tengan el atributo « deal ».
>> Más información sobre la API de merchandising
Precios tachados
El campo strikethrough indica el precio total sin impuestos antes de aplicar los descuentos financiados por el hotel. Este campo debe usarse en plataformas que suelen mostrar el precio base sin impuestos ni tarifas en los resultados de búsqueda, como en Estados Unidos.
El campo inclusive_strikethrough muestra el precio total, sin los descuentos, y con los impuestos y tasas incluidos. El propósito de este campo es permitirte mostrar con mayor claridad el descuento que se aplica en las plataformas que muestran precios con todo incluido, es decir, base más impuestos y cargos. El campo devuelve el valor tanto en la moneda facturable como en la solicitada.
Ejemplo
[
{
"property_id": "19248",
"rooms": [
{
"id": "123abc",
"room_name": "Fancy Queen Room",
"rates": [
{
"id": "333abc",
...
"occupancy_pricing": {
"2": {
"nightly": [ ... ],
"stay": [ ... ],
"totals": {
"inclusive": { ... },
"exclusive": { ... },
"inclusive_strikethrough": {
"billable_currency": {
"value": "726.63",
"currency": "CAD"
},
"request_currency": {
"value": "549.60",
"currency": "USD"
}
},
"strikethrough": {
"billable_currency": {
"value": "650.00",
"currency": "CAD"
},
"request_currency": {
"value": "491.64",
"currency": "USD"
}
},
"marketing_fee": { ... },
"gross_profit": { ... },
"minimum_selling_price": { ... },
"property_fees": { ... }
},
"fees": { ... }
}
}
}
]
}
]
}
]Detalles de precios de promociones y descuentos
Al mostrar un importe de ahorro con descuento basado en una promoción o con precios tachados proporcionados en las API de disponibilidad y comprobación de precios, determinados puntos de venta necesitan que se proporcionen los detalles sobre el precio de la tarifa estándar (es decir, el precio sobre el que se calcula el descuento). Consulta en los siguientes enunciados qué terminología hay que utilizar.
UE: proporciona datos claros sobre el precio de la tarifa estándar (p. ej., "Este precio es la tarifa estándar proporcionada por el alojamiento en función de la búsqueda").
Italia: utiliza la siguiente frase: *"Questo prezzo è basato sulla tariffa generalmente applicabile fornita dalla struttura per questa camera e per queste date".
Opciones de reembolso
El campo « current_refundability » permite a los socios mostrar todas las opciones de reembolso, lo que ofrece a los viajeros transparencia en las tarifas y una mayor flexibilidad.
Las tres opciones son:
refundablenon_refundablepartially_refundable
¿Qué significa «parcialmente reembolsable»?
«Parcialmente reembolsable» se refiere a las tarifas en las que la penalización por cancelación es superior a 0 pero inferior al valor total de la reserva y/o, y en las que hay non-refundable intervalos de fechas dentro del periodo de estancia.
>> Infórmate sobre las penalizaciones por cancelación
¿En qué sentido es mejor aprovechar el campo « current_refundability » que usar solo el indicador booleano «refundable»?
El indicador booleano « refundable » indica si una tarifa es totalmente reembolsable o no, pero devuelve el resultado « false » para las tarifas parcialmente reembolsables, lo cual puede llevar a confusión a los viajeros. El campo « current_refundability » ofrece una opción más detallada que te da información más precisa sobre si las tarifas son reembolsables.
¿Cómo pueden los socios recibir el campo « current_refundability » en la respuesta de Shop?
Los socios deben solicitar el campo « current_refundability » dentro del parámetro « include » en la solicitud de Shop.
Ejemplo
"property_id": "23060",
"status": "available".
"rates": [
{
"id": "201392692",
"status": "available",
...
...
...
...
"current_refundability": partially_refundable,
"cancel_penalties":[
{
"start": "2027-10-08T23:59:00.000+02:00",
"end": "2027-10-09T23:59:00.000+02:00",
"nights":"1",
"currency": "EUR"
}
]
}
]Motivo de falta de disponibilidad
La función unavailable_reason te permite solicitar información procesable sobre por qué una propiedad no está disponible para una estancia determinada (fechas de estancia y ocupación). El parámetro de solicitud opcional include=unavailable_reason debe incluirse en la compra para recibir esta información en la respuesta. Sin embargo, no todos los alojamientos no disponibles tendrán un motivo procesable por el que no se puedan reservar. Estos alojamientos no se devolverán en la respuesta.
La respuesta de compra puede incluir una combinación de alojamientos disponibles y no disponibles. Los alojamientos no disponibles incluirán un property_id, score y una sección unavailable_reason que incluye un code con una breve explicación de por qué el alojamiento no está disponible (en inglés) y data para obtener información adicional que podría adaptarse en la solicitud para hacer que el alojamiento, las habitaciones o los planes de tarifas estén disponibles. Por ejemplo, si un code unavailable_reason fuera adults_exceed_threshold, el 2 en data significaría que 2 adultos es el número máximo permitido para esa habitación o tarifa y se produciría un error con cualquier ocupación superior a 2.
Nota: Se pueden aplicar varias restricciones a un alojamiento, pero solo se devolverá un unavailable_reason.
Ejemplo
[
{
"property_id": "824739",
"score": 12345,
"unavailable_reason": {
"code": "adults_exceed_threshold",
"data": "2"
}
}
]>> Mira la lista completa de los códigos devueltos
Filtros de servicios
Tienes la opción de filtrar los alojamientos devueltos en la respuesta de compra de Rapid con el parámetro de solicitud amenity_category junto con uno o más servicios específicos. Echa un vistazo a la sección de categorías de servicios de las listas de referencia de contenido para ver una lista de los servicios que puedes usar para filtrar la respuesta.
>> Echa un vistazo a las listas de referencias de contenido
Ejemplos
Filtro de servicio único:
&amenity_category=free_breakfastFiltro de varios servicios:
&amenity_category=free_breakfast&amenity_category=free_airport_transfer&amenity_category=casinoLímites de cuota
Conseguimos optimizar el tráfico aplicando límites de cuota a los colaboradores. Estos límites de cuota aseguran que podemos ofrecer un servicio estable y sostenible a los colaboradores, al mismo tiempo que garantizan un uso eficiente de los sistemas de Expedia Group. Para el tráfico de compras, los factores más importantes para determinar la carga son la cantidad de alojamientos y habitaciones, y la duración de las estancias que se buscan en cada solicitud.
>> Más información sobre la limitación de velocidad
Comprobación de los precios
Confirma el precio que ha devuelto la respuesta de compra. Utiliza esta API para verificar si una tarifa seleccionada previamente sigue siendo válida antes de realizar la reserva. Si el precio coincide, la respuesta devuelve un enlace para solicitar una reserva. Si el precio ha cambiado, la respuesta devuelve nuevos detalles sobre el precio y un enlace para reservar el nuevo precio. Si ya no está disponible el precio, la respuesta devuelve un enlace a una nueva solicitud de compra para buscar otras tarifas.
Puede haber una ligera variación de aproximadamente el 0,1 % (por habitación × persona × noche) en el importe a cobrar que aparece en PriceCheck, totals.property_feesy feesen comparación con la respuesta anterior de Shop, que podría incluir un importe ajustado a cero. La diferencia en las cuotas que hay que pagar en la propiedad surge cuando lo que aparece en request_currencyy billable_currencyno coincide con lo que indica Expedia en cuanto a las tasas de recaudación. Esta discrepancia no afectará al funcionamiento de la API.
Retención y reanudación
Algunos artículos no se pueden reservar ni reactivar. Los socios que utilicen las funciones «suspender» y «reanudar» pueden acceder a estas tarifas incrementales adoptando el indicador de compra de las tarifas « non-holdable ».
>> Más información sobre «Pausar y reanudar»
Opciones de pago
Devuelve las opciones de pago aceptadas cuando « Expedia » cobra al viajero final (EPS MOR). Utiliza esta API para activar la página de pagos y mostrar las formas de pago válidas, de modo que la reserva se realice sin complicaciones.
Notas importantes
languagesolo usa pares de códigos de idioma y de país de dos dígitos separados por un guion.
>> Echa un vistazo a los idiomas que admitimos
- Los códigos de
countryde dos dígitos indican el punto de venta del viajero, pero no afectan al contenido localizado. - No se devuelven datos estáticos (nombres, clasificación por estrellas, información geográfica, etc.). Solo se ofrecen datos relacionados con la disponibilidad y las tarifas.
- Los enlaces tokenizados en las respuestas caducarán tras un breve periodo de tiempo. Si un enlace token devuelve un error HTTP 503, es probable que el enlace haya caducado. Deberás obtener una nueva comprobación de precios o un enlace a los depósitos generados en una respuesta de compras reciente, y volver a intentarlo. No guardes los valores de los enlaces para reutilizarlos a largo plazo.
- Rapid API permite que los alojamientos actualicen su contenido en cualquier momento. Necesitamos que hagas todo lo posible por proporcionar a los clientes la información más actualizada. La API de compra proporciona la información más actual sobre las habitaciones y las tarifas que estén vacantes. Para obtener informaci ón adicional de property-level, room-level, y rate-level que no aparezca en esta respuesta, usa nuestra API de contenido inmobiliario.
>> Más información sobre la API de contenido inmobiliario - Las API proporcionan precios basados solamente en una habitación. Para reservar varias habitaciones, deberás realizar tú mismo cualquier cálculo adicional. Como parte de los requisitos de lanzamiento, tu integración debería mostrar el desglose detallado de los precios a los usuarios finales en determinados pasos del proceso de reserva.
>> Echa un vistazo al desglose en la página web segura de nuestro socio
>> Descubre cómo hacer solicitudes de prueba
Impuestos y tasas variables
Puede que haya impuestos y tasas obligatorios que no estén incluidos en el precio total porque no se pueden calcular en el momento de la reserva, como, por ejemplo, cargos que varían en función de una activid in-stay a o impuestos variables sobre el alojamiento en algunos mercados, como Japón y Colombia. En la API de contenido encontrarás información sobre cómo se calculan estos impuestos y tasas variables. Esta información debería aparecer bien visible para los viajeros.
Detalles de la API
Explora las definiciones de los puntos de conexión relacionados con las compras en esta página y usa API Explorer u otro software de pruebas para ver la diferencia entre los ejemplos y las definiciones de esquemas, y el resultado real.
Recursos adicionales
Tanto si lo que quieres es probar todos los puntos de conexión de Rapid API como si quieres descargar las especificaciones de OpenAPI o nuestra colección de Postman, tenemos lo que necesitas.