Method: projects.sendInteraction

Reproduz 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 do projeto. 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 como recebido de SendInteractionResponse 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 outra.

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 SendInteractionRequest 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, consulta digitada ou consulta por voz.

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

Propriedades do dispositivo

Propriedades do dispositivo relevantes para uma rodada de conversa.

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

enum (Surface)

Superfície 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. Exemplos: en, en-US, es-419 (mais exemplos em https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Fuso horário conforme definido no dispositivo. O formato precisa seguir o banco de dados de fuso horário IANA, por exemplo, "América/Nova_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 Bate-papo do Allo.
SMART_DISPLAY Dispositivo com smart display.
KAI_OS e 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 o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

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

zipCode

string

CEP. Requer o dispositivo [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 o dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] ou [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.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. Salvo indicação em contrário, 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 para o usuário para a rodada da conversa.

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 no final da rodada de conversas. Mais informações sobre o comando: https://developers.google.com/assistant/conversational/prompts

Tela

Representa uma resposta de tela interativa a ser enviada ao usuário. Ela pode ser usada em conjunto com o método "firstSimple" no prompt 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 interativa a ser carregado. Se ela não for definida, 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 a opção "substituir" no comando que contém é "false" Os valores de dados definidos neste comando do Canvas serão 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 canvas ocupa a tela cheia e não tem um cabeçalho na parte de cima. Uma mensagem de aviso também vai aparecer na tela de carregamento com o nome de exibição da ação, o nome do desenvolvedor e instruções para sair dela. Valor padrão: false

Comando

Representar 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 essas mensagens devem ser mescladas com mensagens definidas anteriormente. "falso" vai limpar todas as mensagens definidas anteriormente (a primeira e a última mensagem simples, conteúdo, link de sugestões e tela) e adicionar mensagens definidas nesse comando. "verdadeiro" vai adicionar mensagens definidas nesse comando às mensagens definidas nas respostas anteriores. Definir este campo como "true" também vai permitir a anexação em alguns campos nos comandos simples, de sugestão e de tela (parte do comando "Content"). As mensagens "Conteúdo" e "Link" sempre serão substituídas se forem definidas no comando. O valor padrão é "falso".

override

boolean

Opcional. Modo de como essas mensagens devem ser mescladas com mensagens definidas anteriormente. "verdadeiro" limpa todas as mensagens definidas anteriormente (a primeira e a última mensagem simples, conteúdo, link de sugestões e tela) e adiciona as mensagens definidas nesse comando. "falso" adiciona mensagens definidas neste comando a mensagens definidas nas respostas anteriores. Deixar esse campo como "false" também permite anexar alguns campos nos comandos Simples, Suggestions (Sugestões) e Canvas (parte do comando Content). As mensagens "Conteúdo" e "Link" sempre serão substituídas se forem definidas no comando. O valor padrão é "falso".

firstSimple

object (Simple)

Opcional. A primeira resposta somente de voz e de texto.

content

object (Content)

Opcional. Um conteúdo como um card, uma lista ou uma mídia para mostrar ao usuário.

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

Opcional. São sugestões a serem exibidas para o usuário e sempre aparecem no final da resposta. Se a opção "substituir" no comando que contém for "false", os títulos definidos nele serão adicionados àqueles definidos em qualquer solicitação de sugestão já definida, 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 comando 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 ao usuário. Pode ser SSML ou conversão de texto em voz. Se a opção "substituir" no comando que o contém for "true", a fala definida nele substitui a fala do comando simples anterior.

text

string

Texto opcional a ser exibido no balão do chat. Se não for informado, será usada uma renderização de exibição do campo de fala acima. Limitado a 640 caracteres. Se a opção "substituir" no comando que a contém é "true", o texto definido nele substitui 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 da tabela.

media

object (Media)

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

canvas
(deprecated)

object (Canvas)

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

collection

object (Collection)

Um card com várias opções para você selecionar.

list

object (List)

Um card com uma lista de opções para seleção.

Cartas

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

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

object (Image)

Uma imagem principal para o cartão. 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. 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 ou não). 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, e 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 imagem para afetar a apresentação da imagem. Isso deve ser usado quando a proporção da imagem não corresponder à do contêiner da imagem.

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 dela correspondam ou excedam as dimensões do contêiner. Isso poderá cortar as partes de cima e de baixo da imagem se a altura dimensionada for maior que a do contêiner ou cortar a esquerda e a direita da imagem se ela for maior que a largura do contêiner. É semelhante ao "Modo zoom" em uma TV widescreen ao reproduzir um vídeo 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 do URL, que pode ser qualquer um destes: URLs http/https para abrir um app vinculado a um 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 É um URL que leva diretamente ao conteúdo de AMP ou a um URL canônico que se refere ao conteúdo de AMP via .

Tabela

Um cartão 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 deverá 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 primeiras três linhas serão exibidas, mas outras poderão ser cortadas em determinadas superfícies. Teste com o simulador para ver 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.

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 texto do 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 é 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 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.

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.

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 esta 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 deve 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 controles 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. Ela é redimensionada para 36 x 36 dp.

Coleção

Um card para apresentar uma coleção de opções.

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 da imagem dos itens da coleção serão 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.

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

Diagnóstico

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

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

object (ExecutionEvent)

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

ExecutionEvent

Contém informações sobre o evento de execução que aconteceu durante o processamento da solicitação de conversa do Actions Builder. Para ter uma visão geral das etapas 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 em que o evento aconteceu.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", 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 da etapa de execução específica.

warningMessages[]

string

Lista de avisos gerados durante a execução deste evento. Os avisos são dicas para o desenvolvedor descobertos 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. Erros são reportados como código de status de falha, mas avisos podem estar presentes mesmo quando o status é OK.

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

object (UserConversationInput)

Evento de processamento 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 OnSceneEnter.

webhookRequest

object (WebhookRequest)

Evento de envio de solicitação de webhook.

webhookResponse

object (WebhookResponse)

Evento de recebimento de resposta do 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 slot.

slotValidated

object (SlotValidated)

Evento de validação de slot.

formFilled

object (FormFilled)

Evento de preenchimento de formulário.

waitingUserInput

object (WaitingForUserInput)

Espera o 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 da cena que está ativa no momento.

sessionStorage

object (Struct format)

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

slots

object (Slots)

Estado de preenchimento dos 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 doméstico: https://developers.google.com/assistant/conversational/storage-home

Slots

Representa o estado atual dos slots da cena.

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

enum (SlotFillingStatus)

O status atual do preenchimento do slot.

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 do slot.

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

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

value

value (Value format)

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

updated

boolean

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

prompt

object (Prompt)

Opcional. Esse comando é enviado ao usuário quando necessário para preencher um slot determinado. Esse comando substitui o atual 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 é obrigatório ou não.

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

SlotStatus

Representa o status de um slot.

Enums
SLOT_UNSPECIFIED Valor substituto quando o campo de uso não está preenchido.
EMPTY Indica que o slot não tem nenhum valor. Esse status não pode ser modificado por meio da resposta.
INVALID Indica que o valor do espaço é inválido. Esse status pode ser definido pela resposta.
FILLED Indica que o espaço tem um valor. Esse status não pode ser modificado por meio da 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 correspondência de intent acionada (global ou em uma cena): 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 essa 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 essa interação leva.

ConditionsEvaluated

Resultados da avaliação das condições: https://developers.google.com/assistant/conversational/garante que ela é a primeira etapa

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 que foi avaliada como "verdadeira", 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 gerenciador especificado no evento onSceneEnter.

WebhookRequest

Informações sobre uma solicitação enviada ao 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 pelo cenário de destino retornado do webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

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

string

ID da cena a que a transição está levando.

SlotMatch

Informações sobre os horários 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 pelo 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 horário solicitado: https://developers.google.com/assistant/conversational/scenes#slot_filling

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

string

Nome do horário solicitado.

prompt

object (Prompt)

Solicitação de slot.

SlotValidated

Evento que acontece depois que a validação do webhook é concluída para os horários: 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.