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êteCreateBookingRequest
est reçue une deuxième fois avec le même jetonidempotency_token
, c'est la même réponseCreateBookingResponse
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.