Les messages de demande sont des requêtes de Google pour la mise à jour des prix ou des métadonnées. Ils sont utilisés avec les modes d'envoi "Pull" et "Requête de prix modifiés".
L'élément racine des messages de requête est <Query>
.
La structure du message de requête dépend du type de message:
Prix:Google envoie un message de requête demandant les mises à jour des prix pour les hôtels spécifiés.
Métadonnées:Google envoie un message de requête qui demande des données sur les chambres et les séjours organisés dans les hôtels spécifiés.
Vous définissez le point de terminaison que Google utilise pour les messages de requête et les requêtes de prix en temps réel lors de votre configuration initiale. Pour en savoir plus, contactez votre responsable de compte technique (TAM).
Google envoie un message de requête sous la forme d'une requête HTTP POST
avec l'en-tête Content-Type
défini sur "application/xml" et l'en-tête User-Agent
défini sur Google-HotelAdsPrices
. Il existe une exception à cette règle lors des tests manuels de l'intégration du point de terminaison des prix via Google-TravelAds-Live
. Ces exemples de requêtes peuvent contenir ou non l'en-tête User-Agent
.
Pour en savoir plus sur la mise en forme détaillée des messages de requête, consultez la documentation de référence XML sur les requêtes.
Messages de requête de prix
Les messages de requête de prix spécifient les combinaisons d'établissement ou de séjour pour lesquelles vous fournissez les prix.
Lorsque votre serveur reçoit un message de requête de prix, il doit répondre avec un message <Transaction>
contenant les informations tarifaires requises.
Pour en savoir plus, consultez la présentation des tarifs.
Il existe trois types spéciaux de messages de demande:
Requête de prix en temps réel:si cette option est activée, les requêtes sont envoyées lorsqu'un utilisateur consulte activement les prix pour la combinaison d'établissement ou de séjour spécifiée et que vous disposez d'un délai pour y répondre.
Avec contexte:si cette option est activée, les recommandations de contexte utilisateur sont incluses dans chaque requête que Google vous envoie. Elles reflètent les types d'utilisateurs les plus courants qui recherchent les combinaisons d'établissement ou de séjour données. Le respect de ces recommandations peut accroître l'efficacité de vos réponses.
Métadonnées:requête de détails sur les chambres et les formules pour les établissements spécifiés.
Requêtes de prix en temps réel
Les requêtes de prix en temps réel sont des requêtes envoyées par Google pour mettre à jour les prix en temps réel en réponse aux recherches des utilisateurs. Google reçoit de la part d'un utilisateur une requête de recherche pour une combinaison d'hôtel ou de séjour. Étant donné que les données tarifaires ne sont pas disponibles ou ne sont pas à jour, Google vous demande de mettre à jour les prix au moment de la recherche. Avec les requêtes de prix en temps réel, Google tente d'obtenir un prix et de l'afficher dans les résultats au moment de la recherche.
Toutes les requêtes de requête de prix en temps réel ont un délai de réponse maximal de 4 000 millisecondes. Cette limite est spécifiée dans la requête de requête de prix en temps réel. Si une réponse ne peut pas être fournie dans le délai imparti, une participation manquée à cette opportunité spécifique se produit. Toutefois, nous vous recommandons de fournir un prix afin qu'il puisse être mis en cache et utilisé pour de futures opportunités. La connexion pour la réponse reste ouverte pendant 10 minutes ou comme spécifié dans la configuration du partenaire.
Les requêtes de prix en temps réel sont également contextuelles et peuvent récupérer les prix pour les paramètres suivants: pays de l'utilisateur, type d'appareil, nombre de personnes (nombre de personnes), et indiquant si ces clients sont des adultes ou des enfants. Les requêtes de prix en temps réel vous permettent d'afficher des prix plus à jour qui correspondent à ce que le client recherche.
Les requêtes de prix en temps réel sont destinées à être un mécanisme secondaire de mise à jour des prix. Le mécanisme principal de refacturation se fait toujours en mode Pull ou Prix modifiés. Les requêtes de prix en temps réel permettent de combler les lacunes lorsque Google ne dispose pas de tarifs pour des combinaisons d'hôtels et de séjours.
Règles d'utilisation des requêtes de prix en temps réel
Il n'existe aucune donnée mise en cache pour le séjour donné, car le séjour demandé est atypique (par exemple, les dates sont très éloignées ou les recherches sont rarement effectuées).
La date demandée n'est pas une date par défaut.
: Remarque: les dates par défaut ne sont pas éligibles pour les requêtes de prix en temps réel. Les requêtes de prix en temps réel ne sont demandées que pour des dates autres que celles par défaut.
Google met généralement en cache les résultats d'une requête de prix en temps réel afin que le même hôtel ou le même séjour ne soient pas interrogés à nouveau. Il peut demander des combinaisons pour un seul hôtel ou séjour, ainsi que des combinaisons pour plusieurs hôtels ou séjours.
La fonctionnalité Requête de prix en temps réel avec contexte permet à Google d'envoyer des requêtes de prix en temps réel en fonction du type d'appareil de l'utilisateur, du pays dans lequel il effectue la recherche et du nombre de personnes, y compris les enfants. Le message de requête et le message de transaction sont développés pour inclure l'élément <Context>
qui définit les paramètres de requête. Les prix des requêtes de prix en temps réel en contexte peuvent être mis en cache sous forme d'offre de chambres (s'il s'agit du prix pour une occupation spécifique et sous la forme d'un tarif sous conditions), s'il s'agit d'un pays ou d'un appareil.
Avec des requêtes contextuelles
Avec les requêtes de contexte, vous envoyez régulièrement des requêtes de mise à jour de notre base de données pour les combinaisons de propriétés ou de séjours spécifiées. Ils contiennent une liste de contextes utilisateur populaires pour ces combinaisons. Si des tarifs sous conditions sont utilisés, les tarifs d'envoi pour tous les contextes d'utilisateur possibles peuvent être coûteux. Vous pouvez donc utiliser cette liste de contextes d'utilisateur pour limiter votre réponse. Le fait de renvoyer des prix uniquement pour les contextes d'utilisateur spécifiés couvre la grande majorité des requêtes pertinentes.
Messages de requête de métadonnées
Les messages de requête de métadonnées contiennent des informations sur les chambres et les formules pour les établissements spécifiés.
Lorsque vous recevez un message de requête de métadonnées, vous devez répondre avec un message <Transaction>
spécifiant la tarification des établissements demandés dans les éléments <Result>
.
Pour en savoir plus, consultez Définir des métadonnées de chambres et de formules.
Requêtes de contrôle
Cette section explique comment contrôler les établissements et les séjours qui peuvent faire l'objet de messages de requête de Google.
Limites du séjour
Vous déterminez les limites potentielles des requêtes de tarification à l'aide de <ItineraryCapabilities>
. Vous définissez des règles qui déterminent la plage de dates et les durées de séjour maximales acceptées.
Vous pouvez définir des valeurs par défaut pour <MaxAdvancePurchase>
et <MaxLengthOfStay>
qui s'appliquent à toutes les combinaisons d'hôtels ou de séjours. Vous pouvez également définir ces paramètres pour des groupes d'hôtels.
Exemples de messages de requête
Cette section présente plusieurs exemples de messages de requête de prix et un message de requête de métadonnées. Vous trouverez d'autres exemples dans la documentation de référence XML sur les requêtes.
Exemple de séjour
L'exemple suivant montre un prix <Query>
qui demande la mise à jour des prix de quatre hôtels, disponibles pour trois nuitées à partir du 23 mai 2023:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Cet exemple demande de modifier les prix de chaque hôtel:
5/23/18 - 6/26/18
Exemple de requête de prix en temps réel
L'exemple suivant présente une requête de requête de prix en temps réel avec un temps de réponse limité à 500 millisecondes:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
be configured to be displayed, on request, by Google. This attribute is only
displayed for a Live Pricing Query request -->
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
received by. This element is only displayed for a Live Pricing Query request -->
<PropertyList>
<Property>6781291</Property>
</PropertyList>
<!-- Note that Context tags are potentially repeatable -->
<Context>
<!-- The total number of guests occupying the room (adults+children) -->
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
<Children>
<Child age="5"/>
</Children>
</OccupancyDetails>
<!-- The user was located in the US when this search was made -->
<UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Dans cet exemple, le prix demandé pour un seul hôtel est le suivant:
6/23/23 - 6/25/23
Vous trouverez un exemple de réponse à cette requête dans la documentation de référence XML sur les tarifs et l'inventaire des chambres (transactions).
Exemple de requête de contexte
L'exemple suivant présente un exemple de requête avec contexte:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, occupancy and device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
Avec les requêtes de contexte, vous ne spécifiez que le contexte de l'utilisateur. À l'avenir, ces requêtes peuvent également spécifier l'appareil de l'utilisateur et le nombre de personnes.
Plages de dates d'arrivée
Si vous utilisez la requête de prix modifiés, la structure du message de requête dépend du type d'indication que vous utilisez pour les plages de dates d'arrivée, les séjours exacts ou les séjours inclus dans une période. Pour en savoir plus sur chacun de ces types d'indices, consultez Messages de réponse d'indication.
L'exemple suivant présente un message de requête de prix <Query>
pour des plages de dates d'arrivée:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-25</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Cet exemple demande de modifier les prix pour les séjours suivants (pour chaque hôtel):
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
Séjours inclus dans une période
L'exemple suivant présente un message de requête de prix <Query>
pour des séjours inclus dans une période:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Cet exemple demande de modifier les prix de chaque hôtel:
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
Ajouter les séjours ayant commencé avant (mais incluant) la nuit du jour d'arrivée:
5/20/23 - 5/23/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
Message de la requête de métadonnées
L'exemple suivant présente un message <Query>
qui demande la mise à jour des métadonnées des informations sur les chambres et les formules de plusieurs établissements:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
Vous répondez à ce type de message de requête avec un message Transaction qui définit les métadonnées de la chambre et de la formule. Pour en savoir plus, consultez Définir des métadonnées de chambres et de formules.