Method: fulfill

RPC que representa a API de fulfillment

Solicitação HTTP

POST https://webhook_handler_service.googleapis.com/fulfill

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "handler": {
    object (Handler)
  },
  "intent": {
    object (Intent)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "context": {
    object (Context)
  }
}
Campos
handler

object (Handler)

Obrigatório. Informações para o fulfillment sobre como lidar com a solicitação. Por exemplo, uma solicitação com a intenção de conseguir um fato pode ter um gerenciador com o nome "getFact".

intent

object (Intent)

Obrigatório. Representa a última intent correspondente. Consulte https://developers.google.com/assistant/conversational/intents.

scene

object (Scene)

Opcional. Informações sobre a cena atual e a próxima quando a função foi chamada. Será preenchido quando a chamada de fulfillment for feita no escopo de uma cena. Consulte https://developers.google.com/assistant/conversational/scenes.

session

object (Session)

Obrigatório. Mantém os dados da sessão, como o ID e os parâmetros dela.

user

object (User)

Obrigatório. Usuário que iniciou a conversa.

home

object (Home)

Opcional. Informações relacionadas à estrutura do gráfico do Home à qual o dispositivo de destino pertence. Consulte https://developers.google.com/actions/smarthome/concepts/homegraph.

device

object (Device)

Obrigatório. Informações no dispositivo que o usuário está usando para interagir com a ação.

context

object (Context)

Opcional. Informações do contexto atual da solicitação. Inclui, mas não se limita a, informações de sessão de mídia ativa ou informações da tela.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representa uma resposta enviada do fulfillment de um desenvolvedor para o Actions on Google.

Representação JSON
{
  "prompt": {
    object (Prompt)
  },
  "scene": {
    object (Scene)
  },
  "session": {
    object (Session)
  },
  "user": {
    object (User)
  },
  "home": {
    object (Home)
  },
  "device": {
    object (Device)
  },
  "expected": {
    object (Expected)
  }
}
Campos
prompt

object (Prompt)

Opcional. Representa as solicitações a serem enviadas ao usuário, que serão anexadas a mensagens adicionadas anteriormente, a menos que sejam substituídas explicitamente.

scene

object (Scene)

Opcional. Representa a cena atual e a próxima. Se Scene.next for definido, o ambiente de execução fará a transição imediatamente para a cena especificada.

session

object (Session)

Opcional. Descreve os dados da sessão atual. Os parâmetros da sessão podem ser criados, atualizados ou removidos pelo fulfillment.

user

object (User)

Opcional. Use para especificar os parâmetros do usuário para enviar de volta.

home

object (Home)

Opcional. Usado para especificar parâmetros relacionados à estrutura do HomeGraph à qual o dispositivo de destino pertence. Consulte https://developers.google.com/actions/smarthome/concepts/homegraph.

device

object (Device)

Opcional. Use para navegar entre os dispositivos com o Assistente aos quais o usuário tem acesso.

expected

object (Expected)

Opcional. Descreve as expectativas para a próxima rodada de diálogo.

Handler

Representa um gerenciador de fulfillment que mapeia informações de eventos do Actions on Google para o fulfillment. Use o nome do gerenciador para determinar qual código será executado no fulfillment. Por exemplo, um manipulador pode ser usado para obter informações sobre as informações de pedido de um usuário com um nome de manipulador como "OrderLookup" enquanto outro pode obter informações do produto de um banco de dados, com um nome de manipulador como "GetProductInfo".

Representação JSON
{
  "name": string
}
Campos
name

string

Opcional. O nome do gerenciador.

Intenção

Representa uma intent. Consulte https://developers.google.com/assistant/conversational/intents.

Representação JSON
{
  "name": string,
  "params": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "query": string
}
Campos
name

string

Obrigatório. O nome da última intent correspondente.

params

map (key: string, value: object (IntentParameterValue))

Obrigatório. Representa os parâmetros identificados como parte da correspondência de intents. Esse é um mapa do nome do parâmetro identificado para o valor dele na entrada do usuário. Todos os parâmetros definidos na intent correspondente que forem identificados serão exibidos aqui.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

query

string

Opcional. Entrada digitada ou falada do usuário final correspondente à intent. Ele será preenchido quando houver correspondência com uma intent, com base na entrada do usuário.

IntentParameterValue

Representa um valor para o parâmetro da intent. Consulte https://developers.google.com/assistant/conversational/types.

Representação JSON
{
  "original": string,
  "resolved": value
}
Campos
original

string

Obrigatório. Valor do texto original extraído da fala do usuário.

resolved

value (Value format)

Obrigatório. Valor estruturado para o parâmetro extraído da entrada do usuário. Só será preenchido se o parâmetro for definido na intent correspondente e o valor do parâmetro puder ser identificado durante a correspondência da intent.

Cenário

Representar uma cena. Os cenários podem chamar o fulfillment, adicionar comandos e coletar valores de slot do usuário. As cenas são acionadas por eventos ou intents e podem acionar eventos e combinar intents para fazer a transição para outras cenas.

Representação JSON
{
  "name": string,
  "slotFillingStatus": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  },
  "next": {
    object (NextScene)
  }
}
Campos
name

string

Obrigatório. Nome da cena atual.

slotFillingStatus

enum (SlotFillingStatus)

Obrigatório. O status atual do preenchimento do slot. Este campo é somente leitura.

slots

map (key: string, value: object (Slot))

Os slots associados à cena atual. As respostas do gerenciador não podem retornar slots que não foram enviados na solicitação.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

next

object (NextScene)

Opcional. Informações sobre a cena a ser executada em seguida.

SlotFillingStatus

Representa o status atual do preenchimento do slot.

Enums
UNSPECIFIED Valor substituto quando o campo de uso não está preenchido.
INITIALIZED Os slots foram inicializados, mas o preenchimento deles não foi iniciado.
COLLECTING Os valores de slot estão sendo coletados.
FINAL Todos os valores de espaço são definitivos e não podem ser alterados.

Slot

Representa um slot.

Representação JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Campos
mode

enum (SlotMode)

O modo do slot (obrigatório ou opcional). Pode ser definido pelo desenvolvedor.

status

enum (SlotStatus)

O status do slot.

value

value (Value format)

O valor do slot. Alterar esse valor na resposta modifica o valor no preenchimento de slot.

updated

boolean

Indica se o valor do slot foi coletado na última curva. Este campo é somente leitura.

prompt

object (Prompt)

Opcional. Esse comando é enviado ao usuário quando necessário para preencher um slot determinado. Esse comando substitui o atual definido no console. Este campo não está incluído na solicitação do webhook.

SlotMode

Representa o modo de um slot, ou seja, se é obrigatório ou não.

Enums
MODE_UNSPECIFIED Valor substituto quando o campo de uso não está preenchido.
OPTIONAL Indica que o slot não é necessário para concluir o preenchimento de slot.
REQUIRED Indica que o slot é necessário para concluir o preenchimento de slot.

SlotStatus

Representa o status de um slot.

Enums
SLOT_UNSPECIFIED Valor substituto quando o campo de uso não está preenchido.
EMPTY Indica que o slot não tem nenhum valor. Esse status não pode ser modificado por meio da resposta.
INVALID Indica que o valor do espaço é inválido. Esse status pode ser definido pela resposta.
FILLED Indica que o espaço tem um valor. Esse status não pode ser modificado por meio da resposta.

Comando

Representar uma resposta a um usuário. Consulte https://developers.google.com/assistant/conversational/prompts.

Representação JSON
{
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  },
  "orderUpdate": {
    object (OrderUpdate)
  }
}
Campos
override

boolean

Opcional. Modo de como essas mensagens devem ser mescladas com mensagens definidas anteriormente. "verdadeiro" limpa todas as mensagens definidas anteriormente (a primeira e a última mensagem simples, conteúdo, link de sugestões e tela) e adiciona as mensagens definidas nesse comando. "falso" adiciona mensagens definidas neste comando a mensagens definidas nas respostas anteriores. Deixar esse campo como "false" também permite anexar alguns campos nos comandos Simples, Suggestions (Sugestões) e Canvas (parte do comando Content). As mensagens "Conteúdo" e "Link" sempre serão substituídas se forem definidas no comando. O valor padrão é "falso".

firstSimple

object (Simple)

Opcional. A primeira resposta somente de voz e de texto.

content

object (Content)

Opcional. Um conteúdo como um card, uma lista ou uma mídia para mostrar ao usuário.

lastSimple

object (Simple)

Opcional. A última resposta somente de texto e voz.

suggestions[]

object (Suggestion)

Opcional. São sugestões a serem exibidas para o usuário e sempre aparecem no final da resposta. Se a opção "substituir" no comando que contém for "false", os títulos definidos nele serão adicionados àqueles definidos em qualquer solicitação de sugestão já definida, e os valores duplicados serão removidos.

canvas

object (Canvas)

Opcional. Representa uma resposta de tela interativa a ser enviada ao usuário.

orderUpdate

object (OrderUpdate)

A ação opcional responde com um OrderUpdate depois de receber o pedido durante o fluxo de transações. Ao receber isso, o Google registra a atualização do pedido e, se bem-sucedido, exibe um cartão de recibo junto com o TTS enviado nos dispositivos de exibição.

Simples

Representa um comando simples a ser enviado a um usuário. Consulte https://developers.google.com/assistant/conversational/prompts-simple.

Representação JSON
{
  "speech": string,
  "text": string
}
Campos
speech

string

Opcional. Representa a fala a ser falada ao usuário. Pode ser SSML ou conversão de texto em voz. Se a opção "substituir" no comando que o contém for "true", a fala definida nele substitui a fala do comando simples anterior. Consulte https://developers.google.com/assistant/conversational/ssml.

text

string

Texto opcional a ser exibido no balão do chat. Se não for informado, será usada uma renderização de exibição do campo de fala acima. Limitado a 640 caracteres. Se a opção "substituir" no comando que a contém é "true", o texto definido nele substitui o texto do comando simples anterior.

Conteúdo

Objeto de contêiner para comandos avançados ou de seleção.

Representação JSON
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  },
  "collectionBrowse": {
    object (CollectionBrowse)
  }
  // End of list of possible types for union field content.
}
Campos

Campo de união content.

content pode ser apenas de um dos tipos a seguir:

card

object (Card)

Um cartão básico.

image

object (Image)

Uma imagem.

table

object (Table)

Card da tabela.

media

object (Media)

Resposta indicando um conjunto de mídia a ser reproduzido.

collection

object (Collection)

Um card com várias opções para você selecionar.

list

object (List)

Um card com uma lista de opções para seleção.

collectionBrowse

object (CollectionBrowse)

Um card apresentando uma coleção de páginas da Web a serem abertas.

Cartas

Um card básico para exibir algumas informações, por exemplo, uma imagem e/ou texto. Consulte https://developers.google.com/assistant/conversational/prompts-rich#basic_card.

Representação JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Campos
title

string

Título geral do card. Opcional.

subtitle

string

Opcional.

text

string

Texto do corpo do card. Oferece suporte a um conjunto limitado de sintaxes de marcação para formatação. Obrigatório, a menos que haja uma imagem.

image

object (Image)

Uma imagem principal para o cartão. A altura é fixada em 192 dp. Opcional.

imageFill

enum (ImageFill)

Como o plano de fundo da imagem será preenchido. Opcional.

button

object (Link)

Botão com um link externo. Opcional.

Imagem

Uma imagem exibida no card. Consulte https://developers.google.com/assistant/conversational/prompts-rich#image-cards.

Representação JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Campos
url

string

O URL de origem da imagem. As imagens podem ser JPG, PNG e GIF (animadas ou não). Por exemplo,https://www.agentx.com/logo.png. Obrigatório.

alt

string

Uma descrição de texto da imagem a ser usada para acessibilidade, por exemplo, leitores de tela. Obrigatório.

height

integer

A altura da imagem, em pixels. Opcional.

width

integer

A largura da imagem, em pixels. Opcional.

ImageFill

Possíveis opções de exibição de imagem para afetar a apresentação da imagem. Isso deve ser usado quando a proporção da imagem não corresponder à do contêiner da imagem.

Enums
UNSPECIFIED
GRAY Preencha as lacunas entre a imagem e o contêiner da imagem com barras cinza.
WHITE Preencha as lacunas entre a imagem e o contêiner da imagem com barras brancas.
CROPPED A imagem é dimensionada de modo que a largura e a altura dela correspondam ou excedam as dimensões do contêiner. Isso poderá cortar as partes de cima e de baixo da imagem se a altura dimensionada for maior que a do contêiner ou cortar a esquerda e a direita da imagem se ela for maior que a largura do contêiner. É semelhante ao "Modo zoom" em uma TV widescreen ao reproduzir um vídeo 4:3.

OpenUrl

Representação JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Campos
url

string

O campo de URL, que pode ser qualquer um destes: URLs http/https para abrir um app vinculado a um app ou uma página da Web

hint

enum (UrlHint)

Indica uma dica para o tipo de URL.

UrlHint

Diferentes tipos de dicas de URL.

Enums
AMP É um URL que leva diretamente ao conteúdo de AMP ou a um URL canônico que se refere ao conteúdo de AMP via . Acesse https://amp.dev/ (em inglês).

Tabela

Um cartão de tabela para exibir uma tabela de texto. Consulte https://developers.google.com/assistant/conversational/prompts-rich#table_cards.

Representação JSON
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
Campos
title

string

Título geral da tabela. Opcional, mas deverá ser definido se o subtítulo estiver definido.

subtitle

string

Subtítulo da tabela. Opcional.

image

object (Image)

Imagem associada à tabela. Opcional.

columns[]

object (TableColumn)

Cabeçalhos e alinhamento de colunas.

rows[]

object (TableRow)

Dados de linha da tabela. As primeiras três linhas serão exibidas, mas outras poderão ser cortadas em determinadas superfícies. Teste com o simulador para saber quais linhas serão exibidas para uma determinada superfície. Em plataformas com suporte ao recurso WEB_BROWSER, é possível direcionar o usuário a uma página da Web com mais dados.

button

object (Link)

Botão.

TableColumn

Representação JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Campos
header

string

Texto do cabeçalho da coluna.

align

enum (HorizontalAlignment)

Alinhamento horizontal da coluna de texto do conteúdo. Se não for especificado, o conteúdo será alinhado à borda inicial.

HorizontalAlignment

O alinhamento do conteúdo dentro da célula.

Enums
UNSPECIFIED
LEADING Borda superior da célula. Esse é o padrão.
CENTER O conteúdo é alinhado ao centro da coluna.
TRAILING O conteúdo é alinhado à borda final da coluna.

TableRow

Descreve uma linha na tabela.

Representação JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Campos
cells[]

object (TableCell)

Células nesta linha. As primeiras três células serão exibidas, mas outras poderão ser cortadas em determinadas superfícies. Faça o teste com o simulador para ver quais células serão exibidas em uma determinada superfície.

divider

boolean

Indica se deve haver um divisor após cada linha.

TableCell

Descreve uma célula em uma linha.

Representação JSON
{
  "text": string
}
Campos
text

string

Conteúdo de texto da célula.

Mídia

Representa um objeto de mídia. Contém informações sobre a mídia, como nome, descrição, URL etc. Consulte https://developers.google.com/assistant/conversational/prompts-media.

Representação JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode),
  "firstMediaObjectIndex": integer
}
Campos
mediaType

enum (MediaType)

startOffset

string (Duration format)

Deslocamento inicial do primeiro objeto de mídia.

Uma duração em segundos com até nove dígitos fracionários, encerrada por "s". Exemplo: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Tipos de controle de mídia opcionais compatíveis com esta sessão de resposta de mídia. Se definido, a solicitação será feita para 3p quando um determinado evento de mídia acontecer. Se não definido, 3p ainda deve lidar com dois tipos de controle padrão, FINISHED e FAILED.

mediaObjects[]

object (MediaObject)

Lista de objetos de mídia

repeatMode

enum (RepeatMode)

Modo de repetição para a lista de objetos de mídia.

firstMediaObjectIndex

integer

Índice baseado em zero do primeiro objeto de mídia em mediaObjects a ser reproduzido. Se não especificado, zero ou fora dos limites, a reprodução começa no primeiro objeto de mídia em mediaObjects.

MediaType

Tipo de mídia dessa resposta.

Enums
MEDIA_TYPE_UNSPECIFIED
AUDIO Arquivo de áudio.
MEDIA_STATUS_ACK Resposta para confirmar um relatório de status de mídia.

OptionalMediaControls

Tipos de controles de mídia opcionais compatíveis com a resposta de mídia

Enums
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Valor não especificado
PAUSED Evento pausado. Acionado quando o usuário pausa a mídia.
STOPPED Evento interrompido. Acionado quando o usuário sai da sessão de terceiros durante a reprodução de mídia.

MediaObject

Representa um único objeto de mídia

Representação JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Campos
name

string

Nome desse objeto de mídia.

description

string

Descrição desse objeto de mídia.

url

string

O URL que aponta para o conteúdo de mídia. Os arquivos MP3 precisam ser hospedados em um servidor da Web e estar disponíveis publicamente por um URL HTTPS. A transmissão ao vivo só é compatível com o formato MP3.

image

object (MediaImage)

Imagem a ser exibida com o card de mídia.

MediaImage

Representação JSON
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
Campos

Campo de união image.

image pode ser apenas de um dos tipos a seguir:

large

object (Image)

Uma imagem grande, como a capa do álbum etc.

icon

object (Image)

Um pequeno ícone de imagem exibido à direita do título. Ela é redimensionada para 36 x 36 dp.

RepeatMode

Os tipos de modo de repetição para uma lista de objetos de mídia.

Enums
REPEAT_MODE_UNSPECIFIED Equivalente a OFF.
OFF Encerra a sessão de mídia no final do último objeto de mídia.
ALL Vai para o início do primeiro objeto de mídia quando o fim do último objeto de mídia for alcançado.

Coleção

Um card para apresentar uma coleção de opções. Consulte https://developers.google.com/assistant/conversational/prompts-selection#collection

Representação JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Campos
title

string

Título da coleção. Opcional.

subtitle

string

Subtítulo da coleção. Opcional.

items[]

object (CollectionItem)

Uma lista de itens. Pode ter no mínimo 2 e no máximo 10.

imageFill

enum (ImageFill)

Como os planos de fundo da imagem dos itens da coleção serão preenchidos. Opcional.

CollectionItem

Um item na coleção

Representação JSON
{
  "key": string
}
Campos
key

string

Obrigatório. A chave PLN que corresponde ao nome da chave de entrada no tipo associado.

Lista

Um card para apresentar uma lista de opções. Consulte https://developers.google.com/assistant/conversational/prompts-selection#list

Representação JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Campos
title

string

Título da lista. Opcional.

subtitle

string

Subtítulo da lista. Opcional.

items[]

object (ListItem)

Uma lista de itens. Pode ter no mínimo 2 e no máximo 30.

ListItem

Um item na lista

Representação JSON
{
  "key": string
}
Campos
key

string

Obrigatório. A chave PLN que corresponde ao nome da chave de entrada no tipo associado.

CollectionBrowse

Apresenta um conjunto de documentos da Web como uma coleção de itens grandes em blocos. Os itens podem ser selecionados para abrir o documento da Web associado em um visualizador da Web. Consulte https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse.

Representação JSON
{
  "items": [
    {
      object (Item)
    }
  ],
  "imageFill": enum (ImageFill)
}
Campos
items[]

object (Item)

Uma lista de itens. Pode ter no mínimo 2 e no máximo 10.

imageFill

enum (ImageFill)

Tipo de opção de exibição de imagem.

Item

Item na coleção.

Representação JSON
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (Image)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
Campos
title

string

Obrigatório. Título do item da coleção.

description

string

Descrição do item da coleção.

footer

string

Texto do rodapé do item da coleção, exibido abaixo da descrição. Linha única de texto, truncada com reticências.

image

object (Image)

Imagem do item da coleção.

openUriAction

object (OpenUrl)

Obrigatório. URI a ser aberto se o item for selecionado.

Sugestão

As sugestões oferecem ícones de sugestão para os usuários em dispositivos com suporte à tela quando o Google Assistente mostra a solicitação. Use os ícones de sugestão para dar sugestões nas respostas dos usuários para continuar ou mudar a conversa. Quando tocado, um ícone de sugestão retorna o texto exibido para a conversa na íntegra, como se o usuário tivesse digitado essa opção. Consulte https://developers.google.com/assistant/conversational/prompts#suggestions.

Representação JSON
{
  "title": string
}
Campos
title

string

Obrigatório. Texto mostrado no ícone de sugestão. Quando tocado, esse texto é postado de volta na conversa como se o usuário o tivesse digitado. Cada título precisa ser exclusivo entre o conjunto de ícones de sugestão. Máximo de 25 caracteres

Tela

Representa uma resposta de tela interativa a ser enviada ao usuário. Ela pode ser usada em conjunto com o método "firstSimple" no prompt para falar com o usuário, além de exibir uma resposta de tela interativa. O tamanho máximo da resposta é de 50 mil bytes. Consulte https://developers.google.com/assistant/interactivecanvas.

Representação JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "continuousMatchConfig": {
    object (ContinuousMatchConfig)
  }
}
Campos
url

string

URL do app da Web de tela interativa a ser carregado. Se ela não for definida, o URL da tela ativa atual será reutilizado.

data[]

value (Value format)

Opcional. Dados JSON a serem transmitidos para a página da Web da experiência imersiva como um evento. Se a opção "substituir" no comando que contém é "false" Os valores de dados definidos neste comando do Canvas serão adicionados após os valores de dados definidos nas solicitações anteriores.

suppressMic

boolean

Opcional. Valor padrão: falso.

continuousMatchConfig

object (ContinuousMatchConfig)

Configuração usada para iniciar o modo de correspondência contínua.

ContinuousMatchConfig

Configuração usada para iniciar o modo de correspondência contínua.

Representação JSON
{
  "expectedPhrases": [
    {
      object (ExpectedPhrase)
    }
  ],
  "durationSeconds": integer
}
Campos
expectedPhrases[]

object (ExpectedPhrase)

Todas as possíveis frases esperadas durante essa sessão do modo de correspondência contínua.

durationSeconds

integer

Duração para manter o modo de correspondência contínua ativado. Se especificado, o microfone será fechado quando o tempo se esgotar. O valor máximo permitido é 180.

ExpectedPhrase

Representação JSON
{
  "phrase": string,
  "alternativePhrases": [
    string
  ]
}
Campos
phrase

string

A frase a ser correspondida durante a sessão do modo de correspondência contínua.

alternativePhrases[]

string

Algumas frases podem ser reconhecidas incorretamente pelo modelo de fala, mesmo com a polarização de fala. Isso permite que os desenvolvedores especifiquem gatilhos alternativos para homófonos.

OrderUpdate

Atualizar um pedido.

Representação JSON
{
  "type": enum (Type),
  "order": {
    object (Order)
  },
  "updateMask": string,
  "userNotification": {
    object (UserNotification)
  },
  "reason": string
}
Campos
type
(deprecated)

enum (Type)

Obsoleto: use OrderUpdate.update_mask. Se tipo = SNAPSHOT, OrderUpdate.order deverá ser o pedido inteiro. Se type = ORDER_STATUS, esta é a alteração de status no nível do pedido. Somente order.last_update_time e este status de indústria são coletados. Observação: type.ORDER_STATUS só é compatível com atualizações de status PurcahaseOrderExtension, e não há planos de ampliar esse suporte. Em vez disso, recomendamos o uso de updateMask, que é mais genérico, extensível e pode ser usado para todos os setores.

order

object (Order)

updateMask

string (FieldMask format)

Observação: existem as seguintes considerações/recomendações para os seguintes campos especiais: 1. order.last_update_time sempre será atualizado como parte da solicitação de atualização. 2. order.create_time, order.google_order_id e order.merchant_order_id serão ignorados se fornecidos como parte da updateMask.

É uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo".

userNotification

object (UserNotification)

Se especificado, exibe uma notificação para o usuário com o título e o texto especificados. Especificar uma notificação é uma sugestão e não há garantia de que ela resultará em uma.

reason

string

Motivo da alteração/atualização.

Tipo

Obsoleto: use OrderUpdate.update_mask. Atualizações permitidas para um pedido.

Enums
TYPE_UNSPECIFIED Tipo não especificado, não deve definir isso explicitamente.
ORDER_STATUS Atualize apenas o status do pedido.
SNAPSHOT Atualizar o resumo do pedido.

Pedido

Entidade do pedido. Observação: 1. Todas as strings em todos os níveis devem ter menos de 1.000 caracteres, a menos que seja especificado de outra forma. 2. Todos os campos repetidos em todos os níveis precisam ter menos de 50 campos, a menos que seja especificado de outra forma. 3. Todos os carimbos de data/hora em todos os níveis, se especificados, precisam ser carimbos de data/hora válidos.

Representação JSON
{
  "googleOrderId": string,
  "merchantOrderId": string,
  "userVisibleOrderId": string,
  "userVisibleStateLabel": string,
  "buyerInfo": {
    object (UserInfo)
  },
  "image": {
    object (Image)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "transactionMerchant": {
    object (Merchant)
  },
  "contents": {
    object (Contents)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "paymentData": {
    object (PaymentData)
  },
  "termsOfServiceUrl": string,
  "note": string,
  "promotions": [
    {
      object (Promotion)
    }
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseOrderExtension)
  },
  "ticket": {
    object (TicketOrderExtension)
  }
  // End of list of possible types for union field verticals.
}
Campos
googleOrderId

string

ID do pedido atribuído pelo Google.

merchantOrderId

string

Obrigatório: ID do pedido interno atribuído pelo comerciante. Esse ID precisa ser exclusivo e necessário para operações de atualização de pedidos subsequentes. Esse ID pode ser definido como o googleOrderId fornecido ou qualquer outro valor exclusivo. O ID apresentado aos usuários é userVisibleOrderId, que pode ser um valor diferente e mais fácil de usar. O comprimento máximo permitido é de 128 caracteres.

userVisibleOrderId

string

O ID do usuário que faz referência ao pedido atual. Esse ID precisa ser consistente com o ID exibido para esse pedido em outros contextos, incluindo sites, apps e e-mails.

userVisibleStateLabel
(deprecated)

string

Obsoleto: use o status OrderExtensions. Marcador visível ao usuário para o estado deste pedido.

buyerInfo

object (UserInfo)

Informações sobre o comprador.

image

object (Image)

Imagem associada ao pedido.

createTime

string (Timestamp format)

Obrigatório: data e hora em que o pedido foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

lastUpdateTime

string (Timestamp format)

Data e hora em que o pedido foi atualizado pela última vez. Obrigatório para OrderUpdate.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

transactionMerchant

object (Merchant)

Comerciante que facilitou a finalização da compra. Ele pode ser diferente de um provedor no nível do item de linha. Exemplo: pedido da Expedia com item de linha da ANA.

contents

object (Contents)

Obrigatório: conteúdo do pedido, que é um grupo de itens de linha.

priceAttributes[]

object (PriceAttribute)

Preço, descontos, impostos e assim por diante.

followUpActions[]

object (Action)

Ações de acompanhamento no nível do pedido.

paymentData

object (PaymentData)

Dados relacionados ao pagamento do pedido.

termsOfServiceUrl

string

Um link para os Termos de Serviço que se aplicam ao pedido/pedido proposto.

note

string

Observações anexadas a um pedido.

promotions[]

object (Promotion)

Todas as promoções associadas a este pedido.

disclosures[]

object (Disclosure)

Declarações associadas a este pedido.

vertical
(deprecated)

object

Obsoleto: use indústrias. Essas propriedades serão aplicadas a todos os itens de linha, a menos que sejam substituídas em algum item de linha. Essa indústria precisa corresponder ao tipo de indústria no nível do item de linha. Valores possíveis: google.actions.orders.v3.verticals.purchase.PurchaseOrderExtension google.actions.orders.v3.verticals.ticket.TicketOrderExtension

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Campo de união verticals. Essas propriedades serão aplicadas a todos os itens de linha, a menos que sejam substituídas em algum item de linha. Essa indústria precisa corresponder ao tipo de indústria no nível do item de linha. verticals pode ser apenas de um dos tipos a seguir:
purchase

object (PurchaseOrderExtension)

Ordem de compra

ticket

object (TicketOrderExtension)

Pedido de passagem

UserInfo

Informações sobre o usuário. É usado para representar informações do usuário associado a um pedido.

Representação JSON
{
  "email": string,
  "firstName": string,
  "lastName": string,
  "displayName": string,
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ]
}
Campos
email

string

E-mail do usuário, por exemplo: janedoe@gmail.com.

firstName

string

Nome do usuário.

lastName

string

Sobrenome do usuário.

displayName

string

O nome de exibição do usuário pode ser diferente do nome ou sobrenome.

phoneNumbers[]

object (PhoneNumber)

Números de telefone do usuário.

PhoneNumber

Representação padrão de número de telefone.

Representação JSON
{
  "e164PhoneNumber": string,
  "extension": string,
  "preferredDomesticCarrierCode": string
}
Campos
e164PhoneNumber

string

Número de telefone no formato E.164, conforme definido na Recomendação E.164 da União Internacional de Telecomunicações (ITU). link da Wikipédia: https://en.wikipedia.org/wiki/E.164

extension

string

O ramal não é padronizado nas recomendações do ITU, exceto por ser definido como uma série de números com comprimento máximo de 40 dígitos. Ela é definida aqui como uma string para acomodar o possível uso de um zero inicial na extensão (as organizações têm total liberdade para fazer isso, pois não há um padrão definido). Além de dígitos, alguns outros caracteres de discagem, como "," (indicando uma espera) podem ser armazenadas aqui. Por exemplo, no ramal xxx-xxx-xxxx 123, "123" é a extensão.

preferredDomesticCarrierCode

string

O código de seleção da operadora preferencial ao ligar para esse número de telefone localmente. Isso também inclui códigos que precisam ser discados em alguns países ao ligar de telefones fixos para dispositivos móveis ou vice-versa. Por exemplo, em Colúmbia, um "3" precisa ser discado antes do próprio número de telefone ao chamar de um telefone celular para um telefone fixo doméstico e vice-versa. https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

Esta é a configuração preferencial o que significa que outros códigos também podem funcionar.

Imagem

Uma imagem exibida no card.

Representação JSON
{
  "url": string,
  "accessibilityText": string,
  "height": integer,
  "width": integer
}
Campos
url

string

O URL de origem da imagem. As imagens podem ser JPG, PNG e GIF (animadas ou não). Por exemplo,https://www.agentx.com/logo.png. Obrigatório.

accessibilityText

string

Uma descrição de texto da imagem a ser usada para acessibilidade, por exemplo, leitores de tela. Obrigatório.

height

integer

A altura da imagem, em pixels. Opcional.

width

integer

A largura da imagem, em pixels. Opcional.

Comerciante

Comerciante do carrinho/pedido/item de linha.

Representação JSON
{
  "id": string,
  "name": string,
  "image": {
    object (Image)
  },
  "phoneNumbers": [
    {
      object (PhoneNumber)
    }
  ],
  "address": {
    object (Location)
  }
}
Campos
id

string

ID opcional atribuído ao comerciante, se houver.

name

string

O nome do comerciante, como "Panera Bread".

image

object (Image)

A imagem associada ao comerciante.

phoneNumbers[]

object (PhoneNumber)

Números de telefone do comerciante.

address

object (Location)

Endereço do comerciante.

Local

Contêiner que representa um local.

Representação JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "name": string,
  "phoneNumber": string,
  "notes": string,
  "placeId": string
}
Campos
coordinates

object (LatLng)

Coordenadas geográficas. Requer o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Endereço de exibição, por exemplo, "1600 Amphitheatre Parkway, Mountain View, CA 94043". Requer o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

CEP. Requer o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Cidade Requer o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

postalAddress

object (PostalAddress)

Endereço postal. Requer o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

name

string

Nome do lugar.

phoneNumber

string

Número de telefone do local, por exemplo, número de contato do local da empresa ou número de telefone do local de entrega.

notes

string

Observações sobre o local.

placeId

string

placeId é usado com a API Places para buscar detalhes de um local. Consulte https://developers.google.com/places/web-service/place-id

LatLng

Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. Salvo indicação em contrário, esse objeto precisa estar em conformidade com o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.

Representação JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

A latitude em graus. Precisa estar no intervalo [-90,0, +90,0].

longitude

number

A longitude em graus. Precisa estar no intervalo [-180,0, +180,0].

PostalAddress

Representa um endereço postal, por exemplo, para endereços para pagamento ou distribuição postal. Com um endereço postal, o serviço de correios pode entregar itens em um local, uma caixa postal ou outro local semelhante. Não se destina a modelar locais geográficos (estradas, cidades, montanhas).

No uso normal, um endereço seria criado por digitação do usuário ou pela importação de dados existentes, dependendo do tipo de processo.

Dicas sobre inserção / edição de endereços: - Use um widget de endereço pronto para i18n, como https://github.com/google/libaddressinput. - Os usuários não devem receber elementos da interface para entrada ou edição de campos fora dos países em que o campo é usado.

Para mais orientações sobre como usar este esquema, consulte: https://support.google.com/business/answer/6397478.

Representação JSON
{
  "revision": integer,
  "regionCode": string,
  "languageCode": string,
  "postalCode": string,
  "sortingCode": string,
  "administrativeArea": string,
  "locality": string,
  "sublocality": string,
  "addressLines": [
    string
  ],
  "recipients": [
    string
  ],
  "organization": string
}
Campos
revision

integer

A revisão de esquema do PostalAddress. Precisa ser definido como 0, que é a revisão mais recente.

Todas as novas revisões precisam ser compatíveis com versões anteriores.

regionCode

string

Obrigatório. Código de região CLDR do país/região do endereço. Nunca é inferido e cabe ao usuário garantir que o valor esteja correto. Para mais detalhes, consulte http://cldr.unicode.org/ e http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html. Exemplo: "CH" para a Suíça.

languageCode

string

Opcional. Código de idioma BCP-47 do conteúdo deste endereço (se conhecido). Costuma ser o idioma da IU do formulário de entrada ou espera-se que corresponda a um dos idiomas usados no país/região do endereço ou nos equivalentes transliterados dele. Pode afetar a formatação em determinados países, mas não é fundamental para a exatidão dos dados e nunca afetará a validação ou outras operações relacionadas à não formatação.

Se você não conhece o valor, omita-o (em vez de especificar um padrão possivelmente incorreto).

Exemplos: "zh-Hant", "ja", "ja-latn", "pt".

postalCode

string

Opcional. Código postal do endereço. Nem todos os países usam ou exigem códigos postais, mas nos locais onde são usados, eles podem desencadear uma validação adicional com outras partes do endereço (por exemplo, validação de estado/CEP nos EUA).

sortingCode

string

Opcional. Código de classificação adicional específico de país. Não é usado na maioria das regiões. Nos locais em que é usado, o valor é uma string como “CEDEX”, que pode ser seguida por um número (por exemplo, “CEDEX 7”), ou apenas um número sozinho, representando o “código do setor” (Jamaica), o “indicador de área de entrega” (Malawi) ou o “indicador de agência de correio” (por exemplo, Costa do Marfim).

administrativeArea

string

Opcional. A maior subdivisão administrativa que é usada para endereços postais de um país ou uma região. Por exemplo, pode ser um estado, uma província, uma zona ou uma prefeitura. Especificamente na Espanha, é a província, e não a comunidade autônoma (por exemplo, “Barcelona”, não “Catalunha”). Muitos países não usam área administrativa em endereços postais. Por exemplo, na Suíça, isso deve ser deixado em branco.

locality

string

Opcional. Geralmente se refere à parte do endereço relativa a cidade/município. Exemplos: cidade nos EUA, comunidade na Itália, distrito postal no Reino Unido. Em regiões onde as localidades não são claramente definidas ou não se encaixam bem nessa estrutura, deixe a localidade em branco e use addressLines.

sublocality

string

Opcional. Sublocalidade do endereço. Por exemplo, pode ser bairro ou distrito.

addressLines[]

string

Linhas de endereço não estruturadas que descrevem os níveis mais detalhados de um endereço.

Como os valores em addressLines não têm informações de tipo e podem conter diversos valores em um único campo (por exemplo, “Austin, TX”), é importante que a ordem da linha seja clara. Ela precisa estar em “ordem de envelope” em país ou região do endereço. Em locais em que isso pode variar (por exemplo, Japão), address_language é usado para explicitar (por exemplo, "ja" para ordem do maior para o menor e "ja-Latn" ou "pt" para ordem do menor para o maior). Desta forma, a linha mais específica de um endereço pode ser selecionada com base no idioma.

A representação estrutural mínima permitida de um endereço consiste em um regionCode com todas as informações restantes colocadas em addressLines. Seria possível formatar esse endereço sem geocodificação, mas nenhum raciocínio semântico poderia ser feito sobre qualquer um dos componentes do endereço até que ele fosse pelo menos parcialmente resolvido.

Criar um endereço que apresente apenas um regionCode e addressLines e depois geocodificar é a maneira recomendada de lidar com endereços completamente não estruturados (em vez de adivinhar quais partes do endereço devem ser localidades ou áreas administrativas).

recipients[]

string

Opcional. O destinatário no endereço. Sob certas circunstâncias, este campo pode conter informações em várias linhas. Por exemplo, informações sobre cuidados.

organization

string

Opcional. O nome da organização no endereço.

Índice

Wrapper para itens de linha.

Representação JSON
{
  "lineItems": [
    {
      object (LineItem)
    }
  ]
}
Campos
lineItems[]

object (LineItem)

Lista de itens de linha do pedido. É necessário incluir pelo menos um item de linha e, no máximo, 50. Todos os itens de linha precisam pertencer à mesma indústria.

LineItem

Um item de linha contém uma indústria. Um pedido ou carrinho pode ter vários itens de linha da mesma indústria. Os itens de sublinha/complementos etc. precisam ser definidos em protótipos verticais, dependendo dos casos de uso. Observação: 1. Todas as strings em todos os níveis devem ter menos de 1.000 caracteres, a menos que seja especificado de outra forma. 2. Todos os campos repetidos em todos os níveis precisam ter menos de 50 campos, a menos que seja especificado de outra forma. 3. Todos os carimbos de data/hora em todos os níveis, se especificados, precisam ser carimbos de data/hora válidos.

Representação JSON
{
  "id": string,
  "name": string,
  "userVisibleStateLabel": string,
  "provider": {
    object (Merchant)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "recipients": [
    {
      object (UserInfo)
    }
  ],
  "image": {
    object (Image)
  },
  "description": string,
  "notes": [
    string
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseItemExtension)
  },
  "reservation": {
    object (ReservationItemExtension)
  }
  // End of list of possible types for union field verticals.
}
Campos
id

string

Obrigatório: identificador atribuído pelo comerciante para o item de linha. Usado para identificar itens de linha existentes ao aplicar atualizações parciais. O comprimento máximo permitido é de 64 caracteres.

name

string

Nome do item de linha conforme exibido no recibo. O comprimento máximo permitido é de 100 caracteres.

userVisibleStateLabel
(deprecated)

string

Obsoleto. Use o status de nível vertical. Por exemplo, para compras, use PurchaseOrderExtension.status. Rótulo visível para o usuário para o estado deste item de linha.

provider

object (Merchant)

O fornecedor do item de linha específico, se for diferente do pedido geral. Exemplo: pedido da Expedia com o provedor de itens de linha ANA.

priceAttributes[]

object (PriceAttribute)

Preço e ajustes no nível do item de linha.

followUpActions[]

object (Action)

Ações de acompanhamento no item de linha.

recipients[]

object (UserInfo)

Clientes no nível do item de linha, que pode ser diferente do comprador no nível do pedido. Exemplo: o usuário X fez uma reserva em um restaurante com o nome do usuário Y.

image

object (Image)

Imagem pequena associada a este item, se houver.

description

string

Descrição do item de linha.

notes[]

string

Outras observações aplicáveis a este item de linha específico, como a política de cancelamento.

disclosures[]

object (Disclosure)

Divulgações associadas a este item de linha.

vertical
(deprecated)

object

Obsoleto: use indústrias. Obrigatório: conteúdo semântico do item de linha com base no tipo/indústria. Cada indústria deve incluir os próprios detalhes de atendimento. Precisa ser um destes valores: google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Campo de união verticals. Obrigatório: conteúdo semântico do item de linha com base no tipo/indústria. Cada indústria deve incluir os próprios detalhes de atendimento. verticals pode ser apenas de um dos tipos a seguir:
purchase

object (PurchaseItemExtension)

Ordens de compra, como mercadorias, comida etc.

reservation

object (ReservationItemExtension)

Pedidos de reserva, como restaurante, corte de cabelo etc.

PriceAttribute

Atributo de preço de um pedido ou item de linha.

Representação JSON
{
  "type": enum (Type),
  "name": string,
  "id": string,
  "state": enum (State),
  "taxIncluded": boolean,

  // Union field spec can be only one of the following:
  "amount": {
    object (Money)
  },
  "amountMillipercentage": integer
  // End of list of possible types for union field spec.
}
Campos
type

enum (Type)

Obrigatório: atributo tipo de dinheiro.

name

string

Obrigatório: string do atributo de preço exibida pelo usuário. Ele é enviado e localizado pelo comerciante.

id

string

Opcional: ID do item de linha a que esse preço corresponde.

state

enum (State)

Obrigatório: estado do preço: estimativa x real.

taxIncluded

boolean

Se o preço inclui tributos.

Campo de união spec. Representa o valor monetário ou a porcentagem em milissegundos. spec pode ser apenas de um dos tipos a seguir:
amount

object (Money)

Valor monetário.

amountMillipercentage
(deprecated)

integer

A especificação de porcentagem para 1/1.000 de um percentual. Por exemplo: 8,750% é representado como 8.750, e as porcentagens negativas representam descontos percentuais. Suspensão do uso deste campo. Pode considerar adicionar novamente quando um caso de uso sólido for necessário.

Tipo

Representa o tipo de dinheiro.

Enums
TYPE_UNSPECIFIED O tipo não está especificado. Os clientes não devem precisar definir isso explicitamente.
REGULAR Preço de exibição normal, antes da aplicação de qualquer desconto.
DISCOUNT A ser subtraído do subtotal.
TAX A ser adicionado ao subtotal.
DELIVERY A ser adicionado ao subtotal.
SUBTOTAL Subtotal antes que algumas taxas sejam adicionadas.
FEE Qualquer taxa adicional.
GRATUITY A ser adicionado ao subtotal.
TOTAL Preço do pedido ou item de linha exibido.

Estado

Representa o estado do preço.

Enums
STATE_UNSPECIFIED Não especificado.
ESTIMATE O preço é apenas uma estimativa, mas o valor final seria próximo desse valor. Exemplo: nos casos em que o tributo não é conhecido com precisão no momento da transação, o total seria um valor ESTIMADO.
ACTUAL Preço real que será cobrado do usuário.

Dinheiro

Representa um montante em dinheiro com o respectivo tipo de moeda.

Representação JSON
{
  "currencyCode": string,
  "amountInMicros": string
}
Campos
currencyCode

string

O código de moeda de três letras definido no ISO 4217.

amountInMicros

string (int64 format)

Quantia em micros. Por exemplo, este campo deve ser definido como 1990000 por US $1,99.

Ação

Uma ação de acompanhamento associada ao pedido ou item de linha.

Representação JSON
{
  "type": enum (Type),
  "title": string,
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "actionMetadata": {
    object (ActionMetadata)
  }
}
Campos
type

enum (Type)

Obrigatório: tipo de ação.

title

string

Título ou rótulo da ação, exibido para o usuário. O comprimento máximo permitido é de 100 caracteres.

openUrlAction

object (OpenUrlAction)

O que fazer.

actionMetadata

object (ActionMetadata)

Metadados associados a uma ação.

Tipo

Possíveis ações de acompanhamento.

Enums
TYPE_UNSPECIFIED Ação não especificada.
VIEW_DETAILS Ação "Ver detalhes do pedido".
MODIFY Modificar ação do pedido.
CANCEL Cancelar ação do pedido.
RETURN Ação de pedido de devolução.
EXCHANGE Ação de pedido de troca.
EMAIL

Ação de e-mail. Os tipos EMAIL e CALL foram descontinuados. O openUrlAction.url pode ser usado como um número de telefone ou um e-mail.

CALL

Ação de chamada.

REORDER Ação de reordenar
REVIEW Revise a ação do pedido.
CUSTOMER_SERVICE Entre em contato com o atendimento ao cliente.
FIX_ISSUE Direto ao site ou app do comerciante para corrigir o problema.
DIRECTION Link da rota.

OpenUrlAction

Abre o URL fornecido.

Representação JSON
{
  "url": string,
  "androidApp": {
    object (AndroidApp)
  },
  "urlTypeHint": enum (UrlTypeHint)
}
Campos
url

string

O campo de URL, que pode ser qualquer um destes: URLs http/https para abrir um app vinculado a um app ou uma página da Web

androidApp

object (AndroidApp)

Informações sobre o app Android se o URL for atendido por um app Android.

urlTypeHint

enum (UrlTypeHint)

Indica uma dica para o tipo de URL.

AndroidApp

Especificação do app Android para restrições de fulfillment

Representação JSON
{
  "packageName": string,
  "versions": [
    {
      object (VersionFilter)
    }
  ]
}
Campos
packageName

string

Nome do pacote O nome do pacote precisa ser especificado ao especificar o Android Fulfillment.

versions[]

object (VersionFilter)

Quando vários filtros são especificados, qualquer correspondência de filtro aciona o aplicativo.

VersionFilter

O VersionFilter precisa ser incluído se versões específicas do app forem necessárias.

Representação JSON
{
  "minVersion": integer,
  "maxVersion": integer
}
Campos
minVersion

integer

Código de versão mínima ou 0, inclusive.

maxVersion

integer

Código de versão máxima (inclusive). O intervalo considerado é [minVersion:maxVersion]. Um intervalo nulo implica qualquer versão. Exemplos: para especificar uma única versão, use [target_version:target_version]. Para especificar qualquer versão, deixe minVersion e maxVersion não especificados. Para especificar todas as versões até maxVersion, deixe minVersion não especificado. Para especificar todas as versões de minVersion, deixe maxVersion não especificado.

UrlTypeHint

Diferentes tipos de dicas de URL.

Enums
URL_TYPE_HINT_UNSPECIFIED Não especificado
AMP_CONTENT É o URL que leva diretamente ao conteúdo AMP ou a um URL canônico que se refere ao conteúdo AMP por meio de <link rel="amphtml">.

ActionMetadata

Metadados relacionados por ação.

Representação JSON
{
  "expireTime": string
}
Campos
expireTime

string (Timestamp format)

Horário em que esta ação vai expirar.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Divulgação

Uma divulgação de produto, serviço ou política que pode ser apresentada ao usuário.

Representação JSON
{
  "title": string,
  "disclosureText": {
    object (DisclosureText)
  },
  "presentationOptions": {
    object (DisclosurePresentationOptions)
  }
}
Campos
title

string

Título da divulgação. Exemplo: "Informações de segurança".

disclosureText

object (DisclosureText)

Conteúdo da divulgação. Links da Web são permitidos.

presentationOptions

object (DisclosurePresentationOptions)

Opções de apresentação para a declaração.

DisclosureText

Representa um texto simples com links da Web.

Representação JSON
{
  "template": string,
  "textLinks": [
    {
      object (TextLink)
    }
  ]
}
Campos
template

string

Texto a ser exibido, contendo espaços reservados como "{0}" e “{1}” para cada link de texto que deve ser inserido. Exemplo: "AVISO: este produto pode expor você a substâncias químicas que são conhecidas pelo Estado da Califórnia como responsáveis por causar câncer. Para obter mais informações, acesse {0}." Esse texto de declaração não pode incluir conteúdo promocional ou semelhante a anúncios.

DisclosurePresentationOptions

Opções para a apresentação de uma declaração.

Representação JSON
{
  "presentationRequirement": enum (PresentationRequirement),
  "initiallyExpanded": boolean
}
Campos
presentationRequirement

enum (PresentationRequirement)

Requisitos de apresentação da divulgação.

initiallyExpanded

boolean

Se o conteúdo da declaração deve ser inicialmente expandido. Por padrão, ele fica recolhido inicialmente.

PresentationRequirement

Exigência para a apresentação da divulgação.

Enums
REQUIREMENT_UNSPECIFIED Requisito não especificado. Não deve definir isso explicitamente.
REQUIREMENT_OPTIONAL A declaração é opcional. Ele poderá ser ignorado se o dispositivo não for compatível com a exibição de declarações.
REQUIREMENT_REQUIRED A declaração é obrigatória. A conversa será enviada para o telefone se o dispositivo não for compatível com a exibição de divulgações.

PurchaseItemExtension

Conteúdo do item de linha da indústria de compra.

Representação JSON
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "productId": string,
  "quantity": integer,
  "unitMeasure": {
    object (MerchantUnitMeasure)
  },
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "itemOptions": [
    {
      object (ItemOption)
    }
  ],
  "productDetails": {
    object (ProductDetails)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
Campos
status

enum (PurchaseStatus)

Obrigatório: status no nível do item de linha.

userVisibleStatusLabel

string

Obrigatório: rótulo/string visível para o usuário para o status. O comprimento máximo permitido é de 50 caracteres.

type

enum (PurchaseType)

Obrigatório: tipo de compra.

productId
(deprecated)

string

É o ID do produto ou da oferta associado a este item de linha.

quantity

integer

Quantidade do item.

unitMeasure

object (MerchantUnitMeasure)

Unidade de medida. Especifica o tamanho do item nas unidades escolhidas. O tamanho e o preço ativo são usados para determinar o preço unitário.

returnsInfo

object (PurchaseReturnsInfo)

Retorna as informações deste item de linha. Se não for definido, o item de linha herdará informações de retorno no nível do pedido.

fulfillmentInfo

object (PurchaseFulfillmentInfo)

Informações de fulfillment para este item de linha. Se não for definido, o item de linha herdará informações de atendimento no nível do pedido.

itemOptions[]

object (ItemOption)

Outros complementos ou subitens.

productDetails

object (ProductDetails)

Detalhes sobre o produto.

extension
(deprecated)

object

Todos os campos extras trocados entre o comerciante e o Google. Observação: o uso dessa extensão não é recomendado. Com base no caso de uso/circunstâncias, considere uma das seguintes opções: 1. Defina os campos na PurchaseItemExtension se ela puder ser usada para outros casos de uso (ou seja, capacidade/funcionalidade genérica). 2. Use vertical_extension se ele for específico para um caso de uso/recurso personalizado e não genérico.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

PurchaseStatus

É o status de compra associado a uma ordem de compra ou a um item de linha específico.

Enums
PURCHASE_STATUS_UNSPECIFIED Status não especificado.
READY_FOR_PICKUP Pronto para coleta.
SHIPPED Enviado.
DELIVERED Entregue.
OUT_OF_STOCK Esgotado.
IN_PREPARATION IN_PREPARATION podem ter significados diferentes dependendo do contexto. Para pedidos de COMIDA, pode ser que a comida esteja sendo preparada. Para o varejo, pode ser um item que está sendo embalado.
CREATED O pedido é criado.
CONFIRMED O comerciante confirmou o pedido.
REJECTED O comerciante rejeitou o pedido ou o item de linha.
RETURNED O item foi devolvido pelo usuário.
CANCELLED O pedido ou item de linha foi cancelado pelo usuário.
CHANGE_REQUESTED O usuário solicitou uma alteração no pedido, e o integrador está processando essa alteração. O pedido deve ser movido para outro estado após o processamento da solicitação.

PurchaseType

A categoria de compra.

Enums
PURCHASE_TYPE_UNSPECIFIED Valor desconhecido.
RETAIL Inclui compras como produtos físicos.
FOOD Inclui a compra de pedidos de comida.
GROCERY Compra de mercado.
MOBILE_RECHARGE Compra de recarga de celular pré-paga.

MerchantUnitMeasure

Medida de preço unitário do comerciante.

Representação JSON
{
  "measure": number,
  "unit": enum (Unit)
}
Campos
measure

number

Valor: exemplo 1.2.

unit

enum (Unit)

Unidade: exemplo POUND, GRAM.

Unidade

Enums
UNIT_UNSPECIFIED Unidade não especificada.
MILLIGRAM Miligrama.
GRAM Vovó
KILOGRAM Quilograma.
OUNCE Onça.
POUND Libra.

PurchaseReturnsInfo

Retorna informações associadas a um pedido ou a um item de linha específico.

Representação JSON
{
  "isReturnable": boolean,
  "daysToReturn": integer,
  "policyUrl": string
}
Campos
isReturnable

boolean

Se verdadeiro, o retorno é permitido.

daysToReturn

integer

O prazo de devolução é permitido dentro desse período.

policyUrl

string

Link para a política de devolução.

PurchaseFulfillmentInfo

Informações de atendimento associadas a uma ordem de compra ou a um item de linha específico.

Representação JSON
{
  "id": string,
  "fulfillmentType": enum (Type),
  "expectedFulfillmentTime": {
    object (Time)
  },
  "expectedPreparationTime": {
    object (Time)
  },
  "location": {
    object (Location)
  },
  "expireTime": string,
  "price": {
    object (PriceAttribute)
  },
  "fulfillmentContact": {
    object (UserInfo)
  },
  "shippingMethodName": string,
  "storeCode": string,
  "pickupInfo": {
    object (PickupInfo)
  }
}
Campos
id

string

Identificador exclusivo dessa opção de serviço.

fulfillmentType

enum (Type)

Obrigatório: o tipo de fulfillment.

expectedFulfillmentTime

object (Time)

Uma janela se um intervalo de tempo for especificado, ou ETA se um único horário for especificado. Horário esperado de entrega ou retirada.

expectedPreparationTime

object (Time)

Uma janela se um intervalo de tempo for especificado, ou ETA se um único horário for especificado. Tempo esperado para preparar a comida. Preferência para uso único.

location

object (Location)

Local de retirada ou entrega.

expireTime

string (Timestamp format)

Horário em que essa opção de atendimento do pedido expira.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

price

object (PriceAttribute)

Custo dessa opção.

fulfillmentContact

object (UserInfo)

Contato do usuário para esse fulfillment.

shippingMethodName

string

Nome do método de envio selecionado pelo usuário.

storeCode

string

StoreCode do local. Exemplo: Walmart é o comerciante, e storeCode é a loja Walmart em que o atendimento ocorreu. https://support.google.com/business/answer/3370250?ref_topic=4596653.

pickupInfo

object (PickupInfo)

Informações adicionais sobre como o pedido seria selecionado. Esse campo só é aplicável quando o tipo de atendimento do pedido é "RETIRADA".

Tipo

Tipo de fulfillment.

Enums
TYPE_UNSPECIFIED Tipo não especificado.
DELIVERY Este pedido será entregue.
PICKUP Este pedido precisa ser retirado.

Tempo

A construção de tempo para representar o tempo de um evento a ser usado ao exibir um pedido ao usuário.

Representação JSON
{
  "timeIso8601": string
}
Campos
timeIso8601

string

Representa um horário de evento do pedido, como horário de reserva, horário de entrega e assim por diante. Pode ser uma duração (horário de início e término), apenas a data, data e hora etc. Consulte https://en.wikipedia.org/wiki/ISO_8601 para ver todos os formatos compatíveis.

PickupInfo

Detalhes sobre como um pedido é retirado. Ele inclui detalhes como o tipo de retirada e metadados adicionais anexados a cada tipo, se houver.

Representação JSON
{
  "pickupType": enum (PickupType),
  "curbsideInfo": {
    object (CurbsideInfo)
  },
  "checkInInfo": [
    {
      object (CheckInInfo)
    }
  ]
}
Campos
pickupType

enum (PickupType)

Método de retirada, como INSTORE, CURBSIDE etc.

curbsideInfo

object (CurbsideInfo)

Detalhes específicos das informações de drive-thru. Se pickupType não for "CURBSIDE", este campo será ignorado.

checkInInfo[]

object (CheckInInfo)

Lista de vários métodos aceitos pelo parceiro para permitir o check-in.

PickupType

Lista de tipos de retirada aceitos.

Enums
UNSPECIFIED Tipo de retirada não especificado.
INSTORE Retirar comida dentro do restaurante.
CURBSIDE Estacione o veículo em um local designado fora do restaurante e alguém vai entregar a comida lá.

CurbsideInfo

Detalhes sobre como seria facilitada a ordem de drive-thru.

Representação JSON
{
  "curbsideFulfillmentType": enum (CurbsideFulfillmentType),
  "userVehicle": {
    object (Vehicle)
  }
}
Campos
curbsideFulfillmentType

enum (CurbsideFulfillmentType)

Os parceiros precisam de mais informações para facilitar os pedidos para retirada na porta. Dependendo do tipo de atendimento escolhido, os detalhes correspondentes serão coletados do usuário.

userVehicle

object (Vehicle)

Detalhes do veículo do usuário que fez o pedido.

CurbsideFulfillmentType

Possíveis valores dos tipos de atendimento por drive-thru.

Enums
UNSPECIFIED Tipo de atendimento de drive-thru não especificado.
VEHICLE_DETAIL Detalhes do veículo necessários para facilitar a retirada na porta.

Veículo

Detalhes sobre um veículo

Representação JSON
{
  "make": string,
  "model": string,
  "licensePlate": string,
  "colorName": string,
  "image": {
    object (Image)
  }
}
Campos
make

string

Marca do veículo (por exemplo, "Honda"). Ele é exibido para o usuário e precisa ser localizado. Obrigatório.

model

string

Modelo do veículo (por exemplo, "Grom"). Ele é exibido para o usuário e precisa ser localizado. Obrigatório.

licensePlate

string

Número da placa do veículo (por exemplo, "1ABC234"). Obrigatório.

colorName

string

Nome da cor do veículo, por exemplo preto Opcional.

image

object (Image)

URL para uma foto do veículo. A foto será exibida com aproximadamente 256 x 256 px. Precisa ser um arquivo jpg ou png. Opcional.

CheckInInfo

Os metadados exigidos pelo parceiro para oferecer suporte a um método de check-in.

Representação JSON
{
  "checkInType": enum (CheckInType)
}
Campos
checkInType

enum (CheckInType)

Método usado para enviar instruções de check-in.

CheckInType

Vários métodos usados para enviar instruções de check-in.

Enums
CHECK_IN_TYPE_UNSPECIFIED Valor desconhecido.
EMAIL As informações de check-in serão enviadas por e-mail.
SMS As informações de check-in serão enviadas por SMS.

ItemOption

Representa complementos ou subitens.

Representação JSON
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": integer,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
Campos
id

string

Para opções que são itens, ID exclusivo do item.

name

string

Nome da opção.

prices[]

object (PriceAttribute)

Preço total da opção.

note

string

Observação relacionada à opção.

quantity

integer

Para opções que são itens, quantidade.

productId

string

ID do produto ou da oferta associado a essa opção.

subOptions[]

object (ItemOption)

Para definir outras subopções aninhadas.

ProductDetails

Detalhes sobre o produto.

Representação JSON
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
Campos
productId

string

É o ID do produto ou da oferta associado a este item de linha.

gtin

string

Número global do item comercial do produto. Útil se o offerId não estiver presente no Merchant Center. Opcional.

plu

string

Os códigos de consulta de preços, geralmente chamados de códigos PLU, números PLU, PLUs, códigos de produtos ou rótulos de produtos, são um sistema de números que identifica exclusivamente produtos a granel vendidos em supermercados e supermercados.

productType

string

Categoria do produto definida pelo comerciante. Por exemplo: "Início > Mercearia > Laticínios e Ovos > Leite > Leite integral"

productAttributes

map (key: string, value: string)

Detalhes do produto fornecidos pelo comerciante, por exemplo, { &quot;allergen&quot;: &quot;peanut&quot; }. Útil se o offerId não estiver presente no Merchant Center. Opcional.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ReservationItemExtension

Conteúdo do item de linha para pedidos de reserva, como restaurante, corte de cabelo etc.

Representação JSON
{
  "status": enum (ReservationStatus),
  "userVisibleStatusLabel": string,
  "type": enum (ReservationType),
  "reservationTime": {
    object (Time)
  },
  "userAcceptableTimeRange": {
    object (Time)
  },
  "confirmationCode": string,
  "partySize": integer,
  "staffFacilitators": [
    {
      object (StaffFacilitator)
    }
  ],
  "location": {
    object (Location)
  }
}
Campos
status

enum (ReservationStatus)

Obrigatório: status da reserva.

userVisibleStatusLabel

string

Obrigatório: rótulo/string visível para o usuário para o status. O comprimento máximo permitido é de 50 caracteres.

type

enum (ReservationType)

Tipo de reserva. Pode não ser definido se nenhuma das opções de tipo for aplicável.

reservationTime

object (Time)

Horário em que o serviço/evento está programado para ocorrer. Pode ser um período, uma data ou uma data e hora exata.

userAcceptableTimeRange

object (Time)

Intervalo de tempo aceitável para o usuário.

confirmationCode

string

Código de confirmação para esta reserva.

partySize

integer

O número de pessoas.

staffFacilitators[]

object (StaffFacilitator)

Os facilitadores da equipe que vão atender a reserva. Exemplo: A cabeleireira.

location

object (Location)

Local do serviço/evento.

ReservationStatus

Status da reserva.

Enums
RESERVATION_STATUS_UNSPECIFIED Status não especificado.
PENDING A reserva está pendente.
CONFIRMED A reserva está confirmada.
CANCELLED A reserva foi cancelada pelo usuário.
FULFILLED A reserva foi concluída.
CHANGE_REQUESTED Alteração de reserva solicitada
REJECTED A reserva expirou ou foi rejeitada pelo integrador.

ReservationType

Tipo de reserva.

Enums
RESERVATION_TYPE_UNSPECIFIED Tipo não especificado.
RESTAURANT Reserva para o restaurante.
HAIRDRESSER Reserva de cabeleireiro.

StaffFacilitator

Informações sobre o funcionário do serviço.

Representação JSON
{
  "name": string,
  "image": {
    object (Image)
  }
}
Campos
name

string

O nome do facilitador de equipe. Exemplo: "João da Silva"

image

object (Image)

Imagens do artista.

PaymentData

Dados de pagamento relacionados a um pedido.

Representação JSON
{
  "paymentResult": {
    object (PaymentResult)
  },
  "paymentInfo": {
    object (PaymentInfo)
  }
}
Campos
paymentResult

object (PaymentResult)

Resultado do pagamento usado pelo integrador para concluir uma transação. Esse campo será preenchido pelo Actions on Google se a experiência de finalização de compra for gerenciada por essa plataforma.

paymentInfo

object (PaymentInfo)

Informações de pagamento sobre o pedido que sejam úteis para a interação do usuário.

PaymentResult

Resultado de pagamento usado pelo integrador para concluir uma transação.

Representação JSON
{

  // Union field result can be only one of the following:
  "googlePaymentData": string,
  "merchantPaymentMethodId": string
  // End of list of possible types for union field result.
}
Campos
Campo de união result. Os dados de pagamento do Google ou a forma de pagamento do comerciante são fornecidos. result pode ser apenas de um dos tipos a seguir:
googlePaymentData

string

Dados da forma de pagamento fornecidos pelo Google. Caso seu processador de pagamentos esteja listado como aceito pelo Google aqui: https://developers.google.com/pay/api/, acesse seu processador de pagamentos pelo link para saber mais detalhes. Caso contrário, consulte a documentação a seguir para mais detalhes sobre o payload. https://developers.google.com/pay/api/payment-data-cryptography

merchantPaymentMethodId

string

Forma de pagamento fornecida pelo comerciante/ação escolhida pelo usuário.

PaymentInfo

Informações de pagamento sobre o pedido que está sendo feito. Esse proto captura informações úteis para a interação voltada ao usuário.

Representação JSON
{
  "paymentMethodDisplayInfo": {
    object (PaymentMethodDisplayInfo)
  },
  "paymentMethodProvenance": enum (PaymentMethodProvenance)
}
Campos
paymentMethodDisplayInfo

object (PaymentMethodDisplayInfo)

As informações de exibição da forma de pagamento usada para a transação.

paymentMethodProvenance

enum (PaymentMethodProvenance)

Procedência da forma de pagamento usada para a transação. Talvez o usuário tenha registrado a mesma forma de pagamento no Google e no comerciante.

PaymentMethodDisplayInfo

Resultado de pagamento usado pelo integrador para concluir uma transação.

Representação JSON
{
  "paymentType": enum (PaymentType),
  "paymentMethodDisplayName": string,
  "paymentMethodVoiceName": string
}
Campos
paymentType

enum (PaymentType)

O tipo de pagamento.

paymentMethodDisplayName

string

Nome da forma de pagamento visível para o usuário. Por exemplo, VISA **** 1234 Conta corrente **** 5678

paymentMethodVoiceName

string

Nome da forma de pagamento a ser falado para o usuário em dispositivos com assistentes somente de voz. Por exemplo, "visto que termina em um dois três quatro" ou "conta corrente com final 5 seis sete oito". Observação: esta é a string otimizada para voz a ser usada no lugar de paymentMethodDisplayName para dispositivos de assistente somente de voz. Se essa string não for definida, paymentMethodDisplayName será falado para o usuário.

PaymentType

PaymentType indica a forma de pagamento usada pelo comerciante. A ação também precisa fornecer um nome de exibição para a forma de pagamento.

Enums
PAYMENT_TYPE_UNSPECIFIED Tipo de pagamento não especificado.
PAYMENT_CARD Cartão de crédito/débito ou pré-pago.
BANK A forma de pagamento é uma conta bancária.
LOYALTY_PROGRAM A forma de pagamento é um programa de fidelidade.
CASH A forma de pagamento é dinheiro.
GIFT_CARD A forma de pagamento é um vale-presente.
WALLET Carteira de terceiros, como PayPal

PaymentMethodProvenance

Representa a procedência da forma de pagamento usada na transação.

Enums
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED A procedência não foi especificada.
PAYMENT_METHOD_PROVENANCE_GOOGLE Procedência é o Google.
PAYMENT_METHOD_PROVENANCE_MERCHANT Procedência é Comerciante.

Promoção

Promoções/ofertas que foram adicionadas ao carrinho.

Representação JSON
{
  "coupon": string
}
Campos
coupon

string

Obrigatório: código do cupom aplicado a esta oferta.

PurchaseOrderExtension

Extensão de pedido para a indústria de compras. Essas propriedades são aplicáveis a todos os itens de linha dentro do pedido, a menos que sejam substituídas em um item de linha.

Representação JSON
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "purchaseLocationType": enum (PurchaseLocationType),
  "errors": [
    {
      object (PurchaseError)
    }
  ],
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
Campos
status

enum (PurchaseStatus)

Obrigatório: status geral do pedido.

userVisibleStatusLabel

string

Rótulo/string visível para o usuário para o status. O comprimento máximo permitido é de 50 caracteres.

type

enum (PurchaseType)

Obrigatório: tipo de compra.

returnsInfo

object (PurchaseReturnsInfo)

Devolver informações do pedido.

fulfillmentInfo

object (PurchaseFulfillmentInfo)

Informações de atendimento do pedido.

purchaseLocationType

enum (PurchaseLocationType)

Local da compra (na loja / on-line)

errors[]

object (PurchaseError)

Opcional: erros que resultaram na rejeição do pedido.

extension
(deprecated)

object

Todos os campos extras trocados entre o comerciante e o Google. Observação: o uso dessa extensão não é recomendado. Com base no caso de uso/circunstâncias, considere uma das seguintes opções: 1. Defina os campos na PurchaseOrderExtension caso ela possa ser usada para outros casos de uso (ou seja, capacidade/funcionalidade genérica). 2. Use vertical_extension se ele for específico para um caso de uso/recurso personalizado e não genérico.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

PurchaseLocationType

Tipo de local da compra.

Enums
UNSPECIFIED_LOCATION Valor desconhecido.
ONLINE_PURCHASE Todas as compras compradas on-line.
INSTORE_PURCHASE Todas as compras na loja física.

PurchaseError

Erros que podem causar rejeição de ordens de compra.

Representação JSON
{
  "type": enum (ErrorType),
  "description": string,
  "entityId": string,
  "updatedPrice": {
    object (PriceAttribute)
  },
  "availableQuantity": integer
}
Campos
type

enum (ErrorType)

Obrigatório: representa o motivo granular de um pedido ser recusado pelo comerciante.

description

string

Descrição adicional do erro.

entityId

string

ID da entidade correspondente ao erro. Exemplo que pode corresponder a OrderId / ItemOptionId.

updatedPrice

object (PriceAttribute)

Relevante no caso do tipo de erro PRICE_CHANGED / INCORRECT_PRICE.

availableQuantity

integer

Quantidade disponível agora. Aplicável no caso de AVAILABILITY_CHANGED.

ErrorType

Tipos de erros possíveis.

Enums
ERROR_TYPE_UNSPECIFIED Erro desconhecido
NOT_FOUND Entidade não encontrada. Pode ser Item, FulfillmentOption ou Promoção. O ID da entidade é obrigatório.
INVALID Os dados da entidade não são válidos. pode ser Item, FulfillmentOption ou Promoção. O ID da entidade é obrigatório.
AVAILABILITY_CHANGED Item indisponível ou itens insuficientes para atender à solicitação. O ID da entidade é obrigatório.
PRICE_CHANGED O preço do item é diferente do preço na entidade "Item". O código da entidade e o preço atualizado são obrigatórios.
INCORRECT_PRICE Erros de preço em Tarifas, Total. O código da entidade e o preço atualizado são obrigatórios.
REQUIREMENTS_NOT_MET Restrições para aceitar o pedido não atendidas: tamanho mínimo do carrinho etc.
TOO_LATE FulfillmentOption expirou.
NO_CAPACITY Não há capacidade de serviço disponível. Use esse código se nenhum dos tipos de erro mais refinados for aplicável.
NO_COURIER_AVAILABLE Nenhuma transportadora foi encontrada. Um tipo de erro detalhado que pode ser categorizado como NO_CAPACITY.
INELIGIBLE O usuário não está qualificado para fazer pedidos (na lista de proibições).
OUT_OF_SERVICE_AREA Não é possível entregar no endereço solicitado devido a regras de fronteira etc.
CLOSED O restaurante está fechado para fazer o pedido.
PROMO_NOT_APPLICABLE Código de erro genérico para capturar todos os casos de falha na aplicação do código promocional, se nenhum dos abaixo for adequado. Adicione o código promocional como ID da entidade.
PROMO_NOT_RECOGNIZED O parceiro não reconheceu o código do cupom. Adicione o código promocional como ID da entidade.
PROMO_EXPIRED Não foi possível aplicar porque a promoção expirou. Adicione o código promocional como ID da entidade.
PROMO_USER_INELIGIBLE O usuário atual não está qualificado para este cupom. Adicione o código promocional como ID da entidade.
PROMO_ORDER_INELIGIBLE O pedido atual não está qualificado para este cupom. Adicione o código promocional como ID da entidade.
UNAVAILABLE_SLOT O horário de pedido antecipado não está disponível.
FAILED_PRECONDITION Restrições para aceitar o pedido não atendidas: tamanho mínimo do carrinho etc.
PAYMENT_DECLINED Pagamento inválido.
MERCHANT_UNREACHABLE Não foi possível entrar em contato com o comerciante. Isso é útil quando um parceiro é um agregador e não consegue alcançar o comerciante.
ACCOUNT_LINKING_FAILED O comerciante tentou vincular a conta do Google do usuário a uma conta no sistema, mas encontrou um erro ao fazer isso.

TicketOrderExtension

Itens para compra de ingressos, como filmes, esportes etc.

Representação JSON
{
  "ticketEvent": {
    object (TicketEvent)
  }
}
Campos
ticketEvent

object (TicketEvent)

O evento aplicado a todos os ingressos de item de linha.

TicketEvent

Representa um único evento.

Representação JSON
{
  "type": enum (Type),
  "name": string,
  "description": string,
  "url": string,
  "location": {
    object (Location)
  },
  "eventCharacters": [
    {
      object (EventCharacter)
    }
  ],
  "startDate": {
    object (Time)
  },
  "endDate": {
    object (Time)
  },
  "doorTime": {
    object (Time)
  }
}
Campos
type

enum (Type)

Obrigatório: tipo de evento de ingresso, por exemplo, filme ou show.

name

string

Obrigatório: nome do evento. Por exemplo, se o evento for um filme, deverá ser o nome do filme.

description

string

É a descrição do evento.

url

string

URL para as informações do evento.

location

object (Location)

O local onde o evento vai acontecer ou a localização de uma organização.

eventCharacters[]

object (EventCharacter)

Os caracteres relacionados a este evento. Pode ser diretores ou atores de um evento cinematográfico ou artistas de um show etc.

startDate

object (Time)

Horário de início.

endDate

object (Time)

Horário de término.

doorTime

object (Time)

Horário de entrada, que pode ser diferente do horário de início do evento. Por exemplo: o evento começa às 9h, mas o horário de entrada é 8h30.

Tipo

O tipo do evento.

Enums
EVENT_TYPE_UNKNOWN Tipo de evento desconhecido.
MOVIE Filme.
CONCERT Show.
SPORTS Esportes.

EventCharacter

Um caractere de evento, por exemplo, organizador, artista etc.

Representação JSON
{
  "type": enum (Type),
  "name": string,
  "image": {
    object (Image)
  }
}
Campos
type

enum (Type)

Tipo do caractere do evento, por exemplo, ator ou diretor.

name

string

Nome do personagem.

image

object (Image)

Imagens do personagem.

Tipo

Tipo de caractere.

Enums
TYPE_UNKNOWN Tipo desconhecido.
ACTOR Ator.
PERFORMER Artista
DIRECTOR Diretor
ORGANIZER Organizador.

UserNotification

Notificação opcional para o usuário a ser exibida como parte da atualização do pedido.

Representação JSON
{
  "title": string,
  "text": string
}
Campos
title

string

O título da notificação do usuário. O comprimento máximo permitido é de 30 caracteres.

text

string

O conteúdo da notificação. O comprimento máximo permitido é de 100 caracteres.

NextScene

Representa a cena a ser executada em seguida.

Representação JSON
{
  "name": string
}
Campos
name

string

Nome da cena a ser executada em seguida.

Sessão

Contém informações sobre a sessão de conversa atual

Representação JSON
{
  "id": string,
  "params": {
    string: value,
    ...
  },
  "typeOverrides": [
    {
      object (TypeOverride)
    }
  ],
  "languageCode": string
}
Campos
id

string

Obrigatório. ID globalmente exclusivo da sessão de conversa atual. Este campo é somente leitura.

params

map (key: string, value: value (Value format))

Obrigatório. Lista de todos os parâmetros coletados de formulários e intents durante a sessão. A chave é o nome do parâmetro. Os parâmetros definidos aqui serão mesclados com os já definidos na sessão. Os parâmetros com valor nulo serão removidos da sessão. Consulte a documentação sobre o armazenamento de sessões: https://developers.google.com/assistant/conversational/storage-session.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

typeOverrides[]

object (TypeOverride)

Opcional. Tipos com escopo para a sessão. As definições do tipo de sessão podem complementar ou substituir os tipos existentes. Os nomes de tipo precisam ser exclusivos.

languageCode

string

Idioma da sessão de conversa atual. Segue o código de idioma IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Ela pode ser diferente da localidade do usuário se a ação usar recursos em vários idiomas. Por exemplo, quando handle_response.expected.language_code é definido, ele altera o idioma da conversa para todos os turnos seguintes, o que será refletido nesse campo.

TypeOverride

Representa uma substituição de um tipo.

Representação JSON
{
  "name": string,
  "mode": enum (TypeOverrideMode),
  "synonym": {
    object (SynonymType)
  }
}
Campos
name

string

Obrigatório. Nome do tipo que será complementado ou substituído.

mode

enum (TypeOverrideMode)

Obrigatório. Como este tipo deve ser mesclado com outros valores de tipo.

synonym

object (SynonymType)

TypeOverrideMode

Os tipos de modificações para um tipo de entidade de sessão.

Enums
TYPE_UNSPECIFIED Não especificado. Esse valor nunca deve ser usado.
TYPE_REPLACE As definições de tipo nesta resposta vão substituir as definidas anteriormente.
TYPE_MERGE As definições de tipo nesta resposta serão mescladas com as definições de tipo definidas anteriormente. As novas definições de tipo substituirão as definições de tipo existentes.

SynonymType

Representa um tipo com sinônimos.

Representação JSON
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
Campos
entries[]

object (Entry)

Obrigatório. Lista de entradas para o tipo de sinônimo.

Entrada

Representa uma entrada para um tipo de sinônimo.

Representação JSON
{
  "name": string,
  "synonyms": [
    string
  ],
  "display": {
    object (EntryDisplay)
  }
}
Campos
name

string

Obrigatório. Nome da entrada (por exemplo, "bicicleta"). A entrada neste campo precisa ser incluída no campo de sinônimos repetidos para ser reconhecida como um valor de tipo válido.

synonyms[]

string

Obrigatório. Lista de sinônimos para a entrada (por exemplo, "bike", "cycle").

display

object (EntryDisplay)

Opcional. São as informações exibidas.

EntryDisplay

Representação JSON
{
  "title": string,
  "description": string,
  "image": {
    object (Image)
  },
  "footer": string,
  "openUrl": {
    object (OpenUrl)
  }
}
Campos
title

string

Obrigatório. Título do item. Quando tocado, esse texto é postado de volta na conversa como se o usuário o tivesse digitado. Cada título precisa ser exclusivo entre o conjunto de itens da coleção.

description

string

Opcional. Texto do corpo do card.

image

object (Image)

Opcional. A imagem que será exibida.

footer

string

Opcional. Texto do rodapé para o item de navegação da coleção, exibido abaixo da descrição. Linha única de texto, truncada com reticências.

openUrl

object (OpenUrl)

URL do documento associado à navegação pelo item do carrossel. Obrigatório para navegação no carrossel.

Usuário

Representa o usuário que faz uma solicitação para a ação.

Representação JSON
{
  "locale": string,
  "params": {
    string: value,
    ...
  },
  "accountLinkingStatus": enum (AccountLinkingStatus),
  "verificationStatus": enum (UserVerificationStatus),
  "lastSeenTime": string,
  "engagement": {
    object (Engagement)
  },
  "packageEntitlements": [
    {
      object (PackageEntitlements)
    }
  ],
  "permissions": [
    enum (Permission)
  ]
}
Campos
locale

string

Configuração de localidade principal do usuário que fez a solicitação. Segue o código de idioma IETF BCP-47 http://www.rfc-editor.org/rfc/bcp/bcp47.txt. No entanto, a subtag script não está incluída.

params

map (key: string, value: value (Value format))

Opcional. Lista de todos os parâmetros associados ao usuário atual. Consulte a documentação sobre o armazenamento de usuários: https://developers.google.com/assistant/conversational/storage-user.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

accountLinkingStatus

enum (AccountLinkingStatus)

Se a conta do usuário está vinculada ao app.

verificationStatus

enum (UserVerificationStatus)

Indica o status de verificação do usuário.

lastSeenTime

string (Timestamp format)

O carimbo de data/hora da última interação com esse usuário. Este campo será omitido se o usuário nunca interagiu com o agente.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

engagement

object (Engagement)

O engajamento do usuário atual, incluindo assinaturas de intents.

packageEntitlements[]

object (PackageEntitlements)

Direitos do usuário relacionados ao pacote Android associado à ação atual.

permissions[]

enum (Permission)

Contém permissões concedidas pelo usuário para esta ação.

AccountLinkingStatus

Indica se o usuário final vinculou a conta ao aplicativo. Consulte a documentação de vinculação de contas: https://developers.google.com/assistant/identity.

Enums
ACCOUNT_LINKING_STATUS_UNSPECIFIED Desconhecido.
NOT_LINKED O usuário não vinculou a conta a este app.
LINKED O usuário vinculou a própria conta a este app.

UserVerificationStatus

Indica se o Google verificou o usuário. O status VERIFIED indica que você pode salvar dados nas conversas usando o campo de parâmetros ou a vinculação de contas.

Enums
USER_VERIFICATION_STATUS_UNSPECIFIED Desconhecido.
GUEST Usuário convidado.
VERIFIED Usuário verificado.

Engajamento

Fornece informações adicionais somente leitura sobre em quais mecanismos de engajamento o usuário atual se registrou. Por exemplo, pode ser útil saber em quais intents o usuário já está inscrito para evitar solicitar que ele se inscreva na mesma intent novamente. Ou seja, essas informações podem ser usadas para rotear condicionalmente para uma cena para configurar DailyUpdates ou PushNotifications somente se o usuário ainda não tiver se inscrito. Consulte a documentação sobre engajamento do usuário: https://developers.google.com/assistant/engagement.

Representação JSON
{
  "pushNotificationIntents": [
    {
      object (IntentSubscription)
    }
  ],
  "dailyUpdateIntents": [
    {
      object (IntentSubscription)
    }
  ]
}
Campos
pushNotificationIntents[]

object (IntentSubscription)

Contém uma lista de intents para as quais o usuário ativou a notificação push.

dailyUpdateIntents[]

object (IntentSubscription)

Contém uma lista de intents para as quais o usuário ativou a atualização diária.

IntentSubscription

Descreve uma IntentSubscription existente.

Representação JSON
{
  "intent": string,
  "contentTitle": string
}
Campos
intent

string

Nome da intent em que está inscrita.

contentTitle

string

É uma breve descrição da assinatura. Ela é usada como o marcador da notificação e quando o Google Assistente solicita permissão do usuário.

PackageEntitlements

Uma lista de direitos do usuário relacionados a um nome de pacote. Consulte a documentação sobre transações de bens digitais: https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables.

Representação JSON
{
  "packageName": string,
  "entitlements": [
    {
      object (Entitlement)
    }
  ]
}
Campos
packageName

string

O nome do pacote Android especificado no pacote de ações.

entitlements[]

object (Entitlement)

Os direitos do usuário para o pacote especificado.

Direito

Define o direito digital de um usuário.

Representação JSON
{
  "sku": string,
  "skuType": enum (SkuType),
  "inAppDetails": {
    object (SignedData)
  }
}
Campos
sku

string

SKU do produto. Nome do pacote do app pago, sufixo de Finsky docid para compra e assinatura no app. Corresponde a getSku() na API Play InApp Billing. Consulte a documentação do Faturamento no Google Play no app: https://developer.android.com/google/play/billing.

skuType

enum (SkuType)

O tipo de SKU.

inAppDetails

object (SignedData)

Presente apenas para compras e assinaturas no app.

SkuType

Enums
SKU_TYPE_UNSPECIFIED
IN_APP Compra no app
SUBSCRIPTION Inscrições
APP Apps pagos

SignedData

Representação JSON
{
  "inAppPurchaseData": {
    object
  },
  "inAppDataSignature": string
}
Campos
inAppPurchaseData

object (Struct format)

Contém todos os dados de compra no app no formato JSON. Consulte os detalhes na tabela 6 de https://developer.android.com/google/play/billing/billing_reference.html.

inAppDataSignature

string

Corresponde a IN_APP_DATA_SIGNATURE do método getPurchases() na API Play InApp Billing.

Permissão

Valores possíveis para a permissão.

Enums
PERMISSION_UNSPECIFIED Permissão não especificada.
DEVICE_PRECISE_LOCATION Solicite o local exato, a latitude/longitude e o endereço formatado do usuário.
DEVICE_COARSE_LOCATION Pergunte a localização aproximada, o CEP, a cidade e o código do país do usuário.
UPDATE Solicite permissões para enviar atualizações. Consulte https://developers.google.com/assistant/engagement/daily.

Página inicial

Representa a estrutura do gráfico do Home à qual o dispositivo de destino do usuário pertence.

Representação JSON
{
  "params": {
    string: value,
    ...
  }
}
Campos
params

map (key: string, value: value (Value format))

Opcional. Lista de parâmetros associados à estrutura do HomeGraph à qual o dispositivo de destino pertence. Consulte a documentação sobre o armazenamento doméstico: https://developers.google.com/assistant/conversational/storage-home.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Dispositivo

Representa o dispositivo que o usuário está usando para fazer uma solicitação para a ação.

Representação JSON
{
  "capabilities": [
    enum (Capability)
  ],
  "currentLocation": {
    object (Location)
  },
  "timeZone": {
    object (TimeZone)
  }
}
Campos
capabilities[]

enum (Capability)

Obrigatório. os recursos do dispositivo que faz uma solicitação à ação.

currentLocation

object (Location)

Opcional. A localização do dispositivo do usuário. Ele só é preenchido depois que as permissões de localização são concedidas pelo usuário final. Veja a mensagem de localização para mais detalhes sobre quais campos são definidos de acordo com a permissão geral e a de refinamento. Consulte a documentação de permissões: https://developers.google.com/assistant/conversational/permissions.

timeZone

object (TimeZone)

Opcional. Fuso horário associado ao dispositivo cliente. Pode ser usada para resolver valores de data e hora.

Capacidade

Recursos compatíveis com a superfície do dispositivo no momento da solicitação.

Enums
UNSPECIFIED Capacidade do dispositivo não especificada.
SPEECH O dispositivo pode falar com o usuário por conversão de texto em voz ou SSML.
RICH_RESPONSE O dispositivo pode exibir respostas avançadas, como cartões, listas e tabelas.
LONG_FORM_AUDIO O dispositivo pode tocar mídias de áudio de formato longo, como músicas e podcasts.
INTERACTIVE_CANVAS O dispositivo pode exibir uma resposta de tela interativa.
HOME_STORAGE O dispositivo oferece suporte ao salvamento e à busca do armazenamento doméstico.

Local

Contêiner que representa um local.

Representação JSON
{
  "coordinates": {
    object (LatLng)
  },
  "postalAddress": {
    object (PostalAddress)
  }
}
Campos
coordinates

object (LatLng)

Coordenadas geográficas. Requer a permissão [DEVICE_PRECISE_LOCATION].

postalAddress

object (PostalAddress)

Endereço postal. Requer a permissão [DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION]. Quando a permissão de localização aproximada é concedida, apenas o campo "postalCode" e "região" devem ser preenchidos. A permissão de localização precisa preencherá campos adicionais, como "AdministrativeArea" e "addressLines".

TimeZone

Representa um fuso horário do banco de dados IANA.

Representação JSON
{
  "id": string,
  "version": string
}
Campos
id

string

Fuso horário do banco de dados IANA. Por exemplo: "America/New_York".

version

string

Opcional. Número da versão do banco de dados IANA de fuso horário. Por exemplo: "2019a".

Contexto

Contém informações de contexto quando o usuário faz uma consulta. Esse contexto inclui, mas não se limita a, informações sobre a sessão de mídia ativa, o estado do app da Web em tela etc.

Representação JSON
{
  "media": {
    object (MediaContext)
  },
  "canvas": {
    object (CanvasContext)
  }
}
Campos
media

object (MediaContext)

Contém informações de contexto sobre a sessão de mídia ativa no momento.

canvas

object (CanvasContext)

Contém informações de contexto sobre a tela atual.

MediaContext

Contém informações de contexto sobre a sessão de mídia ativa no momento.

Representação JSON
{
  "progress": string,
  "index": integer
}
Campos
progress

string (Duration format)

Progresso da mídia do arquivo de mídia ativo atual.

Uma duração em segundos com até nove dígitos fracionários, encerrada por "s". Exemplo: "3.5s".

index

integer

Índice baseado em zero do arquivo de mídia atual ativo na lista de arquivos de mídia na resposta de mídia.

CanvasContext

Contém informações de contexto sobre a tela atual.

Representação JSON
{
  "state": value
}
Campos
state

value (Value format)

Opcional. Estado definido pelo app de tela interativa de terceiros. Isso é definido apenas para solicitação, não para resposta. Por exemplo, se este for um aplicativo de receitas, o estado pode ser um valor de struct : { "current_page" : 5, "last_page" : 3, } O limite de tamanho é de 50 KB.

Estimativa

Descreve as expectativas para a próxima rodada de diálogo.

Representação JSON
{
  "speech": [
    string
  ]
}
Campos
speech[]

string

Lista de frases que a ação espera do enunciado do usuário para polarização de fala. São permitidas até 1.000 frases. Observação: esse campo tem o mesmo significado que expectedInput.speech_biasing_hints na API v2.