Étape 5: Implémenter les mises à jour de l'API en temps réel

L'inventaire dans votre système fluctue tout au long de la journée en raison de nouvelles réservations. les annulations et les modifications d'horaires de vos marchands. La mise à jour en temps réel L'API permet d'informer Google de ces changements d'inventaire la disponibilité. Vous pouvez également utiliser les mises à jour en temps réel de l'API pour informer Google les modifications apportées aux réservations existantes.

Flux et mises à jour de l'API en temps réel

Les mises à jour en temps réel de l'API permettent d'informer Google des modifications incrémentielles apportées à la disponibilité de l'inventaire et les réservations à mesure qu'elles sont effectuées en temps réel. De plus, aux mises à jour de l'API en temps réel, envoyez chaque jour des flux de disponibilité complets pour vous assurer que Google dispose des informations les plus précises et actuelles sur la disponibilité elle existe dans votre système. Les flux complets constituent un instantané de l'état actuel l'état de la disponibilité de l'inventaire dans votre système.

Les mises à jour de l'API peuvent être utilisées pour mettre à jour des informations fournies par les flux, telles que des informations sur les marchands et les services, sont généralement utilisés uniquement pour mettre à jour les informations de disponibilité.

API de mise à jour en temps réel requises

API de mise à jour en temps réel
BookingNotification Obligatoire Envoyer des mises à jour en temps réel BookingNotification Modification de la réservation (par exemple, une modification ou une annulation).
Availability Replace – Mises à jour en temps réel Obligatoire sous certaines conditions[1] Envoyez l'un ou l'autre batch replace ou remplacement unique pour envoyer des mises à jour de la disponibilité de l'inventaire. La propagation et la prise en compte des modifications peuvent prendre plusieurs minutes.
Merchant – Mises à jour en temps réel Facultatif Envoyez des mises à jour en temps réel à un marchand si vous souhaitez apporter des modifications au marchand. des informations en temps réel. L'application des modifications peut prendre plusieurs heures et réfléchir.
Service – Mises à jour en temps réel Facultatif Envoyez des mises à jour en temps réel au service si vous souhaitez modifier le service. des informations en temps réel. C'est par exemple le cas lorsque les tarifs des services fluctuent considérablement au cours de la journée, l'implémentation des mises à jour en temps réel des services recommandé pour éviter tout échec de commande dû à une différence de prix. Les modifications peuvent prendre plusieurs heures pour se propager et prendre en compte.
<ph type="x-smartling-placeholder">

API Availability Replace – Mises à jour en temps réel

Utilisez l'API Availability Replace pour fournir des mises à jour de disponibilité dans le les cas d'utilisation suivants:

  • Un utilisateur réserve une réservation sur votre système. Le créneau de disponibilité n'est donc pas n'est plus disponible.
  • Un marchand modifie sa disponibilité dans votre système.
  • Un utilisateur effectue une réservation via Google. Le créneau de disponibilité n'est donc pas n'est plus disponible.
  • Une réservation effectuée via Google est annulée de votre côté (par exemple, directement par le marchand. Vous devez mettre à jour la réservation ainsi que le car le créneau d'origine est à nouveau disponible.
  • Un appel BatchAvailabilityLookup au serveur de réservation renvoie qui ne correspond pas à l'inventaire réel.

Pour en savoir plus, consultez les ressources suivantes :

API Booking Notification – Mises à jour en temps réel

L'API Booking Notification informe Google des réservations existantes. Lorsque vous envoyez une mise à jour sur une annulation, n'envoyez que les informations essentielles de la demande Paramètre de requête updateMask. Voici un exemple :

Request:
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status

Body:
{"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}

Accéder à l'API

Créer un compte de service

Utilisez l'onglet Identifiants de la console Google APIs pour : créez un compte de service. Stockez la clé privée au format JSON dans un emplacement sécurisé à un emplacement. Lorsque vous créez le compte, vous avez la possibilité de définir le rôle sur « Propriétaire ».

Authentifier les API Maps Booking

Après avoir créé un compte de service, authentifiez les API suivantes :

  • API Google Maps Booking
  • API Google Maps Booking (développeurs)

Pour obtenir des instructions détaillées sur la façon de procéder, consultez la S'authentifier avec l'API Maps Booking.

Utiliser des appels RESTful ou télécharger la bibliothèque cliente

Nous vous recommandons d'effectuer des appels RESTful directement à l'API Maps Booking. avec des charges utiles JSON. Pour en savoir plus, consultez les Documentation de l'API REST

Vous pouvez également utiliser des bibliothèques clientes pour vous connecter à l'API.

Langue Télécharger le lien
Java Bibliothèque client Java. Pour en savoir plus, consultez les Instructions pour le client Java

Autres bibliothèques d'aide téléchargeables gérer l'autorisation et d'autres aspects des appels aux API Google. Si nécessaire, jetez un œil à ces exemples.

Récupérer le document de découverte

Pour certaines bibliothèques clientes, telles que Ruby, il est nécessaire d'extraire Document de découverte de l'API, qui décrit ses méthodes et paramètres.

Utilisez la commande suivante pour récupérer le document de découverte:

curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'

Pour en savoir plus sur l'accès à l'API à partir de Ruby, suivez ces liens: client API Ruby et Bibliothèque d'authentification Ruby.

Effectuer des appels autorisés à l'API

Lorsque vous appelez l'API, consultez Préparer un appel d'API autorisé pour autoriser votre service avec votre clé privée et le champ d'application OAuth suivant: https://www.googleapis.com/auth/mapsbooking

Quotas d'API

Le quota de mises à jour de l'API est de 1 500 requêtes toutes les 60 secondes, soit 25 requêtes. par seconde en moyenne. En cas de dépassement de quota (ce qui peut se produire lorsque vous n'avez pas ajouté le bon numéro de projet Google Cloud dans le portail des partenaires), Google répond avec le code message d'erreur suivant:

{
  "error": {
    "code": 429,
    "message": "Insufficient tokens for quota ...",
    "status": "RESOURCE_EXHAUSTED",
    "details": [...]
  }
}

Pour gérer cela, relancez l'appel à des intervalles exponentiellement plus grands jusqu'à elle réussit. Si vous épuisez régulièrement le quota ReplaceServiceAvailability, passer à BatchReplaceServiceAvailabily pour réduire le nombre d'API appels. Cette méthode vous permet de mettre à jour plusieurs services dans une seule API .

Points de terminaison bac à sable et production

Vous pouvez appeler les environnements de bac à sable et de production via l'API. Assurez-vous d'avoir activé les deux API dans votre projet Google Cloud. Ces deux API utilisent le même champ d'application, mais ont des points de terminaison différents.

Point de terminaison production : https://mapsbooking.googleapis.com/

Point de terminaison bac à sable : https://partnerdev-mapsbooking.googleapis.com/

Voici un exemple de modification du point de terminaison en Java :

    // This block of code is for OAuth and is the same for prod and sandbox.
    GoogleCredential
      .fromStream(new FileInputStream(...))
      .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking"))

    // This block of code sets the endpoint. This is what you'd change to connect to the sandbox.
    new GoogleMapsBookingAPI.Builder(...)
      .setApplicationName(...)
      .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev.
      .build()