- 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
- Meta
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 de conversas. |
userStorage |
Um token opaco controlado pela ação que é mantido nas conversas de um usuário específico. Se estiver em branco ou não for especificado, o token permanente atual 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 persistente deve ser limpo. Se definido como verdadeiro, o campo userStorage estará vazio na próxima interação com o usuário. |
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 possíveis. Apenas uma entrada é aceita no momento. |
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 ao Google no modo sandbox. |
ExpectedInput
Representação JSON | |
---|---|
{ "inputPrompt": { object ( |
Campos | |
---|---|
inputPrompt |
O comando personalizado usado para solicitar entradas 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
A solicitação de entrada usada para que o Google Assistente oriente o usuário a inserir uma entrada para a pergunta do app.
Representação JSON | |
---|---|
{ "initialPrompts": [ { object ( |
Campos | |
---|---|
initialPrompts[] |
Solicitações iniciais que pedem que o usuário insira uma entrada. Somente um initial_prompt é compatível. |
richInitialPrompt |
Payload do prompt. |
noInputPrompts[] |
Prompt usado para perguntar ao usuário quando não há entrada do usuário. |
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 de interface que compõem a resposta. Os itens devem atender aos seguintes requisitos: 1. O primeiro item precisa ser um |
suggestions[] |
Uma lista de respostas sugeridas. Eles sempre aparecerão no final da resposta. Se usados em um |
linkOutSuggestion |
Um chip 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ídias a serem reproduzidas. |
|
carouselBrowse |
Card de navegação de carrossel. Use a Navegação de coleções. |
|
tableCard |
Card de tabela. |
|
htmlResponse |
Resposta HTML usada para renderizar 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 ssml. |
ssml |
Resposta falada estruturada para o usuário no formato SSML, por exemplo, |
displayText |
Texto opcional a ser exibido no balão do chat. Se não for fornecido, uma renderização de exibição do textToSpeech ou ssml acima será usada. 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 |
É o texto do corpo do card. Oferece suporte a um conjunto limitado de sintaxe markdown para formatação. Obrigatório, a menos que haja imagem. |
image |
Uma imagem principal para o cartão. A altura é fixa em 192 dp. Opcional. |
buttons[] |
Botões. No momento, é possível ter no máximo um botão. Opcional. |
imageDisplayOptions |
tipo de opção de exibição da imagem. Opcional. |
Botão
Um objeto de botão que geralmente aparece na parte inferior de um card.
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 atualiza o pedido (por exemplo, |
|
orderUpdateV3 |
O aplicativo fornece uma atualização de pedido no formato da 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 ID 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 vão poder simplesmente copiar pelo 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 e 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, codificadas pelo 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 a ser notificada e não é garantido que ela resulte em uma notificação. |
|
infoExtension |
Dados extras com base em um estado de pedido personalizado ou além das 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 adicionais associadas ao estado do pedido. info pode ser apenas de um dos tipos a seguir: |
||
rejectionInfo |
Informações sobre o estado de 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 de fulfillment. |
|
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 |
de qualquer ação. |
button |
Rótulo e link do botão. |
Comprovante
Obsoleto: use o V3 Proto. Recibo quando o estado for CONFIRMED ou qualquer outro estado (por exemplo, IN_TRANSMITO, FULFILLED), incluindo o estado CONFIRMED.
Representação JSON | |
---|---|
{ "confirmedActionOrderId": string, "userVisibleOrderId": string } |
Campos | |
---|---|
confirmedActionOrderId |
Código do pedido confirmado quando o pedido foi recebido pelo integrador. Esse é o ID do pedido canônico usado no sistema do integrador que referencia o pedido e pode ser usado para identificar o pedido como Esse campo foi descontinuado. Transmita o campo usando OrderUpdate.action_order_id. |
userVisibleOrderId |
Opcional. O ID voltado para o usuário que faz referência ao pedido atual, que será exibido no card do recibo, se houver. Precisa ser o ID que geralmente aparece em um comprovante impresso ou enviado para o e-mail do usuário. O usuário deve poder usar esse ID para se referir ao pedido do atendimento ao cliente fornecido pelos integradores. Esse campo precisará ser preenchido se o integrador gerar um ID voltado ao usuário para um pedido com um comprovante / e-mail impresso. |
RejectionInfo
As informações de rejeição quando o estado é REJECTED. Essa mensagem pode ser preenchida na atualização inicial do pedido na conversa ou na atualização assíncrona subsequente do pedido.
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 em trânsito quando o estado é IN_TRANSPORTE.
Representação JSON | |
---|---|
{ "updatedTime": string } |
Campos | |
---|---|
updatedTime |
Horário da última atualização 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. Informações de fulfillment quando o estado é FULFILLED.
Representação JSON | |
---|---|
{ "deliveryTime": string } |
Campos | |
---|---|
deliveryTime |
Quando o pedido será atendido. É 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 é REJECTED.
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 na 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 |
o nome deste objeto de mídia. |
|
description |
descrição deste 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. Ele é redimensionado 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 iniciar 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 da 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 de texto única, 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 "urlTypeHint" estiver definido como AMP_CONTENT, também pode incluir conteúdo AMP. Obrigatório. |
TableCard
Um card 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 precisa 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 três primeiras linhas certamente serão mostradas, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para saber quais linhas vão ser mostradas para uma determinada superfície. Nas plataformas compatíveis com o recurso WEB_BROWSER, é possível direcionar o usuário para uma página da Web com mais dados. |
buttons[] |
Botões. No momento, é possível ter 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 conteúdo. Se não for especificado, o conteúdo será alinhado à borda inicial. |
Row
Descreve uma linha na tabela.
Representação JSON | |
---|---|
{
"cells": [
{
object ( |
Campos | |
---|---|
cells[] |
Células nesta linha. As três primeiras células vão aparecer, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para ver quais células vão ser mostradas para uma determinada superfície. |
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 do texto da célula. |
HtmlResponse
Resposta que mostra HTML usando o recurso de tela interativa. O tamanho máximo da resposta é de 50 mil bytes.
Representação JSON | |
---|---|
{ "updatedState": value, "suppressMic": boolean, "url": string } |
Campos | |
---|---|
updatedState |
Comunique o seguinte objeto JSON ao app. |
suppressMic |
Escolha uma opção para que o microfone não seja aberto após essa resposta imersiva. |
url |
O URL do aplicativo. |
Sugestão
Um chip de sugestão em que o usuário pode tocar para postar uma resposta rapidamente na conversa.
Representação JSON | |
---|---|
{ "title": string } |
Campos | |
---|---|
title |
O texto mostrado no ícone de sugestão. Quando tocado, esse texto será postado de volta na conversa literalmente, como se o usuário o tivesse digitado. Cada título precisa ser único no conjunto de ícones de sugestão. Máximo de 25 caracteres |
LinkOutSuggestion
Cria um chip de sugestão que permite que o usuário acesse o app ou site associado ao 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 deste app/URL precisa ser validada nas ações do Google Developers Console. Caso contrário, a sugestão não será mostrada ao usuário. A Ação de URL aberto oferece suporte a URLs http, https e de intent. Para URLs de intent, consulte: https://developer.chrome.com/multidevice/android/intents |
ExpectedIntent
A intenção que o app pede ao assistente para fornecer.
Representação JSON | |
---|---|
{ "intent": string, "inputValueData": { "@type": string, field1: ..., ... }, "parameterName": string } |
Campos | |
---|---|
intent |
O nome da intent integrada, por exemplo, |
inputValueData |
Dados de configuração extras 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 é obrigado a fornecer uma entrada. |
|
richResponse |
Resposta avançada quando o usuário não é obrigado a fornecer uma entrada. |
CustomPushMessage
Uma mensagem push personalizada que contém dados estruturados para envio à 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 para atualizar pedidos feitos por APIs de transação. |
|
userNotification |
Se especificado, exibe uma notificação para o usuário com título e texto especificados. |
UserNotification
Notificação ao usuário a ser exibida com uma solicitação.
Representação JSON | |
---|---|
{ "title": string, "text": string } |
Campos | |
---|---|
title |
O título da notificação. |
text |
O conteúdo da notificação. |
Objetivo
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 que será segmentada. |
argument |
O argumento a ser direcionado para uma intent. Para V1, apenas um argumento é compatível. |
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. |