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 processar a solicitação. Por exemplo, uma solicitação que pretende descobrir 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 Home Graph a que o dispositivo de destino pertence. Acesse 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, entre outros, informações sobre sessões de mídia ativas ou telas.

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 os prompts a serem enviados ao usuário. Esses prompts serão anexados a mensagens adicionadas anteriormente, a menos que sejam substituídos explicitamente.

scene

object (Scene)

Opcional. Representa a cena atual e a próxima. Se Scene.next estiver definido, o ambiente de execução fará a transição imediata para o cenário especificado.

session

object (Session)

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

user

object (User)

Opcional. Use para especificar os parâmetros do usuário que serão devolvidos.

home

object (Home)

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

device

object (Device)

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

expected

object (Expected)

Opcional. Descreve as expectativas para a próxima interação da caixa 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 gerenciador pode ser usado para receber informações sobre as informações do pedido de um usuário com um nome de gerenciador, como "OrderLookup", enquanto outro pode receber informações do produto de um banco de dados com um nome de gerenciador como "GetProductInfo".

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

string

Opcional. O nome do gerenciador.

Intent

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 parâmetros identificados como parte da correspondência de intent. Este é um mapa do nome do parâmetro identificado para o valor do parâmetro identificado 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 fala do usuário final que correspondeu a essa 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. Isso só será preenchido se o parâmetro estiver definido na intent correspondente e o valor do parâmetro puder ser identificado durante a correspondência.

Cenário

Representar um cenário. 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 corresponder 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 de slots. 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 na cena que serão executadas em seguida.

SlotFillingStatus

Representa o status atual do preenchimento de slots.

Enums
UNSPECIFIED Valor substituto quando o campo de uso não é preenchido.
INITIALIZED Os slots foram inicializados, mas o preenchimento de slots 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 espaço.

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 espaço.

value

value (Value format)

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

updated

boolean

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

prompt

object (Prompt)

Opcional. Essa solicitação é enviada ao usuário quando necessário para preencher um slot necessário. Esse prompt substitui o comando existente 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 ele é obrigatório ou não.

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

SlotStatus

Representa o status de um espaço.

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

Comando

Representa 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 estas mensagens devem ser mescladas com mensagens definidas anteriormente. "true" limpa todas as mensagens definidas anteriormente (primeira e última simples, conteúdo, link e tela de sugestões) e adiciona mensagens definidas no comando. "false" adiciona as mensagens definidas neste comando às definidas nas respostas anteriores. Deixar esse campo como "falso" também permite anexar a alguns campos dentro de prompts simples, de sugestões e do Canvas (parte do prompt de conteúdo). As mensagens de Conteúdo e Link são sempre substituídas se definidas no prompt. O valor padrão é "falso".

firstSimple

object (Simple)

Opcional. A primeira resposta de voz e somente texto.

content

object (Content)

Opcional. Um conteúdo como um card, lista ou mídia que será exibido ao usuário.

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

Opcional. Sugestões a serem exibidas ao usuário que sempre aparecerão no final da resposta. Se o campo "substituir" no comando for "falso", os títulos definidos nele serão adicionados aos títulos definidos nas solicitações de sugestões definidas anteriormente, 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 a informação, o Google registra a atualização no pedido e, se bem-sucedida, mostra um cartão de comprovante com o TTS enviado nos dispositivos de tela.

Simples

Representa um prompt 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 para o usuário. Pode ser SSML ou conversão de texto em voz. Se o campo "substituir" no comando que contém o comando for "true", a fala definida nesse campo vai substituir a fala da solicitação 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 fornecido, será usada uma renderização de exibição do campo de fala acima. Limitado a 640 caracteres. Se o campo "substituir" no comando que contém o comando for "true", o texto definido nesse campo vai substituir o texto do comando Simples anterior.

Conteúdo

Objeto de contêiner para prompts avançados ou prompts 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 de tabela.

media

object (Media)

Resposta indicando um conjunto de mídias a serem reproduzidas.

collection

object (Collection)

Um card que apresenta uma coleção de opções.

list

object (List)

Um card com uma lista de opções disponíveis.

collectionBrowse

object (CollectionBrowse)

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

Card

Um card básico para exibir algumas informações, por exemplo, uma imagem e/ou texto. Acesse 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

É o texto do corpo do card. Oferece suporte a um conjunto limitado de sintaxe markdown para formatação. Obrigatório, a menos que haja imagem.

image

object (Image)

Uma imagem principal para o cartão. A altura é fixa 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 e não animadas). 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 imagens para afetar a apresentação da imagem. Use quando a proporção da imagem não corresponder à do contêiner.

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 da imagem correspondam ou excedam as dimensões do contêiner. Isso poderá cortar as partes de cima e de baixo da imagem se a altura da imagem dimensionada for maior que a altura do contêiner ou cortar a esquerda e a direita da imagem se a largura da imagem dimensionada for maior que a largura do contêiner. É semelhante ao "Modo de zoom" em uma TV widescreen ao reproduzir um vídeo de 4:3.

OpenUrl

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

string

O campo de URL, que pode ser qualquer uma das seguintes opções: - URLs http/https para abrir um app vinculado ao 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 É o URL que aponta diretamente para o conteúdo AMP ou para um URL canônico que se refere a esse conteúdo via . Acesse https://amp.dev/ (link em inglês).

Tabela

Um card 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 precisa 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 três primeiras linhas certamente serão mostradas, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para saber quais linhas vão ser mostradas para uma determinada superfície. Nas plataformas compatíveis com o recurso WEB_BROWSER, é possível direcionar o usuário para 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 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 está alinhado ao centro da coluna.
TRAILING O conteúdo está 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 três primeiras células vão aparecer, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para ver quais células vão ser mostradas para 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 do 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 a 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 precisa 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 0 do primeiro objeto de mídia em mediaObjects a serem reproduzidos. Se não for especificado, zero ou fora dos limites, a reprodução vai começar 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 controle 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 com 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. Ele é redimensionado 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 Circule 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 que apresenta uma coleção de opções disponíveis. 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 um mínimo de 2 e um máximo de 10.

imageFill

enum (ImageFill)

Como os planos de fundo das imagens dos itens da coleção vão ser 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 disponíveis. 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 um mínimo de 2 e um máximo de 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 de blocos grandes. Os itens podem ser selecionados para iniciar 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 um mínimo de 2 e um máximo de 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 de texto única, 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 aos usuários em dispositivos compatíveis com a tela chips de sugestão de resposta quando o Google Assistente mostra a solicitação. Use ícones de sugestão para sugerir respostas do usuário e continuar ou mudar o foco da conversa. Quando tocado, um ícone de sugestão retorna o texto exibido para a conversa na íntegra, como se o usuário tivesse digitado o texto. Consulte https://developers.google.com/assistant/conversational/prompts#suggestions

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

string

Obrigatório. O texto mostrado no ícone de sugestão. Quando tocado, esse texto será postado de volta na conversa literalmente, como se o usuário o tivesse digitado. Cada título precisa ser único no conjunto de ícones de sugestão. Até 25 caracteres

Tela

Representa uma resposta de tela interativa a ser enviada ao usuário. Isso pode ser usado em conjunto com o campo "firstSimple" no prompt contendo 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 interativo que será carregado. Se não for definido, 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 o campo "substituir" no comando for "falso", os valores de dados definidos neste comando do Canvas vão ser 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 frases esperadas possíveis durante a 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 polarização de fala. Isso permite que os desenvolvedores especifiquem acionadores 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 o tipo for SNAPSHOT, o OrderUpdate.order deverá ser o pedido inteiro. Se o tipo for igual a ORDER_STATUS, esta é a alteração de status no nível do pedido. Somente pedido.last_update_time e esse status de indústria são extraídos. Observação: type.ORDER_STATUS só é compatível com atualizações de status de PurcahaseOrderExtension. Não há planos de estender esse suporte. Em vez disso, recomendamos o uso de updateMask, já que ele é mais genérico, extensível e pode ser usado para todos os setores.

order

object (Order)

updateMask

string (FieldMask format)

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

Esta é 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 a ser notificada e não é garantido que ela resulte em uma notificação.

reason

string

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

Tipo

Obsoleto: use OrderUpdate.update_mask. Permissão para atualizações de um pedido.

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

Pedido

Entidade do pedido. Observação: 1. Todas as strings em todos os níveis precisam 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, a menos que especificado de outra forma. 3. Todos os carimbos de data/hora em todos os níveis, se especificados, precisam ser 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 as 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 voltado para o usuário que faz referência ao pedido atual. Esse ID precisa ser consistente com o exibido para esse pedido em outros contextos, incluindo sites, apps e e-mail.

userVisibleStateLabel
(deprecated)

string

Obsoleto: use o status OrderExtensions. Rótulo 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 UTC "Zulu" RFC3339, 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 da última atualização do pedido. Obrigatório para OrderUpdate.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, 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, tributos 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)

Divulgações associadas a este pedido.

vertical
(deprecated)

object

Obsoleto: use verticais. 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 ingresso

UserInfo

Informações sobre o usuário. É usado para representar as 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, na sigla em inglês). Link da wiki: https://en.wikipedia.org/wiki/E.164

extension

string

A extensão não é padronizada nas recomendações de ITU, exceto por ser definida como uma série de números com tamanho máximo de 40 dígitos. Ele é definido 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, já que não há um padrão definido). Além dos dígitos, outros caracteres de discagem como "," (indicando uma espera) podem ser armazenados 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 nacionalmente. Isso também inclui códigos que precisam ser discados em alguns países ao fazer chamadas de telefones fixos para celulares ou vice-versa. Por exemplo, na Colômbia, um "3" precisa ser discado antes do próprio número de telefone ao fazer uma chamada de um 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

Esse é o código "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 e não animadas). 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 a permissão [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] [DEVICE_PRECISE_LOCATION].

formattedAddress

string

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

zipCode

string

CEP Requer a permissão [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION].

city

string

Cidade. Requer a permissão [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION].

postalAddress

object (PostalAddress)

Endereço postal. Requer a permissão [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [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 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. A menos que especificado de outra forma, 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.

Recomendação sobre inserção / edição de endereço: - 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 esse 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, acesse 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.

Conteúdo

Wrapper de itens de linha.

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

object (LineItem)

Lista de itens de linha do pedido. É necessário 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. Subitens/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 precisam 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, a menos que especificado de outra forma. 3. Todos os carimbos de data/hora em todos os níveis, se especificados, precisam ser 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 o item de linha existente 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 provedor do item de linha específico, se for diferente do pedido geral. Exemplo: pedido do Expedia com o provedor de item 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, pode ser diferente do comprador no nível do pedido. Exemplo: o usuário X fez uma reserva de 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 esse 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 verticais. Obrigatório: conteúdo semântico do item de linha com base no tipo ou na indústria. Cada indústria deve incluir os próprios detalhes de atendimento. Precisa ser um dos seguintes 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 ou na 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 produtos, comida etc.

reservation

object (ReservationItemExtension)

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

PriceAttribute

É o atributo 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: uma 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

Indica se o preço está incluído nos tributos.

Campo de união spec. Representa um valor monetário ou um milissegundo de porcentagem. 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/1000 de um percentual. Por exemplo: 8,750% é representado como 8.750, e as porcentagens negativas representam descontos percentuais. Descontinuação deste campo. Pode considerar adicionar de volta quando um caso de uso sólido for necessário.

Tipo

Representa o tipo de dinheiro.

Enums
TYPE_UNSPECIFIED O tipo não é especificado. Os clientes não precisam definir isso explicitamente.
REGULAR Preço de exibição normal, antes da aplicação de quaisquer descontos etc.
DISCOUNT A ser subtraído do subtotal.
TAX A ser adicionado ao subtotal.
DELIVERY A ser adicionado ao subtotal.
SUBTOTAL Subtotal antes de algumas taxas serem 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 a esse valor. Exemplo: nos casos em que o tributo não é conhecido com precisão no momento da transação, o total é um valor ESTIMATE.
ACTUAL O preço real que será cobrado pelo 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 para US $1,99.

Ação

Uma ação de acompanhamento associada ao pedido ou ao 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 ao 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 de visualizar detalhes do pedido.
MODIFY Modifique a ação do pedido.
CANCEL Cancelar ação do pedido.
RETURN Ação de devolução do pedido.
EXCHANGE Ação do pedido da troca.
EMAIL

Ação de e-mail. Os tipos EMAIL e CALL foram descontinuados. openUrlAction.url pode ser usado como número de telefone ou 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 Direcionar 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 uma das seguintes opções: - URLs http/https para abrir um app vinculado ao app ou uma página da Web

androidApp

object (AndroidApp)

Informações sobre o app Android se o URL precisa ser preenchido 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

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

versions[]

object (VersionFilter)

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

VersionFilter

VersionFilter precisará ser incluído se forem necessárias versões específicas do aplicativo.

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

integer

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

maxVersion

integer

Código de versão máximo, inclusive. O intervalo considerado é [minVersion:maxVersion]. Um intervalo nulo implica em 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 da 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 direciona diretamente para o conteúdo AMP ou para um URL canônico que se refere a esse conteúdo via <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 UTC "Zulu" RFC3339, 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 divulgaçã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 produtos químicos conhecidos pelo Estado da Califórnia por causar câncer. Para mais informações vá para {0}." O texto de divulgação não pode incluir conteúdo promocional ou semelhante a um anúncio.

DisclosurePresentationOptions

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

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

enum (PresentationRequirement)

É o requisito de apresentação da divulgação.

initiallyExpanded

boolean

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

PresentationRequirement

Requisito para a apresentação da divulgação.

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

PurchaseItemExtension

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

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 pelo usuário para o status. O comprimento máximo permitido é de 50 caracteres.

type

enum (PurchaseType)

Obrigatório: tipo de compra.

productId
(deprecated)

string

ID do produto ou da oferta associado a esse item de linha.

quantity

integer

Quantidade do item.

unitMeasure

object (MerchantUnitMeasure)

Unidade de medida. Especifica o tamanho do item nas unidades escolhidas. O tamanho, junto com o preço ativo, é usado para determinar o preço unitário.

returnsInfo

object (PurchaseReturnsInfo)

Retorna informações sobre esse item de linha. Se não for definido, o item de linha herdará informações de devoluções no nível do pedido.

fulfillmentInfo

object (PurchaseFulfillmentInfo)

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

itemOptions[]

object (ItemOption)

Complementos ou subitens adicionais.

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

Status da 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 retirada.
SHIPPED Enviado.
DELIVERED Entregue.
OUT_OF_STOCK Esgotado.
IN_PREPARATION "IN_PREPARATION" pode ter um significado diferente dependendo do contexto. Para ALIMENTOS, pode ser que a comida esteja sendo preparada. Para o varejo, pode ser um item sendo embalado.
CREATED O pedido é criado.
CONFIRMED O comerciante confirmou o pedido.
REJECTED O comerciante rejeitou o pedido ou item de linha.
RETURNED O item foi retornado 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 precisa ser transferido para outro estado depois que a solicitação for processada.

PurchaseType

A categoria de compra.

Enums
PURCHASE_TYPE_UNSPECIFIED Valor desconhecido.
RETAIL Isso inclui compras como produtos físicos.
FOOD Isso inclui compras de pedidos de comida.
GROCERY Compras de supermercado.
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: por 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 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

A devolução é permitida 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 para essa opção de serviço.

fulfillmentType

enum (Type)

Obrigatório: o tipo de fulfillment.

expectedFulfillmentTime

object (Time)

Uma janela se um período for especificado ou ETA se um horário único for especificado. Horário de entrega ou retirada esperado.

expectedPreparationTime

object (Time)

Uma janela se um período for especificado ou ETA se um horário único for especificado. Tempo esperado para preparar a comida. Preferência pelo uso único.

location

object (Location)

Local de retirada ou entrega.

expireTime

string (Timestamp format)

Horário de expiração da opção de atendimento do pedido.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, 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 desta opção.

fulfillmentContact

object (UserInfo)

Contato do usuário para o fulfillment.

shippingMethodName

string

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

storeCode

string

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

pickupInfo

object (PickupInfo)

Informações adicionais sobre como o pedido seria escolhido. Este campo só é aplicável quando o tipo de atendimento do pedido é PICKUP.

Tipo

Tipo de atendimento do pedido.

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

Tempo

Construção de hora para representar o horário 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. 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 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 NA LOJA, CURBSIDE etc.

curbsideInfo

object (CurbsideInfo)

Detalhes específicos sobre as 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 ajudar no check-in.

PickupType

Lista de tipos de retirada aceitos.

Enums
UNSPECIFIED Tipo de retirada não especificado.
INSTORE Retire a comida no restaurante.
CURBSIDE Estacione o veículo em um local designado fora do restaurante para receber a comida.

CurbsideInfo

Detalhes sobre como facilitar a realização de pedidos por 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 de drive-thru. Dependendo do tipo de atendimento escolhido, os detalhes correspondentes são coletados do usuário.

userVehicle

object (Vehicle)

Detalhes do veículo do usuário que está fazendo o pedido

CurbsideFulfillmentType

Valores possíveis de tipos de fulfillment da drive-thru.

Enums
UNSPECIFIED Tipo de fulfillment na calçada não especificado.
VEHICLE_DETAIL Os detalhes do veículo são necessários para facilitar a retirada no drive-thru.

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 ao usuário e precisa ser localizado. Obrigatório.

model

string

Modelo do veículo (por exemplo, "Grom"). Ele é exibido ao 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 em aproximadamente 256 x 256 px. Precisa ser um arquivo jpg ou png. Opcional.

CheckInInfo

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

Diversos 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, use a 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

ID do produto ou da oferta associado a esse 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 de PLU, PLUs, códigos de produção ou rótulos de produtos, são um sistema de números que identifica exclusivamente os produtos em massa vendidos em supermercados e supermercados.

productType

string

Categoria do produto definida pelo comerciante. Por exemplo, "Página inicial > Mercearia > Laticínios e ovos > Leite > Leite integral"

productAttributes

map (key: string, value: string)

Detalhes do produto fornecidos pelo comerciante, por exemplo, { "alergen": "amendoim" }. É ú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 pelo 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 exatas.

userAcceptableTimeRange

object (Time)

Período 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)

Facilitadores da equipe que atenderão à reserva. Exemplo: O cabeleireiro.

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 atendida.
CHANGE_REQUESTED A alteração da 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 no restaurante.
HAIRDRESSER Reserva para cabeleireiro.

StaffFacilitator

Informações sobre o atendente.

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

string

O nome do facilitador da 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 pelo Actions-on-Google.

paymentInfo

object (PaymentInfo)

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

PaymentResult

Resultado do 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 processador de pagamentos aceito pelo Google aqui: https://developers.google.com/pay/api/ Acesse seu processador de pagamentos pelo link para 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 ou por 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 do 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 na transação. O usuário pode ter registrado a mesma forma de pagamento no Google e no comerciante.

PaymentMethodDisplayInfo

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

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

enum (PaymentType)

Tipo do 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 falada para o usuário em dispositivos com o Assistente somente de voz. Por exemplo, "visto que termina em 1234" ou "conta corrente com final 5678". Observação: essa é a string otimizada por voz a ser usada em vez do paymentMethodDisplayName para dispositivos de assistente apenas de voz. Se essa string não for definida, o paymentMethodDisplayName será falado para o usuário.

PaymentType

PaymentType indica a forma de pagamento usada para a forma de pagamento fornecida 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 Um 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 é em dinheiro.
GIFT_CARD A forma de pagamento é um vale-presente.
WALLET Carteira de terceiros, por exemplo, PayPal

PaymentMethodProvenance

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

Enums
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED A procedência é não especificada.
PAYMENT_METHOD_PROVENANCE_GOOGLE A origem é Google.
PAYMENT_METHOD_PROVENANCE_MERCHANT A origem é o 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 compra. Essas propriedades são aplicáveis a todos os itens de linha em um 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 ao usuário para o status. O comprimento máximo permitido é de 50 caracteres.

type

enum (PurchaseType)

Obrigatório: tipo de compra.

returnsInfo

object (PurchaseReturnsInfo)

Informações de devolução 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 causaram a 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 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" }.

PurchaseLocationType

Tipo de local da compra.

Enums
UNSPECIFIED_LOCATION Valor desconhecido.
ONLINE_PURCHASE Todas as compras feitas on-line.
INSTORE_PURCHASE Todas as compras em lojas físicas.

PurchaseError

Erros em que uma ordem de compra pode ser rejeitada.

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

enum (ErrorType)

Obrigatório: representa o motivo detalhado de rejeição de um pedido pelo comerciante.

description

string

Descrição adicional do erro.

entityId

string

ID da entidade que corresponde ao erro. Exemplo que pode corresponder a LineItemId / ItemOptionId.

updatedPrice

object (PriceAttribute)

Relevante em caso do tipo de erro PRICE_CHANGED / INCORRECT_PRICE.

availableQuantity

integer

Quantidade disponível agora. Aplicável em 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, Promoção. O ID da entidade é obrigatório.
INVALID Os dados da entidade não são válidos. Pode ser Item, FulfillmentOption, 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 valor na entidade do item. É necessário inserir o ID da entidade e o preço atualizado.
INCORRECT_PRICE Erros de preço em Taxas, Total. É necessário inserir o ID da entidade e o preço atualizado.
REQUIREMENTS_NOT_MET As restrições para aceitar o pedido não foram 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 de erro 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 um pedido (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 estará fechado para atendimento no horário do pedido.
PROMO_NOT_APPLICABLE Código de erro genérico para capturar todos os casos de falha ao aplicar o código promocional, se nenhum dos casos abaixo se encaixar. 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 As restrições para aceitar o pedido não foram 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 ajuda quando um parceiro é um agregador e não consegue entrar em contato com 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.

TicketOrderExtension

Conteúdo do pedido de ingressos, como filmes, esportes etc.

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

object (TicketEvent)

O evento aplicado a todos os ingressos de itens 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 relacionado ao ingresso, como filme ou show.

name

string

Obrigatório: nome do evento. Por exemplo, se o evento for um filme, use 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 onde uma organização está localizada.

eventCharacters[]

object (EventCharacter)

Os caracteres relacionados a esse evento. Podem ser diretores ou atores de um evento de filme, artistas de um show etc.

startDate

object (Time)

Horário de início.

endDate

object (Time)

Horário de término.

doorTime

object (Time)

O horário de entrada, que pode ser diferente do horário de início, 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 personagem do evento, por exemplo, organizador, artista etc.

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

enum (Type)

Tipo do personagem 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 ao 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 o cenário a ser executado em seguida.

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

string

Nome do cenário a ser executado 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. Parâmetros com valor nulo serão removidos da sessão. Consulte a documentação sobre o armazenamento de sessões em 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. O tipo de sessão definido pode complementar ou substituir os tipos existentes. Os nomes dos tipos 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. 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 todas as curvas seguintes, o que será refletido neste campo.

TypeOverride

Representa uma substituição para um tipo.

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

string

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

mode

enum (TypeOverrideMode)

Obrigatório. Como esse 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 que foram 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 vão substituir as definições de tipo atuais.

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 nesse campo precisa ser incluída no campo de sinônimos repetido 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. As informações de exibição do item.

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 será postado de volta na conversa literalmente, como se o usuário o tivesse digitado. Cada título precisa ser exclusivo no conjunto de itens da coleção.

description

string

Opcional. É o texto do corpo do card.

image

object (Image)

Opcional. A imagem a ser exibida.

footer

string

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

openUrl

object (OpenUrl)

URL do documento associado ao item de navegação do carrossel. Necessário para navegar pelo carrossel.

Usuário

Representa o usuário que fez 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 é 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 do usuário em 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 da 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 não tiver interagido com o agente antes.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, 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 todas as inscrições em intents.

packageEntitlements[]

object (PackageEntitlements)

Os direitos do usuário relacionados ao pacote do 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 a esse app. 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 conta a este app.

UserVerificationStatus

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

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

Engajamento

Fornece informações somente leitura adicionais sobre os mecanismos de engajamento para os quais o usuário atual se inscreveu. Por exemplo, pode ser útil saber em quais intents o usuário já está inscrito para evitar pedir 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 apenas se o usuário ainda não tiver se inscrito. Consulte a documentação de 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 inscrita.

contentTitle

string

É uma breve descrição da assinatura. Ele é usado como marcador da notificação e quando o Google Assistente solicita a 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 produtos 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 os direitos digitais 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 docid do Finsky para compra no app e assinatura no app. Corresponde a getSku() na API do Faturamento em apps do Google Play. Consulte a documentação do Faturamento no app Google Play: https://developer.android.com/google/play/billing.

skuType

enum (SkuType)

O tipo de SKU.

inAppDetails

object (SignedData)

Presente somente 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. Confira 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 Solicite a localização aproximada do usuário, CEP, cidade e código do país.
UPDATE Pedir permissões para enviar atualizações. Acesse https://developers.google.com/assistant/engagement/daily.

Página inicial

Representa a estrutura do Home Graph a que 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 Home Graph a que o dispositivo de destino pertence. Consulte a documentação sobre armazenamento doméstico em 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 à 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 para a Ação.

currentLocation

object (Location)

Opcional. A localização do dispositivo do usuário. Só é preenchido depois que as permissões de localização são concedidas pelo usuário final. Consulte a mensagem de local para mais detalhes sobre quais campos são definidos de acordo com a permissão aproximada ou detalhada. 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 que a superfície do dispositivo aceita 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 mostrar respostas avançadas, como cards, listas e tabelas.
LONG_FORM_AUDIO O dispositivo pode tocar mídias de áudio mais longas, como músicas e podcasts.
INTERACTIVE_CANVAS O dispositivo pode mostrar uma resposta de tela interativa.
HOME_STORAGE O dispositivo oferece suporte ao salvamento e à busca de 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 os campos "postalCode" e "locale" devem ser preenchidos. A permissão de localização precisa preencherá outros campos, como "adminArea" 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, sem limitação, 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 atual.

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 atual.

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

string (Duration format)

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

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

index

integer

Índice baseado em 0 do arquivo de mídia ativo atual 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. Ele é definido apenas para solicitação, não para resposta. Por exemplo, se este for um aplicativo de receitas, o estado poderá 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 interação da caixa de diálogo.

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

string

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