O Ações de conversa vai ser descontinuado em 13 de junho de 2023. Para mais informações, consulte Desativação do recurso Ações de conversa.

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 fulfillment sobre como lidar com a solicitação. Por exemplo, uma solicitação que pretende receber 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 dentro do escopo de uma cena. Consulte https://developers.google.com/assistant/conversational/cens.

session

object (Session)

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

user

object (User)

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

home

object (Home)

Opcional. Informações relacionadas à estrutura do HomeGraph a que o dispositivo de destino pertence. Consulte https://developers.google.com/actions/smarthome/concepts/homegraph.

device

object (Device)

Obrigatório. Informações sobre o 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 de sessão de mídia ativa ou de tela.

Corpo da resposta

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

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

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

object (Prompt)

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

scene

object (Scene)

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

session

object (Session)

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

user

object (User)

Opcional. Use para especificar os parâmetros do usuário a serem enviados de volta.

home

object (Home)

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

device

object (Device)

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

expected

object (Expected)

Opcional. Descreve as expectativas para a próxima rodada de caixas 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 você precisa executar no fulfillment. Por exemplo, um gerenciador pode ser usado para obter informações sobre o pedido de um usuário com um nome de gerenciador como "OrderLookup", enquanto outro pode obter 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.

Intenção

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

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

string

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

params

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

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

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

query

string

Opcional. Entrada digitada ou falada do usuário final que corresponde a essa intent. Isso será preenchido quando uma intent for correspondida, 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 for definido na intent correspondente e o valor dele puder ser identificado durante a correspondência da intent.

Cenário

Representar uma cena. As cenas podem chamar o fulfillment, adicionar solicitações e coletar valores de slot do usuário. As cenas são acionadas por eventos ou intents e podem acionar eventos e intents correspondentes 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 slot. Este campo é somente leitura.

slots

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

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

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

next

object (NextScene)

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

Status do slot

Representa o status atual de preenchimento de slot.

Enums
UNSPECIFIED Valor de fallback 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 slot são finais e não podem ser alterados.

Slot

Representa um slot.

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

enum (SlotMode)

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

status

enum (SlotStatus)

O status do espaço.

value

value (Value format)

O valor do espaço. Alterar esse valor na resposta modificará o valor no preenchimento de slots.

updated

boolean

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

prompt

object (Prompt)

Opcional. Essa solicitação é enviada ao usuário quando necessário para preencher um espaço necessário. Essa solicitação substitui a solicitação existente definida no console. Este campo não está incluído na solicitação do webhook.

Modo de slot

Representa o modo de um espaço, ou seja, se é necessário ou não.

Enums
MODE_UNSPECIFIED Valor de fallback quando o campo de uso não é preenchido.
OPTIONAL Indica que o espaço não é necessário para concluir o preenchimento.
REQUIRED Indica que o espaço é necessário para concluir o preenchimento.

Status do slot

Representa o status de um slot.

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

Prompt

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

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

boolean

Opcional. Modo de mesclagem das mensagens definidas anteriormente. "true" limpa todas as mensagens definidas anteriormente (primeiro e último conteúdo simples, link de sugestões e tela) e adiciona as mensagens definidas nesse prompt. "false" adiciona mensagens definidas nesta solicitação a mensagens definidas em respostas anteriores. Deixar esse campo como "false" também permite acrescentar alguns campos dentro das solicitações Simples, de Sugestões e de Canvas (parte da solicitação de Conteúdo). As mensagens de Conteúdo e Link sempre serão substituídas se definidas no prompt. O valor padrão é "false".

firstSimple

object (Simple)

Opcional. A primeira resposta de voz e somente texto.

content

object (Content)

Opcional. Um conteúdo, como um cartão, uma lista ou uma mídia para exibir ao usuário.

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

Opcional. Sugestões a serem exibidas para o usuário, que sempre aparecerão no final da resposta. Se o campo "modificar" na solicitação contida for "falso", os títulos definidos neste campo serão adicionados aos títulos definidos em todas as sugestões sugeridas 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 após receber o pedido durante o fluxo de transações. Ao receber essa informação, o Google registra essa atualização no pedido e, se for bem-sucedido, exibe um cartão de recibo juntamente com o TTS enviado nos dispositivos de exibição.

Fácil de usar

Representa uma solicitação simples a ser enviada a um usuário. Consulte https://developers.google.com/assistant/conversational/prompts-simples.

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

string

Opcional. Representa a fala a ser falada ao usuário. Pode ser SSML ou conversão de texto em voz. Se o campo "modificar" na solicitação contida for "verdadeiro", a fala definida nesse campo 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 bate-papo. Se não for fornecido, será usada uma renderização de display do campo de fala acima. Limitado a 640 caracteres. Se o campo "modificar" na solicitação contida for "true", o texto definido nesse campo será substituído pelo texto da solicitação simples anterior.

Conteúdo

Objeto contêiner para solicitações avançadas ou de seleção.

Representação JSON
{

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

Campo de união content.

content pode ser apenas de um dos tipos a seguir:

card

object (Card)

Um cartão básico.

image

object (Image)

Uma imagem.

table

object (Table)

Card de tabela.

media

object (Media)

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

collection

object (Collection)

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

list

object (List)

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

collectionBrowse

object (CollectionBrowse)

Um card que apresenta um conjunto de páginas da Web para abrir.

Card

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

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

string

Título geral do card. Opcional.

subtitle

string

Opcional.

text

string

Corpo do cartão. Compatível com um conjunto limitado de sintaxe de marcação para formatação. Obrigatório, a menos que a imagem esteja presente.

image

object (Image)

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

imageFill

enum (ImageFill)

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

button

object (Link)

Botão com um link externo. Opcional.

Imagem

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

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

string

O URL de origem da imagem. As imagens podem ser JPG, PNG e GIF (animadas 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.

Preenchimento de imagem

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

Enums
UNSPECIFIED
GRAY Preencha as lacunas entre a imagem e o contêiner de imagem com barras cinza.
WHITE Preencha as lacunas entre a imagem e o contêiner de 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 recipiente. Isso poderá cortar a parte superior e inferior 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 de tela ampla quando se reproduz um vídeo de 4:3.

URL aberto

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

string

O campo de URL que pode ser: - URLs http/https para abrir um aplicativo ou página da web

hint

enum (UrlHint)

Indica uma dica para o tipo de URL.

UrlHint

Tipos diferentes de dicas de URL.

Enums
AMP URL que aponta diretamente para conteúdo AMP ou para um URL canônico que se refere a conteúdo AMP via . Consulte https://amp.dev/.

Tabela

Um cartão 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 a legenda for definida.

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 são garantidas, mas outras podem ser cortadas em determinadas superfícies. Teste com o simulador para ver quais linhas serão exibidas para uma determinada superfície. Em plataformas compatíveis com o recurso WEB_BROWSER, você pode direcionar o usuário para uma página da Web com mais dados.

button

object (Link)

Botão.

Coluna da tabela

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

string

Texto do cabeçalho para a 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 inicial da célula. Esse é o padrão.
CENTER O conteúdo é alinhado ao centro da coluna.
TRAILING O conteúdo é alinhado à borda final da coluna.

TableRow

Descreve uma linha na tabela.

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

object (TableCell)

Células nesta linha. As três primeiras células serão mostradas, mas outras poderão ser cortadas em determinadas superfícies. Teste com o simulador para ver quais células serão exibidas 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 de texto da célula.

Mídia

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

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

enum (MediaType)

startOffset

string (Duration format)

Deslocamento inicial do primeiro objeto de mídia.

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

optionalMediaControls[]

enum (OptionalMediaControls)

Tipos de controle de mídia opcionais que esta sessão de resposta de mídia suporta. Se definido, a solicitação será feita a terceiros quando um determinado evento de mídia acontecer. Se não for definido, o terceiro ainda precisará 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 da lista de objetos de mídia.

firstMediaObjectIndex

integer

Índice baseado em 0 do primeiro objeto de mídia em mediaObjects a ser reproduzido. Se não for especificado, zero ou fora dos limites, a reprodução será iniciada 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.

Controles de mídia opcionais

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 por um URL HTTPS. A transmissão ao vivo só é compatível com o formato MP3.

image

object (MediaImage)

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

Imagem da mídia

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.

Modo de repetição

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

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

Coleção

Um card para apresentar um conjunto 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. Ela pode ter um mínimo de 2 e máximo de 10.

imageFill

enum (ImageFill)

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

Item de coleção

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.

Listar

Um card para apresentar uma lista de opções para seleção. 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. Ela pode ter um mínimo de 2 e 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.

Procurar na coleção

Apresenta um conjunto de documentos da Web como uma coleção de itens grandes. Os itens podem ser selecionados para iniciar seu documento da web associado em um visualizador da web. Consulte https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse (link em inglês).

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

object (Item)

Uma lista de itens. Ela pode ter um mínimo de 2 e 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

Com as sugestões, os usuários em dispositivos com tela de visualização têm ícones quando o Google Assistente exibe a solicitação. Use ícones de sugestão para dar respostas ao usuário e continuar a conversa. Quando tocado, um ícone de sugestão retorna o texto exibido à conversa na íntegra, como se o usuário tivesse digitado. 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 para a conversa na íntegra como se o usuário tivesse digitado. Cada título precisa ser exclusivo entre o conjunto de ícones de sugestão. Máximo de 25 caracteres

Canvas

Representa uma resposta de tela interativa a ser enviada ao usuário. Isso pode ser usado em conjunto com o campo "firstSimple" na solicitação de contenção 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 a ser carregado. Se não for definido, o URL da tela ativa atual será reutilizado.

data[]

value (Value format)

Opcional. Dados JSON transmitidos pela página da Web da experiência imersiva como um evento. Se o campo "modificar" na solicitação contida for "falso" os valores de dados definidos nessa solicitação de tela serão adicionados após os valores de dados definidos nas solicitações anteriores da tela.

suppressMic

boolean

Opcional. Valor padrão: falso.

continuousMatchConfig

object (ContinuousMatchConfig)

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

ContinuousMatchConfig (em inglês)

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 possíveis durante esta 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.

Frase esperada

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

string

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

alternativePhrases[]

string

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

Atualização do pedido

Atualizar para 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 type = SNAPSHOT, OrderUpdate.order deve ser o pedido inteiro. Se type = ORDER_STATUS, essa é a alteração de status no nível do pedido. Somente order.last_update_time e esse status vertical são selecionados. Observação: type.ORDER_STATUS só é compatível com atualizações de status PurcahaseOrderExtension e não há planos de estender essa compatibilidade. 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á considerações a seguir/recomendações para os campos especiais a seguir: 1. order.last_update_time será sempre atualizado como parte da solicitação de atualização. 2. order.create_time, order.google_order_id e order.merchant_order_id serão ignorados se fornecidos como parte de 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 de notificação, e não há garantia de que ela seja gerada.

reason

string

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

Tipo

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

Enums
TYPE_UNSPECIFIED Tipo não especificado; não deve ser definido explicitamente.
ORDER_STATUS Atualize apenas o status do pedido.
SNAPSHOT Atualizar snapshot 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 especificado de outra forma. 2. Todos os campos repetidos em todos os níveis precisam ser menores que 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 interno do pedido atribuído pelo comerciante. Este ID deve ser único e é necessário para operações de atualização de pedido subsequentes. Esse ID pode ser definido como o googleOrderId fornecido ou qualquer outro valor exclusivo. O ID apresentado aos usuários é o userVisibleOrderId, que pode ser um valor diferente e mais fácil de usar. O tamanho máximo permitido é de 128 caracteres.

userVisibleOrderId

string

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

userVisibleStateLabel
(deprecated)

string

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

buyerInfo

object (UserInfo)

Informações sobre o comprador.

image

object (Image)

Imagem associada ao pedido.

createTime

string (Timestamp format)

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

Um carimbo de data/hora no formato 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 em que o pedido foi atualizado pela última vez. 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 de item de linha. Exemplo: pedido da Expedia com item de linha da ANA.

contents

object (Contents)

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

priceAttributes[]

object (PriceAttribute)

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

followUpActions[]

object (Action)

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

paymentData

object (PaymentData)

Dados relacionados ao pagamento do pedido.

termsOfServiceUrl

string

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

note

string

Observações anexadas a um pedido.

promotions[]

object (Promotion)

Todas as promoções associadas a este pedido.

disclosures[]

object (Disclosure)

Divulgações associadas a este pedido.

vertical
(deprecated)

object

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

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

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

object (PurchaseOrderExtension)

Ordem de compra

ticket

object (TicketOrderExtension)

Pedido de ingresso

UserInfo

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

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

string

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

firstName

string

Nome do usuário.

lastName

string

Sobrenome do usuário.

displayName

string

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

phoneNumbers[]

object (PhoneNumber)

Números de telefone do usuário.

PhoneNumber

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

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 International Telecommunication Union (ITU). Link do 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. Aqui, ela é definida como uma string para acomodar o possível uso de um zero na extensão (as organizações têm liberdade total para isso, porque não há um padrão definido). Além de dígitos, alguns outros caracteres de discagem, como "," (indicando uma espera) podem ser armazenados aqui. Por exemplo, em xxx-xxx-xxxx ext. 123, "123" é a extensão.

preferredDomesticCarrierCode

string

O código de seleção da operadora que é a opção preferencial para ligar para esse número de telefone no país. Isso também inclui códigos que precisam ser discados em alguns países ao ligar 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 ligar de um celular para um telefone fixo doméstico e vice-versa. https://en.wikipedia.org/wiki/Telephone_numbers_in_Colômbia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code

Esse é o código "preferido", 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 "Pão de panificação".

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 [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

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

zipCode

string

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

city

string

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

postalAddress

object (PostalAddress)

Endereço postal. Requer a permissão [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

name

string

Nome do lugar.

phoneNumber

string

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

notes

string

Observações sobre o local.

placeId

string

placeId é usado com a API do Google Places para buscar detalhes de um lugar. 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 seja especificado de outra forma, esse objeto deve 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 digitação / edição de endereços: - Use um widget de endereço pronto para i18n, como https://github.com/google/libaddressinput. - Os usuários não devem ver elementos de IU 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. Consulte http://cldr.unicode.org/ e http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html para mais detalhes. Exemplo: "CH" para a Suíça.

languageCode

string

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

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

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

postalCode

string

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

sortingCode

string

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

administrativeArea

string

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

locality

string

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

sublocality

string

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

addressLines[]

string

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

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

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

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

recipients[]

string

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

organization

string

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

Índice

Wrapper para itens de linha.

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

object (LineItem)

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

LineItem

Um item de linha contém uma indústria. Um pedido ou carrinho pode ter vários itens de linha da mesma indústria. Os itens de linha/complementos etc. precisam ser definidos em protos verticais de acordo com os casos de uso. Observação: 1. Todas as strings em todos os níveis precisam ter menos de 1.000 caracteres, a menos que especificado de outra forma. 2. Todos os campos repetidos em todos os níveis precisam ser menores que 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 um item de linha existente ao aplicar atualizações parciais. O tamanho máximo permitido é de 64 caracteres.

name

string

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

userVisibleStateLabel
(deprecated)

string

Obsoleto. Em vez disso, 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 da 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, isso pode ser diferente do comprador no nível do pedido. Exemplo: o usuário X fez uma reserva no restaurante em nome do usuário Y.

image

object (Image)

Imagem pequena associada a este item, se houver.

description

string

Descrição do item de linha.

notes[]

string

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

disclosures[]

object (Disclosure)

Divulgações associadas a este item de linha.

vertical
(deprecated)

object

Obsoleto: use as indústrias. Obrigatório: conteúdo semântico do item de linha com base no tipo/indústria. Cada indústria precisa incluir os próprios detalhes de fulfillment. Precisa ter 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/indústria. Cada indústria precisa incluir os próprios detalhes de fulfillment. verticals pode ser apenas de um dos tipos a seguir:
purchase

object (PurchaseItemExtension)

Ordens de compra, como mercadorias, alimentos etc.

reservation

object (ReservationItemExtension)

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

PriceAttribute.

Atributo de preço de um pedido ou de um 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 do tipo de dinheiro.

name

string

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

id

string

Opcional: código do item de linha ao qual o preço corresponde.

state

enum (State)

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

taxIncluded

boolean

Indica se o preço inclui tributos.

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

object (Money)

Valor monetário.

amountMillipercentage
(deprecated)

integer

A especificação de porcentagem, para 1/1000 de uma porcentagem. Por exemplo: 8, 750% é representado como 8750.As porcentagens negativas representam descontos percentuais. Suspensão de uso deste campo. Considere adicionar novamente quando for necessário um caso de uso sólido.

Tipo

Representa o tipo de dinheiro.

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

Estado

Representa o estado do preço.

Enums
STATE_UNSPECIFIED Não especificado.
ESTIMATE O preço é apenas uma estimativa, mas o valor final fica próximo a ele. Exemplo: nos casos em que o imposto não é identificado precisamente no momento da transação, o total seria de um valor ESTIMATE.
ACTUAL Preço real que será cobrado do usuário.

Dinheiro

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

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

string

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

amountInMicros

string (int64 format)

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

Ação

Uma ação de acompanhamento associada ao pedido ou 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 para o usuário. O tamanho máximo permitido é de 100 caracteres.

openUrlAction

object (OpenUrlAction)

Ação a ser realizada.

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 Ver ação de detalhes do pedido.
MODIFY Modificar a ação do pedido.
CANCEL Cancelar ação do pedido.
RETURN Ação de devolução do pedido.
EXCHANGE Ação do pedido de troca.
EMAIL

Ação de e-mail. O uso dos tipos EMAIL e CALL foi suspenso. openUrlAction.url pode ser usado como um número de telefone ou um e-mail.

CALL

Ação de chamada.

REORDER Reordenar ação.
REVIEW Revisar a ação do pedido.
CUSTOMER_SERVICE Entre em contato com o atendimento ao cliente.
FIX_ISSUE Direcione o usuário 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: - URLs http/https para abrir um aplicativo ou página da web

androidApp

object (AndroidApp)

Informações sobre o aplicativo para Android se o URL for esperado para um aplicativo Android.

urlTypeHint

enum (UrlTypeHint)

Indica uma dica para o tipo de URL.

Aplicativo para Android

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

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

string

Nome do pacote O nome do pacote deve ser especificado ao especificar o fulfillment do Android.

versions[]

object (VersionFilter)

Quando vários filtros forem especificados, qualquer correspondência de filtro acionará o aplicativo.

Filtro da versão

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

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

integer

Código mín. da versão ou 0, inclusive.

maxVersion

integer

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

UrlTypeHint

Tipos diferentes de dicas de URL.

Enums
URL_TYPE_HINT_UNSPECIFIED Não especificado
AMP_CONTENT URL que aponta diretamente para o conteúdo AMP ou para um URL canônico que se refere a conteúdo AMP via <link rel="amphtml">.

Metadados de ação

Metadados relacionados por ação.

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

string (Timestamp format)

Horário de expiração da ação.

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 da declaração.

Texto de divulgação

Representa um texto simples com links da Web.

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

string

Texto a ser exibido, contendo marcadores como "{0}" e "{1}" para cada link de texto que deve ser inserido. Exemplo: "AVISO: este produto pode expô-lo a produtos químicos conhecidos no estado da Califórnia por causarem câncer. Para obter mais informações, vá para {0}." O texto de divulgação não pode ter conteúdo promocional ou semelhante ao anúncio.

Opções de DivulgaçãoPresentation

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

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

enum (PresentationRequirement)

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.

PresentationPresentationment

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

Enums
REQUIREMENT_UNSPECIFIED Requisito não especificado. Não deve ser definido explicitamente.
REQUIREMENT_OPTIONAL A divulgação é opcional. Ela poderá ser ignorada se o dispositivo não for compatível com a exibição de declarações.
REQUIREMENT_REQUIRED A declaração é obrigatória. A conversa será realizada por telefone se o dispositivo não for compatível com a exibição de divulgações.

PurchaseItemExtension

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

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

enum (PurchaseStatus)

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

userVisibleStatusLabel

string

Obrigatório: rótulo/string visível pelo usuário para o status. O tamanho 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 este item de linha.

quantity

integer

Quantidade do item.

unitMeasure

object (MerchantUnitMeasure)

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

returnsInfo

object (PurchaseReturnsInfo)

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

fulfillmentInfo

object (PurchaseFulfillmentInfo)

Informações de fulfillment para este item de linha. Se não for definido, esse item de linha herdará as informações de atendimento 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 um dos seguintes: 1. Defina campos na PurchaseItemExtension se ele puder ser usado para outros casos de uso (ou seja, funcionalidade/recurso genérico). 2. Use vertical_extension se for específica a um recurso/caso de uso personalizado 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" }.

Status da compra

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 significados diferentes em contextos diferentes. Para pedidos de comida, pode ser que a comida esteja sendo preparada. Para varejo, pode ser um item sendo embalado.
CREATED O pedido foi criado.
CONFIRMED O comerciante confirmou o pedido.
REJECTED O comerciante recusou o pedido ou o item de linha.
RETURNED O item foi retornado pelo usuário.
CANCELLED O pedido ou o item de linha foi cancelado pelo usuário.
CHANGE_REQUESTED O usuário solicitou uma alteração no pedido, e o integrador está processando essa alteração. O pedido deve ser movido para outro estado depois que a solicitação for processada.

Tipo de compra

A categoria de compra.

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

Unidade de medida do comerciante

Medida de preço unitário.

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

number

Valor: exemplo 1.2.

unit

enum (Unit)

Unidade: Exemplo de POUND, GRAM.

Unidade

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

Informações sobre a devolução de compras

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

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

boolean

Se verdadeiro, o retorno será permitido.

daysToReturn

integer

A devolução é permitida em tantos dias.

policyUrl

string

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

Informações de compra

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

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

string

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

fulfillmentType

enum (Type)

Obrigatório: o tipo de fulfillment.

expectedFulfillmentTime

object (Time)

Uma janela se um intervalo de tempo for especificado ou ETA se uma única vez for especificada. Tempo de entrega ou retirada esperado.

expectedPreparationTime

object (Time)

Uma janela se um intervalo de tempo for especificado ou ETA se uma única vez for especificada. Tempo esperado para preparar a comida. Preferência única.

location

object (Location)

Local de retirada ou entrega.

expireTime

string (Timestamp format)

Hora em que esta opção de atendimento do pedido expira.

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 dessa opção.

fulfillmentContact

object (UserInfo)

Contato do usuário para este fulfillment.

shippingMethodName

string

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

storeCode

string

StoreCode do local. Por exemplo: o Walmart é o comerciante, e o storeCode é a loja do walmart em que o atendimento do pedido foi realizado. https://support.google.com/business/answer/3370250?ref_topic=4596653.

pickupInfo

object (PickupInfo)

Informações adicionais sobre como o pedido deve ser selecionado. Esse campo só seria aplicável quando o tipo de fulfillment for PICKUP.

Tipo

Tipo de fulfillment.

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

Tempo

Criação de tempo 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, tempo de entrega e assim por diante. Pode ser uma duração (horário de início e término), apenas a data, o horário etc. Consulte https://en.wikipedia.org/wiki/ISO_8601 para ver todos os formatos compatíveis.

Informações de retirada

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

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

enum (PickupType)

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

curbsideInfo

object (CurbsideInfo)

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

checkInInfo[]

object (CheckInInfo)

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

Tipo de Retirada

Lista de tipos de retirada compatíveis.

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

CurbsideInfo

Detalhes sobre como o drive-thru será facilitado.

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

enum (CurbsideFulfillmentType)

Os parceiros precisam de informações adicionais para facilitar a retirada na calçada. Dependendo do tipo de fulfillment escolhido, os detalhes correspondentes serão coletados do usuário.

userVehicle

object (Vehicle)

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

Tipo de preenchimento

Valores possíveis dos tipos de entrega na calçada.

Enums
UNSPECIFIED Tipo de atendimento do pedido na calçada não especificado.
VEHICLE_DETAIL Detalhe do veículo necessário para facilitar a retirada na calçada.

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 com aproximadamente 256 x 256 pixels. Precisa ser um arquivo JPG ou PNG. Opcional.

Informações de check-in

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.

Tipo de check-in

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

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

Opção do item

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, o código exclusivo do item.

name

string

Nome da opção.

prices[]

object (PriceAttribute)

Preço total da opção.

note

string

Observação relacionada à opção.

quantity

integer

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

productId

string

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

subOptions[]

object (ItemOption)

Para definir outras opções aninhadas de subopção.

Detalhes do produto

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 este item de linha.

gtin

string

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

plu

string

Os códigos de busca de preço, comumente chamados de códigos de PLU, números de PLU, PLUs, códigos de produto ou etiquetas de produto, são um sistema de números que identificam exclusivamente 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 fornecidos pelo comerciante sobre o produto, por exemplo, { "allergen": "amendoim" }. Útil se 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" }.

ReservaItemExtension

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 tamanho 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 um horário exato.

userAcceptableTimeRange

object (Time)

Período aceitável para o usuário.

confirmationCode

string

Código de confirmação desta reserva.

partySize

integer

O número de pessoas.

staffFacilitators[]

object (StaffFacilitator)

Facilitadores de equipe que farão a reserva. Ex. Cabeleireiro.

location

object (Location)

Local do serviço/evento.

Status da reserva

Status da reserva.

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

Tipo de reserva

Tipo de reserva.

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

Facilitador de equipe

Informações sobre o atendente.

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

string

O nome do facilitador da equipe. Ex. "João 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 de 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 relacionadas ao pedido, que são úteis para interações do usuário.

Resultado do pagamento

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

Representação JSON
{

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

string

O Google forneceu dados da forma de pagamento. Se seu processador de pagamentos estiver listado como compatível com o Google, acesse este link: https://developers.google.com/pay/api/ Acesse o processador por meio do link para mais detalhes. Caso contrário, consulte a documentação a seguir para mais detalhes sobre payload. https://developers.google.com/pay/api/payment-data-cryptography

merchantPaymentMethodId

string

A forma de pagamento do comerciante/ação escolhida pelo usuário.

Informações de pagamento

Informações de pagamento relacionadas ao pedido. Esse protocolo captura informações úteis para interações 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)

Prova 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 de pagamento usado pelo integrador para concluir uma transação.

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

enum (PaymentType)

O tipo de pagamento.

paymentMethodDisplayName

string

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

paymentMethodVoiceName

string

Nome da forma de pagamento a ser falada ao usuário em dispositivos com assistente somente de voz. Por exemplo, "visto que termina em um, dois, três" ou "conta corrente com final cinco cinco sete." Observação: essa é a string otimizada para voz a ser usada em vez do paymentMethodDisplayName para dispositivos com Assistente somente por voz. Se essa string não estiver definida, paymentMethodDisplayName será falada ao 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 Cartão pré-pago ou de crédito/débito.
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

Forma de pagamento

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

Enums
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED A procedência não é especificada.
PAYMENT_METHOD_PROVENANCE_GOOGLE Provença é o Google.
PAYMENT_METHOD_PROVENANCE_MERCHANT Procedência é 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 no 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

Marcador/string visível pelo usuário para o status. O tamanho 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 devido à 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 um dos seguintes: 1. Defina campos na PurchaseOrderExtension se ele puder ser usado para outros casos de uso (ou seja, funcionalidade/recurso genérico). 2. Use vertical_extension se for específica a um recurso/caso de uso personalizado 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" }.

Tipo de local da compra

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.

Erro de compra

Erros para os quais 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 granular pelo qual um pedido foi rejeitado pelo comerciante.

description

string

Descrição adicional do erro.

entityId

string

Código da entidade que corresponde ao erro. Exemplo: pode corresponder a LineItemId / ItemOptionId.

updatedPrice

object (PriceAttribute)

Relevante no 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 código da entidade é obrigatório.
INVALID Os dados da entidade não são válidos. Pode ser Item, FulfillmentOption, Promoção. O código da entidade é obrigatório.
AVAILABILITY_CHANGED Item indisponível ou itens insuficientes para atender à solicitação. O código da entidade é obrigatório.
PRICE_CHANGED O preço do item é diferente do preço na entidade do item. O código da entidade e o preço atualizado são obrigatórios.
INCORRECT_PRICE Erros de preço em "Taxas", "Total". O código da entidade e o preço atualizado são obrigatórios.
REQUIREMENTS_NOT_MET Restrições para aceitar pedidos não atendidos: tamanho mínimo do carrinho etc.
TOO_LATE FulfillmentOption expirou.
NO_CAPACITY Sem capacidade de serviço disponível. Use esse código de erro se nenhum dos tipos de erros mais específicos for aplicável.
NO_COURIER_AVAILABLE Nenhum serviço de entrega foi encontrado. Um tipo de erro detalhado que pode ser categorizado como NO_CAPACITY.
INELIGIBLE Usuário não qualificado para fazer o pedido (na lista negra).
OUT_OF_SERVICE_AREA Não é possível entregar no endereço solicitado devido a regras de borda etc.
CLOSED O restaurante está fechado no horário do pedido.
PROMO_NOT_APPLICABLE Código de erro genérico para capturar todos os casos de falha na aplicação do código promocional, se nenhum dos casos abaixo se encaixar. Adicione o código promocional como código da entidade.
PROMO_NOT_RECOGNIZED O código do cupom não foi reconhecido pelo parceiro. Adicione o código promocional como código da entidade.
PROMO_EXPIRED Não foi possível aplicar porque a promoção expirou. Adicione o código promocional como código da entidade.
PROMO_USER_INELIGIBLE O usuário atual não está qualificado para este cupom. Adicione o código promocional como código da entidade.
PROMO_ORDER_INELIGIBLE O pedido atual não está qualificado para este cupom. Adicione o código promocional como código da entidade.
UNAVAILABLE_SLOT O horário de entrega do pedido não está disponível.
FAILED_PRECONDITION Restrições para aceitar pedidos não atendidos (tamanho mínimo do carrinho)
PAYMENT_DECLINED Pagamento inválido.
MERCHANT_UNREACHABLE O comerciante não está acessível. Isso ajuda quando um parceiro é um agregador e não pode alcançar o comerciante.
ACCOUNT_LINKING_FAILED O comerciante tentou vincular a Conta do Google do usuário a uma conta no sistema dele, mas encontrou um erro ao fazer isso.

TicketOrderExtension

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

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

object (TicketEvent)

O evento se aplica 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 do evento de ingresso, como filme ou show.

name

string

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

description

string

É a descrição do evento.

url

string

URL para as informações do evento.

location

object (Location)

É o local onde o evento está acontecendo ou uma organização.

eventCharacters[]

object (EventCharacter)

Os caracteres relacionados a este evento. Pode ser diretores ou atores de um evento de cinema, artistas de um show etc.

startDate

object (Time)

Horário de início.

endDate

object (Time)

Horário de término.

doorTime

object (Time)

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

Tipo

O tipo do evento.

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

Caractere de evento

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

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

enum (Type)

Tipo de personagem do evento, por exemplo, ator ou diretor.

name

string

Nome do caractere.

image

object (Image)

Imagens do personagem.

Tipo

Tipo de caractere.

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

Notificação do usuário

Notificação opcional do 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 tamanho máximo permitido é de 30 caracteres.

text

string

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

Próxima cena

Representa a cena a ser executada em seguida.

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

string

Nome da cena a ser executada em seguida.

Sessão

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

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

string

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

params

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

Obrigatório. Lista de todos os parâmetros coletados de formulários e intents durante a sessão. Key é o nome do parâmetro. Os parâmetros definidos aqui serão mesclados com os parâmetros já definidos na sessão. Os parâmetros com valor nulo serão removidos da sessão. Consulte a documentação do armazenamento de sessão: 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 define pode complementar ou substituir tipos existentes. Os nomes de tipo devem 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. Essa ação pode ser diferente da localidade do usuário se a ação usar recursos em vários idiomas. Por exemplo, quando gerenciador_response.expected.language_code é definido, ele altera o idioma da conversa para todas as rodadas seguintes, o que refletirá nesse campo.

Substituição de tipo

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 para complementar ou substituir.

mode

enum (TypeOverrideMode)

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

synonym

object (SynonymType)

Modo de modificação de tipo

Os tipos de modificação de 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 substituirão as definições de tipo que foram definidas anteriormente.
TYPE_MERGE As definições de tipo nesta resposta serão mescladas com as definições de tipo que foram definidas anteriormente. As novas definições de tipo substituirão as definições de tipo existentes.

Tipo de sinônimo

Representa um tipo com sinônimos.

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

object (Entry)

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

Entrada

Representa uma entrada para um tipo de sinônimo.

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

string

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

synonyms[]

string

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

display

object (EntryDisplay)

Opcional. As informações de exibição do item.

Entrada de exibição

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 para a conversa na íntegra como se o usuário tivesse digitado. Cada título precisa ser exclusivo entre o conjunto de itens da coleção.

description

string

Opcional. Corpo do cartão.

image

object (Image)

Opcional. A imagem a ser exibida.

footer

string

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

openUrl

object (OpenUrl)

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

Usuário

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

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

string

Configuração de localidade principal do usuário que faz 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 de script não está incluída.

params

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

Opcional. Lista de todos os parâmetros associados ao usuário atual. Consulte a documentação de armazenamento do usuário: 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 de usuário está vinculada ao aplicativo.

verificationStatus

enum (UserVerificationStatus)

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

lastSeenTime

string (Timestamp format)

O carimbo de data/hora da última interação com esse usuário. Esse 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 assinaturas de intents.

packageEntitlements[]

object (PackageEntitlements)

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

permissions[]

enum (Permission)

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

Status da vinculação da conta

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

Enums
ACCOUNT_LINKING_STATUS_UNSPECIFIED Desconhecido.
NOT_LINKED O usuário não vinculou a conta a este aplicativo.
LINKED O usuário vinculou a conta a este aplicativo.

Status da verificação do usuário

Indica se o Google verificou o usuário. Um status VERIFICADO indica que você pode salvar dados em 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 de leitura sobre quais mecanismos de engajamento o usuário atual registrou. Por exemplo, pode ser útil saber em quais intents o usuário já está inscrito para evitar solicitar que ele se inscreva na mesma intent novamente. Por exemplo, essa informação pode ser usada para rotear condicionalmente uma cena para configurar o DailyUpdates ou PushNotifications apenas se o usuário ainda não estiver inscrito. Consulte a documentação sobre engajamento do usuário: https://developers.google.com/assistant/engagement.

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

object (IntentSubscription)

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

dailyUpdateIntents[]

object (IntentSubscription)

Contém uma lista de intents para os 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 o marcador da notificação e quando o Google Assistente solicita a permissão do usuário.

Direitos do pacote

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

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

string

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

entitlements[]

object (Entitlement)

Os direitos do usuário para o pacote especificado.

Direito

Define o direito digital de um usuário.

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

string

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

skuType

enum (SkuType)

O tipo de SKU.

inAppDetails

object (SignedData)

Presente apenas para compras no app e assinaturas no app.

Tipo de SKU

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

Dados assinados

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

object (Struct format)

Contém todos os dados de compra no aplicativo no formato JSON. Veja 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 permissão.

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

Início

Representa a estrutura do HomeGraph 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 HomeGraph a que o dispositivo de destino pertence. Consulte a documentação do armazenamento inicial: https://developers.google.com/assistant/conversational/storage-home.

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

Dispositivo

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

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

enum (Capability)

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

currentLocation

object (Location)

Opcional. O local do dispositivo do usuário. Ele só é preenchido depois que as permissões de localização são concedidas pelo usuário final. Veja a mensagem de localização para obter mais detalhes sobre quais campos são definidos, dependendo da permissão aproximada x refinada. 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. Ele pode ser usado para resolver valores de data e hora.

Capacidade

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

Enums
UNSPECIFIED Capacidade do dispositivo não especificada.
SPEECH O dispositivo pode falar com o usuário por conversão de texto em voz ou SSML.
RICH_RESPONSE O dispositivo pode exibir respostas avançadas, como cards, listas e tabelas.
LONG_FORM_AUDIO O dispositivo pode abrir mídias de áudio em formato longo, como músicas e podcasts.
INTERACTIVE_CANVAS O dispositivo pode exibir uma resposta de tela interativa.
HOME_STORAGE O dispositivo pode ser compatível com o salvamento e a 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 "locality" devem ser preenchidos. A permissão de localização exata preencherá campos adicionais, como "administrativeArea" e "addressLines".

TimeZone

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

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

string

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

version

string

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

Contexto

Contém informações de contexto quando o usuário faz a consulta. Esse contexto inclui, entre outros, informações sobre sessões de mídia ativas, estado da tela de aplicativo da Web etc.

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

object (MediaContext)

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

canvas

object (CanvasContext)

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

MediaContext

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

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

string (Duration format)

Progresso de mídia do arquivo de mídia ativo no momento.

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 na lista de arquivos de mídia na resposta de mídia.

Contexto do Canvas

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 Canvas interativo de terceiros. Isso só é definido para solicitação, e não para resposta. Por exemplo, se for um aplicativo de receita, o estado pode ser um valor de struct : { "current_page" : 5, "last_page" : 3, } o limite de tamanho é 50 KB.

Estimativa

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

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

string

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