Panoramica

Questa panoramica riassume il flusso Ordina con Google e come interagisce con il tuo servizio web di evasione degli ordini.

Ordine

L'interfaccia utente di Ordina con Google gestisce tutte le interazioni con l'utente quando aggiunge elementi al menu e decide il ritiro o la consegna, a seconda dei servizi offerti dal ristorante. Questa esperienza si basa sulle entità Restaurant, Service e Menu presenti nei feed di dati.

Il passaggio successivo è la fase di convalida del carrello, in cui il valore Cart risultante creato dall'utente viene elaborato dal servizio web.

Azione di pagamento

L'azione di pagamento è la prima chiamata effettuata da Google all'endpoint del tuo servizio web. Il tuo servizio web è responsabile della convalida dei Cart. Devi confermare la disponibilità e i prezzi degli articoli, calcolare e restituire le tasse, gli sconti e le commissioni e convalidare l'indirizzo di consegna dell'ordine.

La procedura di pagamento segue questa sequenza:

  1. Il servizio Ordina con Google invia un CheckoutRequestMessage che contiene un Cart all'endpoint del tuo servizio web di evasione.
  2. Il tuo servizio web deve convalidare gli elementi in Cart in base ai prezzi, alla disponibilità e ai fornitori di servizi attuali. Dopodiché calcoli il prezzo totale, che include sconti, tasse e spese di spedizione.
  3. Il tuo endpoint risponde con un CheckoutResponseMessage che contiene Cart non modificato per le richieste andate a buon fine. È possibile includere un elemento FoodErrorExtension in CheckoutResponseMessage per generare un errore di elaborazione o proporre modifiche di minore entità, se necessario.

Una volta che Cart è stato convalidato, l'utente potrebbe scegliere di passare alla fase di invio dell'ordine del flusso.

Azione di invio ordine

L'azione di invio dell'ordine viene attivata quando l'utente effettua l'ordine. Il tuo servizio web deve riconvalidare il carrello, elaborare il token della carta se i pagamenti online sono abilitati e infine aggiornare lo stato dell'ordine.

La procedura di invio degli ordini segue questa sequenza:

  1. Il servizio Ordina con Google invia un SubmitOrderRequestMessage che contiene un Order all'endpoint del tuo servizio web di evasione. Il tuo backend deve eseguire un'altra convalida di Cart prima di continuare.
  2. Il servizio web elabora i dettagli di pagamento trovati nel documento Order, in genere esegue le seguenti azioni:

    1. Eseguire la verifica del token, le frodi e altri controlli di idoneità.
    2. Autorizza e, se vuoi, addebita la carta.
  3. Il tuo endpoint risponde con un SubmitOrderResponseMessage che contiene un OrderUpdate con uno stato di CREATED ("Ordinato" stato di acquisto), CONFIRMED ("Accettato" stato di acquisto) o REJECTED ("Rifiutato" stato di acquisto).

Dopo aver effettuato l'ordine, l'utente si aspetta di ricevere gli aggiornamenti sullo stato dell'ordine da te e dall'interfaccia utente di Ordina con Google. Devi inviare un'email di conferma dell'ordine all'utente. Inoltre, puoi utilizzare l'API Assync Order Update per inviare a Google aggiornamenti pertinenti sugli ordini.

Azione di aggiornamento ordine asincrono

Indipendentemente dalle notifiche utente, devi anche inviare aggiornamenti sullo stato dell'ordine a Google per i seguenti eventi:

  1. Modifiche a OrderState come le transizioni da CREATED a CONFIRMED e da CONFIRMED a IN_TRANSIT.
  2. Modifiche agli articoli degli ordini, come prezzo o disponibilità.
  3. Ogni volta che l'utente attiva una richiesta di assistenza da uno dei tuoi canali di assistenza clienti.

Gli aggiornamenti vengono inviati dal tuo endpoint del servizio web come AsyncOrderUpdateRequestMessage che contiene un OrderUpdate. Google risponde con un AsyncOrderUpdateResponseMessage.

Diagramma della sequenza

L'illustrazione che segue mostra come le azioni di evasione degli ordini interagiscono con il servizio web. Fai clic per ingrandire.

Flusso di evasione ordini con Google

Configura l'endpoint di evasione degli ordini

Le azioni Ordina con Google utilizzano messaggi JSON per comunicare con il tuo servizio web e gestire l'elaborazione, la conferma e gli aggiornamenti agli ordini di cibo. Quando progetti il tuo servizio web Ordina con Google, devi definire un endpoint URL che riceva i messaggi di richiesta dal servizio Ordina con Google e può restituire i messaggi al servizio Google. La tua implementazione deve soddisfare i seguenti requisiti:

  • Il tuo servizio web deve essere in grado di ricevere un messaggio JSON come richiesta POST dal servizio Ordina con Google.
  • Il servizio web deve fornire un endpoint URL accessibile pubblicamente, chiamato URL di evasione, che hai specificato nel Portale partner. L'URL di evasione viene utilizzato per il pagamento e l'invio degli ordini. La tua implementazione deve gestire entrambi i tipi di richieste.
  • Il tuo servizio web deve essere in grado di verificare i messaggi provenienti da Google utilizzando il metodo della verifica dei messaggi.
  • L'implementazione dell'endpoint URL deve essere in grado di gestire sia il checkout sia l'evasione degli ordini con un singolo endpoint. Non puoi avere un endpoint URL per il pagamento e un endpoint separato per l'invio dell'ordine.

Librerie client

Il generatore di codice client nella sezione Strumenti è disponibile per convalidare il tuo servizio web in base alle specifiche dell'API Fulfillment.