Cette présentation résume le flux Order with Google et la façon dont il interagit avec votre service Web de traitement.
Classement
L'interface utilisateur de Order with Google gère toutes les interactions avec l'utilisateur lorsqu'il ajoute des plats à sa commande, et décide du retrait ou de la livraison, en fonction des services proposés par le restaurant. Cette expérience est fournie par les entités Restaurant
, Service
et Menu
trouvées dans vos flux de données.
L'étape suivante est l'étape de validation du panier, où le Cart
créé par l'utilisateur est traité par votre service Web.
Action de règlement
L'action de paiement est le premier appel effectué par Google vers votre point de terminaison de service Web.
Votre service Web est chargé de la validation de Cart
. Vous devez vérifier la disponibilité et le prix des articles, calculer et renvoyer les taxes, les remises et les frais, et valider l'adresse de livraison de la commande.
Le processus de règlement se déroule comme suit:
- Le service Order with Google envoie un
CheckoutRequestMessage
contenant unCart
au point de terminaison de votre service Web de traitement. - Votre service Web doit valider les articles de
Cart
en fonction des prix, de la disponibilité et des fournisseurs de services actuels. Vous calculez ensuite le prix total, qui comprend les remises, les taxes et les frais de livraison. - Votre point de terminaison répond par une
CheckoutResponseMessage
qui contient leCart
non modifié pour les requêtes réussies. UnFoodErrorExtension
peut être inclus dans leCheckoutResponseMessage
pour générer une erreur de traitement ou proposer des modifications mineures, si nécessaire.
Une fois le Cart
validé, l'utilisateur peut choisir de passer à l'étape d'envoi de la commande du flux.
Envoyer l'action de commande
L'action "Envoyer la commande" est déclenchée lorsque l'utilisateur passe sa commande. Votre service Web doit revalider le panier, traiter le jeton de carte si les paiements en ligne sont activés, et enfin mettre à jour l'état de la commande.
Le processus d'envoi de la commande se déroule comme suit:
- Le service Order with Google envoie un
SubmitOrderRequestMessage
contenant unOrder
au point de terminaison de votre service Web de traitement. Votre backend doit effectuer une autre validationCart
avant de continuer. Votre service Web traite les détails du paiement de
Order
, en effectuant généralement les actions suivantes:- Vérifier les jetons, la fraude et d'autres critères d'éligibilité.
- Autorisez la carte et débitez-la (facultatif).
Votre point de terminaison répond par un
SubmitOrderResponseMessage
qui contient unOrderUpdate
avec l'étatCREATED
(état de la commande),CONFIRMED
(état d'achat accepté) ouREJECTED
(état d'achat refusé).
Une fois la commande passée, l'utilisateur s'attend à recevoir des informations sur l'état de la commande, de la part de vous et de l'interface utilisateur Order with Google. Vous devez envoyer un e-mail de confirmation de commande à l'utilisateur. En outre, vous utilisez l'API Async Order Update pour envoyer à Google les mises à jour de commande pertinentes.
Action de mise à jour de commande asynchrone
Indépendamment des notifications des utilisateurs de votre côté, vous devez également envoyer à Google des informations sur l'état des commandes pour les événements suivants:
- Modifications apportées à
OrderState
, telles que des transitions deCREATED
àCONFIRMED
et deCONFIRMED
àIN_TRANSIT
- Modifications des articles d'une commande, comme le prix ou la disponibilité
- Chaque fois que l'utilisateur déclenche une demande d'assistance de l'un de vos canaux de service client.
Les mises à jour sont envoyées à partir du point de terminaison de votre service Web sous la forme d'un AsyncOrderUpdateRequestMessage
contenant un OrderUpdate
. Google répond par un AsyncOrderUpdateResponseMessage
.
Schéma de séquence
L'illustration suivante montre comment les actions de traitement interagissent avec votre service Web. Cliquez pour agrandir.
Configurer votre point de terminaison de traitement
Les actions Order with Google utilisent des messages JSON pour communiquer avec votre service Web et pour traiter le traitement, la confirmation et les mises à jour des commandes de repas. Lorsque vous concevez votre service Web Order with Google, vous devez définir un point de terminaison d'URL qui reçoit les messages de requête du service Order with Google et peut renvoyer des messages au service Google. Votre mise en œuvre doit répondre aux exigences suivantes:
- Votre service Web doit pouvoir recevoir un message JSON en tant que requête
POST
du service Order with Google. - Votre service Web doit fournir un point de terminaison d'URL publiquement accessible, appelé URL de traitement, que vous spécifiez sur le portail des partenaires. L'URL de traitement permet de passer des commandes et de les valider. Votre mise en œuvre doit gérer les deux types de requêtes.
- Votre service Web doit pouvoir valider les messages provenant de Google à l'aide de la méthode de validation des messages.
- Votre implémentation du point de terminaison de l'URL doit pouvoir gérer le règlement et le traitement des commandes avec un seul point de terminaison. Vous ne pouvez pas avoir un point de terminaison d'URL pour le règlement et un point de terminaison distinct pour l'envoi des commandes.
Bibliothèques clientes
Le générateur de code client de la section "Outils" vous permet de vérifier que votre service Web est conforme à la spécification de l'API Fulfillment.