Los mensajes de transacción envían datos sobre habitaciones, precios y paquetes a Google. Existen dos tipos principales de mensajes de transacción:
Datos del itinerario: Define los datos del paquete de habitaciones y del itinerario, incluidos los siguientes:
Precios e inventario de hoteles: Establece el precio mínimo de un itinerario que cumpla con ciertos requisitos. Para obtener más información, consulta Actualiza los precios. También puedes quitar una habitación del inventario. Para obtener más información, consulta Cómo quitar el inventario.
Paquetes de habitaciones: Establece los precios del itinerario para una combinación de una habitación física y un paquete de servicios adicionales. Para obtener más información, consulta Paquetes de habitaciones. Google almacena en caché el contenido de tus mensajes de transacción para que los precios estén disponibles en todo momento. En algunos casos, Google determina que los valores de su caché no están actualizados, por lo que podría enviar mensajes adicionales de
<Query>
(o, en algunos casos, consultas de precios en tiempo real) para obtener precios actualizados. Por lo general, estos datos cambian con mucha frecuencia. Para definir los precios y la disponibilidad de los mensajes de Transaction, usa<Result>
.
Metadatos de habitaciones y paquetes: Especifica detalles sobre las habitaciones y los paquetes, como descripciones, fotos y ocupación máxima. Estos datos no cambian con mucha frecuencia. Para definir los mensajes de transacción de metadatos, usa
<PropertyDataSet>
. Google almacena estos metadatos para que puedas consultarlos desde tus mensajes de precios en lugar de incluir información repetitiva sobre las habitaciones y los paquetes en cada uno. Para obtener más información, consulta Cómo definir metadatos de habitaciones y paquetes.
El elemento raíz de un mensaje de transacción es <Transaction>
. Los mensajes que usan el elemento <Transaction>
como elemento raíz requieren al menos uno de los elementos secundarios. Los mensajes de transacción pueden tener cualquier cantidad de elementos secundarios, siempre que el tamaño total del mensaje no supere los 100 MB.
Para ver ejemplos de mensajes de transacción que responden a solicitudes de Google, consulta la Referencia de XML para inventario de habitaciones y precios (transacciones).
Modos de entrega
El tipo y la frecuencia con los que envías los mensajes de transacción dependen del modo de entrega:
- En el modo de entrega de extracción, envías mensajes de transacción cuando recibes un
<Query>
de Google. - En el modo de entrega de precios modificados, envías un mensaje de Transaction después de recibir y responder un
<HintRequest>
y un<Query>
.
Para obtener más información, consulta Modos de publicación de precios.
Consultas de precios en tiempo real
Independientemente del modo de publicación, es posible que Google también te envíe solicitudes conocidas como consultas de precios en tiempo real. Estos mensajes de consulta buscan precios en respuesta a una búsqueda actual. Si respondes dentro del período especificado, que suele ser de unos cientos de milisegundos, tu anuncio puede aparecer en la subasta. Tus resultados también pueden coincidir mejor con el cliente, incluido su país, el tipo de dispositivo y la cantidad de invitados que especificó. Para obtener más información, consulta Consultas de precios en vivo.
Tamaño del mensaje
Puedes incluir cualquier combinación de actualizaciones de datos en un solo mensaje de transacción, pero hay un límite de 100 MB en el tamaño de cada mensaje. Por lo general, todas las solicitudes de extracción y sugerencia tienen un límite de tiempo de respuesta de 100 segundos. El tiempo de espera es un campo configurable que Google puede ajustar según se solicite. Google recomienda que configures el tiempo de espera en 10 minutos para mensajes muy grandes.
Para reducir en gran medida el tamaño de los mensajes y evitar posibles problemas con los tamaños de los mensajes y los tiempos de espera, usa los mensajes de transacción para definir previamente tus metadatos de sala y paquete.
También puedes agregar contenido comprimido de GNU a los mensajes. Para ello, agrega Content-Encoding: gzip
a los encabezados de los mensajes.