- Representação JSON
- ExpectedInput
- InputPrompt
- SpeechResponse
- RichResponse
- Item
- SimpleResponse
- BasicCard
- Botão
- StructuredResponse
- OrderUpdate
- Ação
- Comprovante
- RejectionInfo
- CancellationInfo
- InTransitInfo
- FulfillmentInfo
- ReturnInfo
- UserNotification
- MediaResponse
- MediaObject
- CarouselBrowse
- Item
- TableCard
- ColumnProperties
- Linha
- Célula
- HtmlResponse
- Sugestão
- LinkOutSuggestion
- ExpectedIntent
- FinalResponse
- CustomPushMessage
- UserNotification
- Destino
AppResponse é a resposta enviada pelo fulfillment ao Google Assistente. Para conferir exemplos de como isso é usado no Actions on Google, consulte https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json#conversation-response-body
Representação JSON | |
---|---|
{ "conversationToken": string, "userStorage": string, "resetUserStorage": boolean, "expectUserResponse": boolean, "expectedInputs": [ { object ( |
Campos | |
---|---|
conversationToken |
Um token opaco que é recirculado para a ação a cada rodada da conversa. |
userStorage |
Um token opaco controlado pela ação que é mantida nas conversas de um usuário específico. Se estiver vazio ou não for especificado, o token persistido existente não será alterado. O tamanho máximo da string é de 10 mil bytes. Se várias caixas de diálogo estiverem ocorrendo simultaneamente para o mesmo usuário, as atualizações desse token poderão substituir umas às outras inesperadamente. |
resetUserStorage |
Define se o userStorage persistido será apagado. Se definido como verdadeiro, na próxima interação com o usuário, o campo userStorage estará vazio. |
expectUserResponse |
Indica se a ação está esperando uma resposta do usuário. Isso é verdadeiro quando a conversa está em andamento e falso quando a conversa termina. |
expectedInputs[] |
Lista de entradas que a ação espera. Cada entrada pode ser uma ação comum na intent do Google (comece com "actions.") ou uma lista de entradas de possíveis intents. No momento, apenas uma entrada é aceita. |
finalResponse |
Resposta final quando a ação não espera a entrada do usuário. |
customPushMessage |
Uma mensagem push personalizada que permite aos desenvolvedores enviar dados estruturados para ações no Google. |
isInSandbox |
Indica se a resposta deve ser tratada no modo sandbox. Esse bit é necessário para enviar dados estruturados para o Google no modo sandbox. |
ExpectedInput
Representação JSON | |
---|---|
{ "inputPrompt": { object ( |
Campos | |
---|---|
inputPrompt |
O comando personalizado usado para pedir informações do usuário. |
possibleIntents[] |
Lista de intents que podem ser usadas para atender a essa entrada. Para que as ações no Google retornem apenas a entrada bruta do usuário, o app precisa solicitar a intent |
speechBiasingHints[] |
Lista de frases que a Ação quer que o Google use para polarização de fala. São permitidas até 1.000 frases. |
InputPrompt
O comando de entrada usado pelo Assistente para orientar o usuário a inserir uma entrada para a pergunta do app.
Representação JSON | |
---|---|
{ "initialPrompts": [ { object ( |
Campos | |
---|---|
initialPrompts[] |
Solicitações iniciais pedindo que o usuário forneça uma entrada. Apenas um initial_prompt é aceito. |
richInitialPrompt |
Payload do comando. |
noInputPrompts[] |
Prompt usado para perguntar ao usuário quando não há entradas dele. |
SpeechResponse
Resposta que contém apenas fala. OBSOLETO.
Representação JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de união type . Tipos de saída de voz: conversão de texto em voz ou SSML. type pode ser apenas de um dos tipos a seguir: |
||
textToSpeech |
Texto simples da saída de voz, por exemplo, "aonde você quer ir?"/ |
|
ssml |
Resposta falada estruturada ao usuário no formato SSML, por exemplo, " |
RichResponse
Uma resposta avançada que pode incluir áudio, texto, cards, sugestões e dados estruturados.
Representação JSON | |
---|---|
{ "items": [ { object ( |
Campos | |
---|---|
items[] |
Uma lista de elementos da interface que compõem a resposta. Os itens precisam atender aos seguintes requisitos: 1. O primeiro item precisa ser um |
suggestions[] |
Uma lista de respostas sugeridas. Elas sempre aparecerão no final da resposta. Se usados em um |
linkOutSuggestion |
Um ícone de sugestão adicional que pode ser vinculado ao app ou site associado. |
Item
Itens da resposta.
Representação JSON | |
---|---|
{ "name": string, // Union field |
Campos | ||
---|---|---|
name |
Identificador nomeado opcional deste item. |
|
Campo de união item . Tipo de item. item pode ser apenas de um dos tipos a seguir: |
||
simpleResponse |
Resposta somente de texto e voz. |
|
basicCard |
Um cartão básico. |
|
structuredResponse |
Payload estruturado a ser processado pelo Google. |
|
mediaResponse |
Resposta indicando um conjunto de mídia a ser reproduzido. |
|
carouselBrowse |
Card de navegação de carrossel. Em vez disso, use coleçãoBrowse. |
|
tableCard |
Card da tabela. |
|
htmlResponse |
Resposta HTML usada para renderização no Canvas. |
SimpleResponse
Uma resposta simples que contém fala ou texto para mostrar ao usuário.
Representação JSON | |
---|---|
{ "textToSpeech": string, "ssml": string, "displayText": string } |
Campos | |
---|---|
textToSpeech |
Texto simples da saída de voz, por exemplo, "aonde você quer ir?". Mutuamente exclusivo com o ssml. |
ssml |
Resposta falada estruturada ao usuário no formato SSML, por exemplo, |
displayText |
Texto opcional a ser exibido no balão do chat. Caso contrário, será usada uma renderização de tela da conversão de texto em voz ou ssml acima. Limitado a 640 caracteres. |
BasicCard
Um card básico para exibir algumas informações, por exemplo, uma imagem e/ou texto.
Representação JSON | |
---|---|
{ "title": string, "subtitle": string, "formattedText": string, "image": { object ( |
Campos | |
---|---|
title |
Título geral do card. Opcional. |
subtitle |
Opcional. |
formattedText |
Texto do corpo do card. Oferece suporte a um conjunto limitado de sintaxes de marcação para formatação. Obrigatório, a menos que haja uma imagem. |
image |
Uma imagem principal para o cartão. A altura é fixada em 192 dp. Opcional. |
buttons[] |
Botões. No momento, há suporte para no máximo um botão. Opcional. |
imageDisplayOptions |
tipo de opção de exibição de imagem. Opcional. |
Botão
Um objeto de botão que geralmente aparece na parte inferior de um cartão.
Representação JSON | |
---|---|
{
"title": string,
"openUrlAction": {
object ( |
Campos | |
---|---|
title |
título do botão. Obrigatório. |
openUrlAction |
Ação a ser realizada quando um usuário toca no botão. Obrigatório. |
StructuredResponse
A resposta definida para o app responder com dados estruturados.
Representação JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de união data . O contêiner da resposta de payload de agentes de terceiros. data pode ser apenas de um dos tipos a seguir: |
||
orderUpdate |
O app fornece uma atualização do pedido (por exemplo, |
|
orderUpdateV3 |
O app fornece uma atualização do pedido no formato API v3 depois de receber o pedido. |
OrderUpdate
Obsoleto: use o V3 Proto. Atualizar um pedido.
Representação JSON | |
---|---|
{ "googleOrderId": string, "actionOrderId": string, "orderState": { object ( |
Campos | ||
---|---|---|
googleOrderId |
O código do pedido é emitido pelo Google. |
|
actionOrderId |
Obrigatório. É o ID do pedido canônico que faz referência a esse pedido. Se os integradores não gerarem o ID do pedido canônico no sistema, eles poderão simplesmente copiar o googleOrderId incluído na ordem. |
|
orderState |
O novo estado do pedido. |
|
orderManagementActions[] |
Atualização das ações de gerenciamento aplicáveis ao pedido, por exemplo, gerenciar, modificar, entrar em contato com o suporte. |
|
receipt |
Recibo do pedido. |
|
updateTime |
Quando o pedido foi atualizado da perspectiva do app. É um carimbo de data/hora no formato UTC "Zulu" RFC3339, medido com precisão de nanossegundos. Exemplo: |
|
totalPrice |
Novo preço total do pedido |
|
lineItemUpdates |
Mapa de mudanças no nível do item de linha, codificado por ID do item. Opcional. Um objeto com uma lista de pares |
|
userNotification |
Se especificado, exibe uma notificação para o usuário com o título e o texto especificados. Especificar uma notificação é uma sugestão e não há garantia de que ela resultará em uma. |
|
infoExtension |
Dados extras com base em um estado de pedido personalizado ou em informações de um estado padrão. Um objeto contendo campos de um tipo arbitrário. Um campo adicional |
|
Campo de união info . Informações extras associadas ao estado do pedido. info pode ser apenas de um dos tipos a seguir: |
||
rejectionInfo |
Informações sobre o estado da rejeição. |
|
cancellationInfo |
Informações sobre o estado de cancelamento. |
|
inTransitInfo |
Informações sobre o estado em trânsito. |
|
fulfillmentInfo |
Informações sobre o estado do atendimento. |
|
returnInfo |
Informações sobre o estado retornado. |
Ação
Uma ação de acompanhamento associada à atualização do pedido.
Representação JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
o tipo de ação. |
button |
Rótulo e link do botão. |
Comprovante
Obsoleto: use o V3 Proto. Recebo quando o estado é CONFIRMED ou em qualquer outro (por exemplo, IN_Transition, FULFILLED) incluindo o estado CONFIRMED.
Representação JSON | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
Campos | |
---|---|
confirmedActionOrderId |
ID do pedido confirmado quando o pedido foi recebido pelo integrador. Esse é o ID canônico do pedido usado no sistema do integrador, que faz referência ao pedido e pode ser usado posteriormente para identificar o pedido como Esse campo foi descontinuado. Passe o campo pelo OrderUpdate.action_order_id. |
userVisibleOrderId |
Opcional. O ID do usuário que faz referência ao pedido atual, que vai aparecer no card do recibo, se houver. Precisa ser o ID que geralmente aparece em um recibo impresso enviado para o e-mail do usuário. O usuário deve conseguir usar esse ID para fazer referência ao pedido de atendimento ao cliente fornecido pelos integradores. Esse campo precisa ser preenchido se o integrador gerar um ID voltado ao usuário para um pedido com um recibo impresso / por e-mail. |
RejectionInfo
As informações de rejeição quando o estado é REJECTED. Essa mensagem pode ser preenchida na atualização inicial do pedido em conversa ou na atualização do pedido assíncrono subsequente.
Representação JSON | |
---|---|
{
"type": enum ( |
Campos | |
---|---|
type |
Tipo de rejeição. |
reason |
O motivo do erro. |
CancellationInfo
Obsoleto: use o V3 Proto. As informações de cancelamento quando o estado é CANCELADO.
Representação JSON | |
---|---|
{ "reason": string } |
Campos | |
---|---|
reason |
Motivo do cancelamento. |
InTransitInfo
Obsoleto: use o V3 Proto. As informações de trânsito quando o estado é IN_Transition.
Representação JSON | |
---|---|
{ "updatedTime": string } |
Campos | |
---|---|
updatedTime |
Hora da última atualização para dados em trânsito. É um carimbo de data/hora no formato UTC "Zulu" RFC3339, medido com precisão de nanossegundos. Exemplo: |
FulfillmentInfo
Obsoleto: use o V3 Proto. As informações de atendimento do pedido quando o estado é FULFILLED.
Representação JSON | |
---|---|
{ "deliveryTime": string } |
Campos | |
---|---|
deliveryTime |
Quando o pedido será concluído. É um carimbo de data/hora no formato UTC "Zulu" RFC3339, medido com precisão de nanossegundos. Exemplo: |
ReturnInfo
Obsoleto: use o V3 Proto. As informações de retorno quando o estado é REJEITADO.
Representação JSON | |
---|---|
{ "reason": string } |
Campos | |
---|---|
reason |
Motivo da devolução. |
UserNotification
Notificação opcional ao usuário a ser exibida como parte da atualização do pedido.
Representação JSON | |
---|---|
{ "title": string, "text": string } |
Campos | |
---|---|
title |
O título da notificação do usuário. |
text |
O conteúdo da notificação. |
MediaResponse
A resposta que indica um conjunto de mídias a serem reproduzidas na conversa.
Representação JSON | |
---|---|
{ "mediaType": enum ( |
Campos | |
---|---|
mediaType |
tipo de mídia nesta resposta. |
mediaObjects[] |
A lista de objetos de mídia. |
MediaObject
Representa um objeto de mídia retornado com MediaResponse. Contém informações sobre a mídia, como nome, descrição, URL etc.
Representação JSON | |
---|---|
{ "name": string, "description": string, "contentUrl": string, // Union field |
Campos | ||
---|---|---|
name |
nome desse objeto de mídia. |
|
description |
descrição desse objeto de mídia. |
|
contentUrl |
O URL que aponta para o conteúdo de mídia. |
|
Campo de união image . Imagem a ser exibida com o card de mídia. image pode ser apenas de um dos tipos a seguir: |
||
largeImage |
Uma imagem grande, como a capa do álbum etc. |
|
icon |
Um pequeno ícone de imagem exibido à direita do título. Ela é redimensionada para 36 x 36 dp. |
CarouselBrowse
Apresenta um conjunto de documentos AMP como um carrossel de itens de blocos grandes. Os itens podem ser selecionados para abrir o documento AMP associado em um visualizador de AMP.
Representação JSON | |
---|---|
{ "items": [ { object ( |
Campos | |
---|---|
items[] |
Mín.: 2. Máx.: 10. |
imageDisplayOptions |
tipo de opção de exibição de imagem. Opcional. |
Item
Item no carrossel.
Representação JSON | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Campos | |
---|---|
title |
título do item do carrossel. Obrigatório. |
description |
descrição do item do carrossel. Opcional. |
footer |
Texto do rodapé do item do carrossel, exibido abaixo da descrição. Linha única de texto, truncada com reticências. Opcional. |
image |
Imagem principal do item do carrossel. Opcional. |
openUrlAction |
URL do documento associado ao item do carrossel. O documento pode ter conteúdo HTML ou, se for "urlTypeHint", está definido como AMP_CONTENT, conteúdo AMP. Obrigatório. |
TableCard
Um cartão de tabela para exibir uma tabela de texto.
Representação JSON | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Campos | |
---|---|
title |
Título geral da tabela. Opcional, mas deverá ser definido se o subtítulo estiver definido. |
subtitle |
Subtítulo da tabela. Opcional. |
image |
Imagem associada à tabela. Opcional. |
columnProperties[] |
Cabeçalhos e alinhamento de colunas. |
rows[] |
Dados de linha da tabela. As primeiras três linhas serão exibidas, mas outras poderão ser cortadas em determinadas superfícies. Teste com o simulador para saber quais linhas serão exibidas para uma determinada superfície. Em plataformas com suporte ao recurso WEB_BROWSER, é possível direcionar o usuário a uma página da Web com mais dados. |
buttons[] |
Botões. No momento, há suporte para no máximo um botão. Opcional. |
ColumnProperties
Mantém as propriedades das colunas (incluindo cabeçalhos).
Representação JSON | |
---|---|
{
"header": string,
"horizontalAlignment": enum ( |
Campos | |
---|---|
header |
Texto do cabeçalho da coluna. |
horizontalAlignment |
Alinhamento horizontal da coluna de texto do conteúdo. Se não for especificado, o conteúdo será alinhado à borda inicial. |
Linha
Descreve uma linha na tabela.
Representação JSON | |
---|---|
{
"cells": [
{
object ( |
Campos | |
---|---|
cells[] |
Células nesta linha. As primeiras três células serão exibidas, mas outras poderão ser cortadas em determinadas superfícies. Faça o teste com o simulador para ver quais células serão exibidas em uma determinada superfície. |
dividerAfter |
Indica se deve haver um divisor após cada linha. |
Célula
Descreve uma célula em uma linha.
Representação JSON | |
---|---|
{ "text": string } |
Campos | |
---|---|
text |
Conteúdo de texto da célula. |
HtmlResponse
Resposta que exibe HTML usando o recurso de tela interativa. O tamanho máximo do a resposta seja de 50 mil bytes.
Representação JSON | |
---|---|
{ "updatedState": value, "suppressMic": boolean, "url": string } |
Campos | |
---|---|
updatedState |
Comunique o objeto JSON a seguir ao app. |
suppressMic |
Forneça uma opção para que o microfone não seja aberto após essa resposta imersiva. |
url |
O URL do aplicativo. |
Sugestão
Um ícone de sugestão em que o usuário pode tocar para postar rapidamente uma resposta à conversa.
Representação JSON | |
---|---|
{ "title": string } |
Campos | |
---|---|
title |
O texto mostrado no ícone de sugestão. Quando tocado, esse texto é postado de volta na conversa como se o usuário o tivesse digitado. Cada título precisa ser exclusivo entre o conjunto de ícones de sugestão. Máximo de 25 caracteres necessário |
LinkOutSuggestion
Cria um ícone de sugestão que permite ao usuário acessar o app ou site associado a esse agente.
Representação JSON | |
---|---|
{
"destinationName": string,
"url": string,
"openUrlAction": {
object ( |
Campos | |
---|---|
destinationName |
O nome do app ou site a que o ícone está vinculado. O ícone será renderizado com o título "Abrir |
url |
Obsoleto. Use OpenUrlAction. |
openUrlAction |
O URL do app ou site que será aberto quando o usuário tocar no ícone de sugestão. A propriedade desse app/URL precisa ser validada nas ações no Google Developers Console. Caso contrário, a sugestão não será exibida ao usuário. A ação de URL aberto é compatível com URLs http, https e de intent. Para URLs de intent, consulte: https://developer.chrome.com/multidevice/android/intents |
ExpectedIntent
A intent esperada que o app está pedindo para o assistente fornecer.
Representação JSON | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
Campos | |
---|---|
intent |
O nome da intent integrada, por exemplo, |
inputValueData |
Outros dados de configuração exigidos por uma intent integrada. Valores possíveis para as intents integradas: Um objeto contendo campos de um tipo arbitrário. Um campo adicional |
parameterName |
Opcionalmente, um parâmetro da intent que está sendo solicitada. Válido apenas para intents solicitadas. Usado para polarização de fala. |
FinalResponse
A resposta final quando a entrada do usuário não é esperada.
Representação JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de união response . Possíveis tipos de resposta. response pode ser apenas de um dos tipos a seguir: |
||
speechResponse |
Resposta falada quando o usuário não precisa fornecer uma entrada. |
|
richResponse |
Resposta avançada quando o usuário não precisa fornecer uma entrada. |
CustomPushMessage
Uma mensagem push personalizada que contém dados estruturados para enviar para a API Fulfillment de ações.
Representação JSON | |
---|---|
{ "target": { object ( |
Campos | ||
---|---|---|
target |
O destino especificado para a solicitação de push. |
|
Campo de união content . Os diferentes tipos de payload. content pode ser apenas de um dos tipos a seguir: |
||
orderUpdate |
Uma atualização de pedido que atualiza pedidos realizados por meio de APIs de transação. |
|
userNotification |
Se especificado, exibe uma notificação para o usuário com título e texto especificados. |
UserNotification
Notificação para o usuário a ser exibida com uma solicitação.
Representação JSON | |
---|---|
{ "title": string, "text": string } |
Campos | |
---|---|
title |
Título da notificação. |
text |
O conteúdo da notificação. |
Destino
O destino especificado para a solicitação de push.
Representação JSON | |
---|---|
{
"userId": string,
"intent": string,
"argument": {
object ( |
Campos | |
---|---|
userId |
O usuário a ser segmentado. |
intent |
A intent a ser segmentada. |
argument |
O argumento a ser alvo para uma intent. Na V1, há suporte apenas para um argumento. |
locale |
A localidade a ser segmentada. Segue o código de idioma IETF BCP-47. Pode ser usado por um app multilíngue para segmentar um usuário em um app localizado especificado. Se não for especificado, o padrão será "en-US". |