CreateBooking Ready

Pour accomplir la tâche du jalon CreateBooking, vous devez créer et fournir la méthode CreateBooking. Cette méthode est appelée lorsqu'un utilisateur tente de créer une réservation. Si une réservation est créée, la réponse inclut un booking_id unique permettant de faire référence à la réservation pour les futures demandes ou mises à jour.

Exigences concernant la tâche CreateBooking

  • 10 réponses CreateBooking réussies avec un taux d'erreur inférieur à 10 %.

Principes de base de CreateBooking

Lorsqu'un utilisateur lance une réservation, une requête CreateBooking est envoyée au serveur de réservation du partenaire. La réponse à la demande indique si la réservation a réussi ou échoué. En cas d'échec de la réservation, la réponse doit inclure l'erreur de logique métier correspondante. Par exemple, le créneau n'est plus disponible ou a déjà été réservé par le même utilisateur.

Lorsqu'un utilisateur crée une réservation, Google vous envoie son nom, son prénom, son numéro de téléphone et son adresse e-mail. Pour en savoir plus, consultez la Règle concernant la création et l'association de comptes.

Idempotence

La communication sur le réseau n'est pas toujours fiable. Google peut retenter l'envoi de requêtes HTTP si aucune réponse n'est reçue. Par conséquent, toutes les méthodes qui modifient l'état doivent être idempotentes :

  • CreateBooking
  • UpdateBooking

Pour que la requête soit identifiée de manière unique, des jetons d'idempotence sont inclus dans chaque message de requête, à l'exception de UpdateBooking. Cela vous permet de faire la distinction entre une nouvelle tentative d'appel REST (dont l'intention est de créer une seule requête) et l'envoi de deux requêtes distinctes. Les ID d'entrée de réservation respectifs des UpdateBooking permettent de les identifier de manière unique. Elles n'incluent donc aucun jeton d'idempotence.

Voici quelques exemples de la manière dont les serveurs de réservation gèrent l'idempotence :

  • Une réponse HTTP CreateBooking positive inclut la réservation créée. Dans certains cas, le paiement est traité pendant le processus de réservation. Si la même requête CreateBookingRequest est reçue une deuxième fois avec le même jeton idempotency_token, c'est la même réponse CreateBookingResponse qui doit alors être renvoyée. Une deuxième réservation n'est pas créée, et l'utilisateur n'est facturé qu'une seule fois (le cas échéant).

La condition d'idempotence s'applique à toutes les méthodes qui modifient l'état.