Visão geral

Esta visão geral resume o fluxo do Pedir com o Google e como ele interage com o serviço da Web do fulfillment.

Ordenamento

A interface do usuário do Pedir com o Google processa todas as interações com o usuário conforme ele adiciona itens do cardápio ao pedido e decide sobre retirada ou entrega, dependendo dos serviços oferecidos pelo restaurante. Essa experiência usa a tecnologia das entidades Restaurant, Service e Menu encontradas nos seus feeds de dados.

A próxima etapa é o estágio de validação do carrinho em que a Cart resultante criada pelo usuário é processada pelo serviço da Web.

Ação de finalização da compra

A ação de finalização da compra é a primeira chamada feita pelo Google para o endpoint do serviço da Web. Seu serviço da Web é responsável pela validação do Cart. Você precisa confirmar a disponibilidade e os preços dos itens, calcular e devolver tributos, descontos e taxas e validar o endereço de entrega do pedido.

O processo de finalização da compra segue esta sequência:

  1. O serviço Order with Google envia um CheckoutRequestMessage que contém um Cart para o endpoint de serviço da Web do fulfillment.
  2. Seu serviço da Web precisa validar os itens na Cart com base nos preços atuais, na disponibilidade e nos provedores de serviços. Em seguida, você calcula o preço total, que inclui descontos, tributos e taxas de entrega.
  3. Seu endpoint responde com um CheckoutResponseMessage que contém o Cart não modificado para solicitações bem-sucedidas. Um FoodErrorExtension pode ser incluído no CheckoutResponseMessage para informar um erro de processamento ou propor pequenas alterações, se necessário.

Depois que o Cart for validado, o usuário poderá optar por prosseguir para a etapa de envio do pedido do fluxo.

Enviar ação de pedido

A ação "Enviar pedido" é acionada quando o usuário faz um pedido. O serviço da Web precisa revalidar o carrinho, processar o token do cartão se os pagamentos on-line estiverem ativados e, por fim, atualizar o status do pedido.

O processo de envio de pedidos segue esta sequência:

  1. O serviço Order with Google envia um SubmitOrderRequestMessage que contém um Order para o endpoint de serviço da Web do fulfillment. Seu back-end precisa realizar outra validação de Cart antes de continuar.
  2. Seu serviço da Web processa os detalhes de pagamento encontrados em Order, normalmente executando as seguintes ações:

    1. fazer verificações de tokens, fraudes e outras verificações de qualificação;
    2. Autorize e, como opção, faça uma cobrança no cartão.
  3. Seu endpoint responde com um SubmitOrderResponseMessage que contém um OrderUpdate com um estado de CREATED (status de compra ""Ordered""), CONFIRMED ("Aceito" status de compra) ou REJECTED ("Recusado" status da compra).

Com o pedido feito, o usuário espera receber atualizações de status de você e da interface do usuário do Pedir com o Google. É necessário enviar um e-mail de confirmação do pedido para o usuário. Além disso, use a API Async Update Update para enviar atualizações de pedidos relevantes ao Google.

Ação assíncrona de atualização de pedidos

Independentemente das notificações do usuário, você também precisa enviar atualizações de status do pedido ao Google para os seguintes eventos:

  1. Mudanças no OrderState, como transições de CREATED para CONFIRMED e de CONFIRMED para IN_TRANSIT.
  2. Alterações nos itens do pedido, como preço ou disponibilidade.
  3. Sempre que o usuário acionar uma solicitação de suporte de um dos seus canais de suporte ao cliente.

As atualizações são enviadas do endpoint do serviço da Web como um AsyncOrderUpdateRequestMessage que contém um OrderUpdate. O Google responde com um AsyncOrderUpdateResponseMessage.

Diagrama de sequência

Veja na ilustração a seguir como as ações de fulfillment interagem com o serviço da Web. Clique para ampliar.

Fluxo de atendimento de pedidos do Pedir com o Google

Configurar seu endpoint de fulfillment

As ações do Pedir com o Google usam mensagens JSON para se comunicar com o serviço da Web e processar o processamento, a confirmação e as atualizações de pedidos de comida. Ao projetar seu serviço da Web do Pedir com o Google, você precisa definir um endpoint do URL que receba mensagens de solicitação do serviço do Pedir com o Google e possa retornar mensagens ao serviço do Google. A implementação precisa atender a estes requisitos:

  • Seu serviço da Web precisa receber uma mensagem JSON como uma solicitação POST do serviço Order with Google.
  • Seu serviço da Web precisa fornecer um endpoint de URL acessível publicamente, chamado de URL de fulfillment, que você especifica no Portal do parceiro. O URL de fulfillment é usado para finalizar e enviar pedidos. Sua implementação precisa processar os dois tipos de solicitações.
  • Seu serviço da Web precisa ser capaz de verificar mensagens do Google usando o método de verificação de mensagem.
  • Sua implementação do endpoint do URL precisa ser capaz de processar a finalização da compra e do pedido com um único endpoint. Não é possível ter um endpoint de URL para a finalização da compra e um endpoint separado para ordenar o envio.

Bibliotecas de cliente

O gerador de código do cliente na seção "Ferramentas" está disponível para validar seu serviço da Web em relação à especificação da API Fulfillment.