Method: projects.sendInteraction

Inicia uma rodada da conversa.

Solicitação HTTP

POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction

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

Parâmetros de caminho

Parâmetros
project

string

Obrigatório. O projeto que está sendo testado, indicado pelo ID. Formato: projects/{project}

Corpo da solicitação

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

Representação JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Campos
input

object (UserInput)

Obrigatório. Entrada fornecida pelo usuário.

deviceProperties

object (DeviceProperties)

Obrigatório. Propriedades do dispositivo usado para interagir com a ação.

conversationToken

string

Token opaco que precisa ser transmitido conforme recebido deSendInteractionResponse na interação anterior. Essa opção pode ser deixada sem definição para iniciar uma nova conversa, seja como a primeira interação de uma sessão de teste ou para abandonar uma conversa anterior e iniciar uma nova.

Corpo da resposta

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

Resposta a uma rodada da conversa.

Representação JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Campos
output

object (Output)

Saída fornecida ao usuário.

diagnostics

object (Diagnostics)

Informações de diagnóstico que explicam como a solicitação foi tratada.

conversationToken

string

Token opaco a ser definido em EnviarInteractionRequest na próxima chamada de RPC para continuar a mesma conversa.

UserInput

Entrada do usuário fornecida em uma rodada de conversa.

Representação JSON
{
  "query": string,
  "type": enum (InputType)
}
Campos
query

string

Conteúdo da entrada enviada pelo usuário.

type

enum (InputType)

Tipo de entrada.

InputType

Indica a origem da entrada, a consulta digitada ou a consulta por voz.

Enums
INPUT_TYPE_UNSPECIFIED Origem de entrada não especificada.
TOUCH Consulta de uma interação de GUI.
VOICE Consulta por voz.
KEYBOARD Consulta tipada.
URL A ação foi acionada por um link de URL.

DeviceProperties

Propriedades do dispositivo relevantes para uma rodada de conversas.

Representação JSON
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
Campos
surface

enum (Surface)

Plataforma usada para interagir com a ação.

location

object (Location)

Localização do dispositivo, como latitude, longitude e endereço formatado.

locale

string

Localidade definida no dispositivo. O formato precisa seguir o BCP 47: https://tools.ietf.org/html/bcp47 (link em inglês). Exemplos: en, en-US, es-419 (mais exemplos em https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Fuso horário definido no dispositivo O formato precisa seguir o banco de dados de fuso horário da IANA, por exemplo, "America/New_York": https://www.iana.org/time-zones (em inglês).

Superfície

Possíveis plataformas usadas para interagir com a ação. Outros valores podem ser incluídos no futuro.

Enums
SURFACE_UNSPECIFIED Valor padrão. Esse valor não é usado.
SPEAKER Alto-falante (por exemplo, Google Home).
PHONE Telefone.
ALLO Chat do Allo.
SMART_DISPLAY Dispositivo de display inteligente.
KAI_OS KaiOS

Local

Contêiner que representa um local.

Representação JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Campos
coordinates

object (LatLng)

Coordenadas geográficas. Requer a permissão [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] [DEVICE_PRECISE_LOCATION].

formattedAddress

string

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

zipCode

string

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

city

string

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

LatLng

Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. A menos que especificado de outra forma, esse objeto precisa estar em conformidade com o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.

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

number

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

longitude

number

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

Saída

Saída visível ao usuário para a rodada de conversas.

Representação JSON
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
Campos
text

string

Resposta falada enviada ao usuário como uma string simples.

speech[]

string

Conteúdo de fala produzido pela ação. Isso pode incluir elementos de marcação como SSML.

canvas

object (Canvas)

Conteúdo de tela interativa.

actionsBuilderPrompt

object (Prompt)

Estado do comando ao final da rodada de conversas. Mais informações sobre a solicitação: https://developers.google.com/assistant/conversational/prompts

Tela

Representa uma resposta de tela interativa a ser enviada ao usuário. Isso pode ser usado em conjunto com o campo "firstSimple" no prompt contendo para falar com o usuário, além de exibir uma resposta de tela interativa. O tamanho máximo da resposta é de 50 mil bytes.

Representação JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Campos
url

string

URL do app da Web de tela interativo que será carregado. Se não for definido, o URL da tela ativa atual será reutilizado.

data[]

value (Value format)

Opcional. Dados JSON a serem transmitidos para a página da Web da experiência imersiva como um evento. Se o campo "substituir" no comando for "falso", os valores de dados definidos neste comando do Canvas vão ser adicionados após os valores de dados definidos nas solicitações anteriores.

suppressMic

boolean

Opcional. Valor padrão: falso.

enableFullScreen

boolean

Se true, o aplicativo de tela ocupa a tela cheia e não tem um cabeçalho na parte de cima. Uma mensagem de aviso também vai ser mostrada na tela de carregamento com o nome de exibição, o nome do desenvolvedor e as instruções para sair da ação. Valor padrão: false

Comando

Representa uma resposta a um usuário.

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

boolean

Opcional. Modo de como estas mensagens devem ser mescladas com mensagens definidas anteriormente. "false" limpa todas as mensagens definidas anteriormente (primeira e última simples, conteúdo, link e tela de sugestões) e adiciona mensagens definidas no comando. "true" vai adicionar as mensagens definidas neste comando às mensagens definidas nas respostas anteriores. Definir este campo como "true" também ativa a anexação a alguns campos dentro de prompts simples, de sugestões e do Canvas (parte do prompt de conteúdo). As mensagens de conteúdo e link sempre serão substituídas, se definidas no prompt. O valor padrão é "falso".

override

boolean

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

firstSimple

object (Simple)

Opcional. A primeira resposta de voz e somente texto.

content

object (Content)

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

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

Opcional. Sugestões a serem exibidas ao usuário que sempre aparecerão no final da resposta. Se o campo "substituir" no comando for "falso", os títulos definidos nele serão adicionados aos títulos definidos nas solicitações de sugestões definidas anteriormente, e os valores duplicados serão removidos.

canvas

object (Canvas)

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

Simples

Representa um prompt simples a ser enviado a um usuário.

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

string

Opcional. Representa a fala a ser falada para o usuário. Pode ser SSML ou conversão de texto em voz. Se o campo "substituir" no comando que contém o comando for "true", a fala definida nesse campo vai substituir a fala da solicitação Simples anterior.

text

string

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

Conteúdo

Conteúdo a ser mostrado.

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)
  },
  "canvas": {
    object (Canvas)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  }
  // End of list of possible types for union field content.
}
Campos
Campo de união content. Conteúdo. content pode ser apenas de um dos tipos a seguir:
card

object (Card)

Um cartão básico.

image

object (Image)

Uma imagem.

table

object (Table)

Card de tabela.

media

object (Media)

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

canvas
(deprecated)

object (Canvas)

Uma resposta a ser usada para a experiência de tela interativa.

collection

object (Collection)

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

list

object (List)

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

Card

Um card básico para exibir algumas informações, por exemplo, uma imagem e/ou texto.

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

string

Título geral do card. Opcional.

subtitle

string

Opcional.

text

string

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

image

object (Image)

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

imageFill

enum (ImageFill)

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

button

object (Link)

Botão. Opcional.

Imagem

Uma imagem exibida no card.

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

string

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

alt

string

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

height

integer

A altura da imagem, em pixels. Opcional.

width

integer

A largura da imagem, em pixels. Opcional.

ImageFill

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

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

OpenUrl

Ação realizada quando um usuário abre um link.

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

string

O campo de URL, que pode ser qualquer uma das seguintes opções: - URLs http/https para abrir um app vinculado ao app ou uma página da Web

hint

enum (UrlHint)

Indica uma dica para o tipo de URL.

UrlHint

Diferentes tipos de dicas de URL.

Enums
AMP É o URL que aponta diretamente para o conteúdo AMP ou para um URL canônico que se refere a esse conteúdo via .

Tabela

Um card de tabela para exibir uma tabela de texto.

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

string

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

subtitle

string

Subtítulo da tabela. Opcional.

image

object (Image)

Imagem associada à tabela. Opcional.

columns[]

object (TableColumn)

Cabeçalhos e alinhamento de colunas.

rows[]

object (TableRow)

Dados de linha da tabela. As três primeiras linhas certamente serão mostradas, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para saber quais linhas vão ser mostradas para uma determinada superfície. Nas plataformas compatíveis com o recurso WEB_BROWSER, é possível direcionar o usuário para uma página da Web com mais dados.

button

object (Link)

Botão.

TableColumn

Descreve uma coluna em uma tabela.

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

string

Texto do cabeçalho da coluna.

align

enum (HorizontalAlignment)

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

HorizontalAlignment

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

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

TableRow

Descreve uma linha na tabela.

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

object (TableCell)

Células nesta linha. As três primeiras células vão aparecer, mas as outras podem ser cortadas em determinadas superfícies. Teste com o simulador para ver quais células vão ser mostradas para uma determinada superfície.

divider

boolean

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

TableCell

Descreve uma célula em uma linha.

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

string

Conteúdo do texto da célula.

Mídia

Representa um objeto de mídia. Contém informações sobre a mídia, como nome, descrição, URL etc.

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

enum (MediaType)

Tipo de mídia.

startOffset

string (Duration format)

Deslocamento inicial do primeiro objeto de mídia.

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

optionalMediaControls[]

enum (OptionalMediaControls)

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

mediaObjects[]

object (MediaObject)

Lista de objetos de mídia

MediaType

Tipo de mídia dessa resposta.

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

OptionalMediaControls

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

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

MediaObject

Representa um único objeto de mídia

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

string

Nome desse objeto de mídia.

description

string

Descrição desse objeto de mídia.

url

string

O URL que aponta para o conteúdo de mídia.

image

object (MediaImage)

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

MediaImage

Imagem a ser exibida com o card de 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. Imagem. 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.

Coleção

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

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)

mín: 2 máx: 10

imageFill

enum (ImageFill)

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

CollectionItem

Um item na coleção

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

string

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

Lista

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

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)

mín: 2 máx: 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.

Sugestão

Sugestão de entrada a ser apresentada ao usuário.

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

string

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

Diagnósticos

Informações de diagnóstico relacionadas à rodada de conversa.

Representação JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Campos
actionsBuilderEvents[]

object (ExecutionEvent)

Lista de eventos com detalhes sobre o processamento da rodada de conversa ao longo dos estágios do modelo de interação do Actions Builder. Preenchido apenas para apps do Actions Builder e do SDK do Actions.

ExecutionEvent

Contém informações sobre o evento de execução que ocorreu durante o processamento da solicitação de conversa do Actions Builder. Para ter uma visão geral das fases envolvidas em uma solicitação de conversa, consulte https://developers.google.com/assistant/conversational/actions.

Representação JSON
{
  "eventTime": string,
  "executionState": {
    object (ExecutionState)
  },
  "status": {
    object (Status)
  },
  "warningMessages": [
    string
  ],

  // Union field EventData can be only one of the following:
  "userInput": {
    object (UserConversationInput)
  },
  "intentMatch": {
    object (IntentMatch)
  },
  "conditionsEvaluated": {
    object (ConditionsEvaluated)
  },
  "onSceneEnter": {
    object (OnSceneEnter)
  },
  "webhookRequest": {
    object (WebhookRequest)
  },
  "webhookResponse": {
    object (WebhookResponse)
  },
  "webhookInitiatedTransition": {
    object (WebhookInitiatedTransition)
  },
  "slotMatch": {
    object (SlotMatch)
  },
  "slotRequested": {
    object (SlotRequested)
  },
  "slotValidated": {
    object (SlotValidated)
  },
  "formFilled": {
    object (FormFilled)
  },
  "waitingUserInput": {
    object (WaitingForUserInput)
  },
  "endConversation": {
    object (EndConversation)
  }
  // End of list of possible types for union field EventData.
}
Campos
eventTime

string (Timestamp format)

Carimbo de data/hora de quando o evento aconteceu.

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

executionState

object (ExecutionState)

Estado da execução durante o evento.

status

object (Status)

Status resultante de uma etapa de execução específica.

warningMessages[]

string

Lista de avisos gerados durante a execução deste evento. Avisos são dicas para o desenvolvedor descobertas durante a solicitação de conversa. Elas geralmente não são críticas e não interrompem a execução da solicitação. Por exemplo, um aviso pode ser gerado quando o webhook tenta substituir um tipo personalizado que não existe. Os erros são informados como um código de status com falha, mas os avisos podem estar presentes mesmo quando o status é OK.

Campo de união EventData. Informações detalhadas específicas dos diferentes eventos que podem estar envolvidos no processamento de uma rodada de conversas. O campo definido aqui define o tipo do evento. EventData pode ser apenas de um dos tipos a seguir:
userInput

object (UserConversationInput)

Evento de manipulação de entrada do usuário.

intentMatch

object (IntentMatch)

Evento de correspondência de intent.

conditionsEvaluated

object (ConditionsEvaluated)

Evento de avaliação da condição.

onSceneEnter

object (OnSceneEnter)

Evento de execução de OnSceneEnter.

webhookRequest

object (WebhookRequest)

Evento de envio de solicitação de webhook.

webhookResponse

object (WebhookResponse)

Evento de recebimento de resposta de webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Evento de transição iniciado pelo webhook.

slotMatch

object (SlotMatch)

Evento de correspondência de espaço.

slotRequested

object (SlotRequested)

Evento de solicitação de espaço.

slotValidated

object (SlotValidated)

Evento de validação de slot.

formFilled

object (FormFilled)

Evento de preenchimento de formulário.

waitingUserInput

object (WaitingForUserInput)

Aguardando evento de entrada do usuário.

endConversation

object (EndConversation)

Evento de fim de conversa.

ExecutionState

Estado atual da execução.

Representação JSON
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
Campos
currentSceneId

string

ID do cenário que está ativo no momento.

sessionStorage

object (Struct format)

Estado do armazenamento da sessão: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Estado do preenchimento de slots, se aplicável: https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Fila de comandos: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Estado do armazenamento do usuário: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Estado do armazenamento do Google Home: https://developers.google.com/assistant/conversational/storage-home

Slots

Representa o estado atual dos slots de uma cena.

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

enum (SlotFillingStatus)

O status atual do preenchimento de slots.

slots

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

Os slots associados à cena atual.

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

SlotFillingStatus

Representa o status atual do preenchimento de slots.

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

Slot

Representa um espaço.

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

enum (SlotMode)

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

status

enum (SlotStatus)

O status do espaço.

value

value (Value format)

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

updated

boolean

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

prompt

object (Prompt)

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

SlotMode

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

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

SlotStatus

Representa o status de um espaço.

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

Status

O tipo Status define um modelo de erro lógico que é adequado a diferentes ambientes de programação, incluindo APIs REST e RPC. É usado por gRPC (em inglês). Cada mensagem Status contém três partes de dados: código do erro, mensagem de erro e detalhes do erro.

É possível descobrir mais sobre esse modelo de erro e como trabalhar com ele no Guia de design de API.

Representação JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

O código de status, que precisa ser um valor de enumeração de google.rpc.Code.

message

string

Uma mensagem de erro em inglês para o desenvolvedor. Qualquer mensagem de erro para o usuário precisa ser localizada e enviada no campo google.rpc.Status.details, ou localizada pelo cliente.

details[]

object

Uma lista de mensagens com os detalhes do erro. Há um conjunto comum de tipos de mensagens para as APIs usarem.

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" }.

UserConversationInput

Informações relacionadas à entrada do usuário.

Representação JSON
{
  "type": string,
  "originalQuery": string
}
Campos
type

string

Tipo de entrada do usuário. Por exemplo, teclado, voz, toque etc.

originalQuery

string

Entrada de texto original do usuário.

IntentMatch

Informações sobre a correspondência de intent acionada (global ou dentro de um cenário): https://developers.google.com/assistant/conversational/intents

Representação JSON
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Campos
intentId

string

ID da intent que acionou esta interação.

intentParameters

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

Parâmetros da intent que acionaram essa interação.

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

handler

string

Nome do gerenciador anexado a esta interação.

nextSceneId

string

Cena a que a interação leva.

ConditionsEvaluated

Resultados da avaliação das condições: https://developers.google.com/assistant/conversational/scenes#conditions

Representação JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Campos
failedConditions[]

object (Condition)

Lista de condições que foram avaliadas como "false".

successCondition

object (Condition)

A primeira condição avaliada como "true", se houver.

Condição

Condição avaliada.

Representação JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Campos
expression

string

Expressão especificada nesta condição.

handler

string

Nome do gerenciador especificado na condição avaliada.

nextSceneId

string

Cena de destino especificada na condição avaliada.

OnSceneEnter

Informações sobre a execução do estágio onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

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

string

Nome do manipulador especificado no evento onSceneEnter.

WebhookRequest

Informações sobre uma solicitação enviada para o webhook da ação: https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

Payload da solicitação do webhook.

WebhookResponse

Informações sobre uma resposta recebida do webhook da ação: https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

Payload da resposta do webhook.

WebhookInitiatedTransition

Evento acionado pela cena de destino retornada do webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

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

string

ID do cenário ao qual a transição está levando.

SlotMatch

Informações sobre slots correspondentes: https://developers.google.com/assistant/conversational/scenes#slot_filling

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

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

Parâmetros extraídos por PLN da entrada do usuário.

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

SlotRequested

Informações sobre o slot solicitado no momento: https://developers.google.com/assistant/conversational/scenes#slot_filling

Representação JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Campos
slot

string

Nome do espaço solicitado.

prompt

object (Prompt)

Solicitação de slot.

SlotValidated

Evento que acontece depois que a validação do webhook é concluída para os slots: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Evento que acontece quando o formulário está totalmente preenchido: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Evento que acontece quando o sistema precisa da entrada do usuário: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Evento que informa que a conversa com o agente foi encerrada.