Method: projects.sendInteraction

Reproduce una ronda de la conversación.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
project

string

Obligatorio. El proyecto que se está probando, indicado por el ID del proyecto Formato: projects/{project}

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Campos
input

object (UserInput)

Obligatorio. Entrada proporcionada por el usuario.

deviceProperties

object (DeviceProperties)

Obligatorio. Son las propiedades del dispositivo que se usa para interactuar con la acción.

conversationToken

string

Token opaco que se debe pasar como se recibió de SendInteractionResponse en la interacción anterior. Esto se puede dejar sin configurar para comenzar una nueva conversación, ya sea como la primera interacción en una sesión de prueba o para abandonar una conversación anterior e iniciar una nueva.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Respuesta a una ronda de la conversación.

Representación JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Campos
output

object (Output)

El resultado se proporciona al usuario.

diagnostics

object (Diagnostics)

Información de diagnóstico que explica cómo se manejó la solicitud.

conversationToken

string

Se establecerá un token opaco en SendInteractionRequest en la próxima llamada RPC para continuar la misma conversación.

UserInput

Entrada del usuario proporcionada en una ronda de conversación.

Representación JSON
{
  "query": string,
  "type": enum (InputType)
}
Campos
query

string

Contenido de la entrada enviada por el usuario.

type

enum (InputType)

Tipo de la entrada.

InputType

Indica la fuente de entrada, la consulta escrita o la consulta por voz.

Enumeraciones
INPUT_TYPE_UNSPECIFIED Fuente de entrada no especificada.
TOUCH Consulta a partir de una interacción de la GUI.
VOICE Consulta por voz.
KEYBOARD Consulta escrita.
URL Un vínculo de URL activó la acción.

Propiedades del dispositivo

Propiedades del dispositivo relevantes para una ronda de conversación.

Representación JSON
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
Campos
surface

enum (Surface)

La superficie que se usa para interactuar con la acción.

location

object (Location)

Ubicación del dispositivo, como latitud, longitud y dirección con formato

locale

string

Configuración regional como se estableció en el dispositivo. El formato debe seguir el estándar BCP 47: https://tools.ietf.org/html/bcp47 Ejemplos: en, en-US, es-419 (más ejemplos en https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Zona horaria tal como se configuró en el dispositivo. El formato debe seguir la base de datos de zonas horarias de IANA, p.ej., "America/New_York": https://www.iana.org/time-zones

Superficie

Son las posibles plataformas que se usan para interactuar con la acción. Es posible que se incluyan valores adicionales en el futuro.

Enumeraciones
SURFACE_UNSPECIFIED Valor predeterminado Este valor no se usa.
SPEAKER Bocina (p. ej., Google Home)
PHONE Teléfono.
ALLO Chat de Allo.
SMART_DISPLAY pantalla inteligente.
KAI_OS KaiOS

Ubicación

Contenedor que representa una ubicación.

Representación JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Campos
coordinates

object (LatLng)

Coordenadas geográficas Requiere el dispositivo [DEVICE_PRECISE_LOCATION] el permiso [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Dirección visible, p.ej., “1600 Amphitheatre Pkwy, Mountain View, CA 94043”. Requiere el dispositivo [DEVICE_PRECISE_LOCATION] el permiso [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Código postal Requiere el dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] el permiso [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Ciudad. Requiere el dispositivo [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] el permiso [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de dobles para representar la latitud en grados y la longitud en grados. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.

Representación JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0].

longitude

number

La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0].

Salida

Es el resultado visible para el usuario en la ronda de conversaciones.

Representación JSON
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
Campos
text

string

Es la respuesta por voz que se envía al usuario como una cadena sin formato.

speech[]

string

Contenido de voz producido por la Acción. Esto puede incluir elementos de lenguaje de marcado, como SSML.

canvas

object (Canvas)

Contenido de Interactive Canvas

actionsBuilderPrompt

object (Prompt)

Estado de la consigna al final de la ronda de conversación. Más información sobre la instrucción: https://developers.google.com/assistant/conversational/prompts

Lienzo

Representa una respuesta de Interactive Canvas que se enviará al usuario. Esto se puede usar junto con el conjunto de registros “firstSimple” en la instrucción que lo contiene para hablarle al usuario, además de mostrar una respuesta de lienzo interactiva. El tamaño máximo de la respuesta es de 50,000 bytes.

Representación JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Campos
url

string

URL de la app web de lienzo interactivo que se cargará. Si no la estableces, se volverá a utilizar la URL del lienzo activo actual.

data[]

value (Value format)

Opcional. Los datos JSON que se pasarán a la página web de experiencia envolvente como un evento. Si el botón de "anular" en la instrucción que lo contiene es "falso" Los valores de datos definidos en este mensaje de Canvas se agregarán después de los valores de datos definidos en los mensajes de Canvas anteriores.

suppressMic

boolean

Opcional. Valor predeterminado: falso.

enableFullScreen

boolean

Si es true, la aplicación de lienzo ocupará toda la pantalla y no tendrá un encabezado en la parte superior. También se mostrará un mensaje de aviso en la pantalla de carga que incluye el nombre visible de la Acción, el nombre del desarrollador y las instrucciones para salir de ella. Valor predeterminado false.

Instrucción

Representa una respuesta para un usuario.

Representación 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 cómo se deben combinar estos mensajes con los mensajes definidos con anterioridad. "falso" Se borrarán todos los mensajes definidos previamente (el primer y el último simple, el contenido, los vínculos de sugerencias y el lienzo) y se agregarán los que se hayan definido en esta instrucción. “verdadero” agregará los mensajes definidos en esta instrucción a los mensajes definidos en respuestas anteriores. Configura este campo como “true” También permitirá agregar datos a algunos campos dentro de los mensajes simples, los mensajes de sugerencias y los mensajes de Canvas (parte de los mensajes de contenido). Los mensajes de contenido y vínculo siempre se reemplazarán si se definen en la instrucción. El valor predeterminado es "false".

override

boolean

Opcional. Modo de cómo se deben combinar estos mensajes con los mensajes definidos con anterioridad. “verdadero” borra todos los mensajes definidos previamente (primer y último simple, contenido, vínculo de sugerencias y lienzo) y agrega los mensajes definidos en esta instrucción. "falso" agrega los mensajes definidos en esta instrucción a los mensajes definidos en respuestas anteriores. Dejar este campo en “false” también permite agregar campos a algunos campos dentro de los mensajes simples, las sugerencias y el mensaje de Canvas (parte de la solicitud de contenido). Los mensajes de contenido y vínculo siempre se sobrescriben si se definen en la instrucción. El valor predeterminado es "false".

firstSimple

object (Simple)

Opcional. La primera respuesta de solo texto y voz.

content

object (Content)

Opcional. Es un contenido como una tarjeta, una lista o contenido multimedia que se le mostrará al usuario.

lastSimple

object (Simple)

Opcional. La última respuesta de solo texto y voz.

suggestions[]

object (Suggestion)

Opcional. Sugerencias para mostrarle al usuario que siempre aparecerán al final de la respuesta. Si el botón de "anular" en la instrucción que lo contiene es "false", los títulos definidos en este campo se agregarán a los títulos definidos en cualquier instrucción de sugerencia definida anteriormente y se quitarán los valores duplicados.

canvas

object (Canvas)

Opcional. Representa una respuesta de Interactive Canvas que se enviará al usuario.

Simple

Representa una instrucción simple que se enviará a un usuario.

Representación JSON
{
  "speech": string,
  "text": string
}
Campos
speech

string

Opcional. Representa la voz que se hablará al usuario. Puede ser SSML o texto a voz. Si el botón de "anular" en la instrucción que lo contiene es “verdadero”, la voz definida en este campo reemplaza la voz de la instrucción simple anterior.

text

string

Es el texto opcional que se mostrará en el cuadro de chat. Si no se proporciona, se usará una renderización de pantalla del campo de voz anterior. Tiene un límite de 640 caracteres. Si el botón de "anular" en la instrucción que la contiene es "true", el texto definido en este campo reemplaza al texto de la instrucción simple anterior.

Contenido

Contenido que se mostrará.

Representación 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ón content. Contenido. Las direcciones (content) solo pueden ser una de las siguientes opciones:
card

object (Card)

Una tarjeta básica.

image

object (Image)

Una imagen.

table

object (Table)

Tarjeta de tabla.

media

object (Media)

Respuesta que indica un conjunto de contenido multimedia para reproducir.

canvas
(deprecated)

object (Canvas)

Una respuesta que se usará para la experiencia de lienzo interactivo.

collection

object (Collection)

Una tarjeta en la que se presenta un conjunto de opciones para seleccionar.

list

object (List)

Una tarjeta en la que se presenta una lista de opciones para seleccionar.

Tarjeta

Una tarjeta básica para mostrar cierta información, p.ej., una imagen o texto.

Representación JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Campos
title

string

Título general de la tarjeta. Opcional.

subtitle

string

Opcional.

text

string

Texto del cuerpo de la tarjeta Admite un conjunto limitado de sintaxis de Markdown para el formato. Obligatorio, salvo que haya una imagen.

image

object (Image)

Una imagen principal de la tarjeta. La altura se fija en 192 dp. Opcional.

imageFill

enum (ImageFill)

Cómo se rellenará el fondo de la imagen. Opcional.

button

object (Link)

Botón. Opcional.

Imagen

Se muestra una imagen en la tarjeta.

Representación JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Campos
url

string

Es la URL de origen de la imagen. Las imágenes pueden ser JPG, PNG y GIF (animadas y no animadas). Por ejemplo,https://www.agentx.com/logo.png. Obligatorio.

alt

string

Una descripción de texto de la imagen que se usará con fines de accesibilidad, p.ej., lectores de pantalla. Obligatorio.

height

integer

La altura de la imagen en píxeles. Opcional.

width

integer

El ancho de la imagen en píxeles. Opcional.

ImageFill

Es posible que las opciones de visualización de imágenes afecten su presentación. Se debe usar cuando la relación de aspecto de la imagen no coincide con la del contenedor de la imagen.

Enumeraciones
UNSPECIFIED Relleno de imagen no especificado.
GRAY Rellena los espacios entre la imagen y el contenedor de imágenes con barras grises.
WHITE Rellena los espacios entre la imagen y el contenedor de imágenes con barras blancas.
CROPPED La imagen se ajusta de modo que su ancho y alto coincidan o superen las dimensiones del contenedor. Esto puede recortar la parte superior e inferior de la imagen si la altura de la imagen ajustada es mayor que la altura del contenedor, o bien recortar la parte izquierda y derecha de la imagen si el ancho es mayor que el ancho del contenedor. Esto es similar al "modo de zoom" en una TV de pantalla panorámica cuando se reproduce un video 4:3.

OpenUrl

Acción que se realiza cuando un usuario abre un vínculo.

Representación JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Campos
url

string

El campo de URL puede ser cualquiera de los siguientes: - URLs HTTP/HTTPS para abrir una aplicación vinculada a la aplicación o una página web

hint

enum (UrlHint)

Indica una sugerencia para el tipo de URL.

UrlHint

Diferentes tipos de sugerencias de URL.

Enumeraciones
AMP URL que dirige directamente al contenido de AMP o a una URL canónica que hace referencia al contenido de AMP mediante .

Tabla

Una tarjeta para mostrar una tabla de texto.

Representación JSON
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
Campos
title

string

Título general de la tabla. Opcional, pero se debe establecer si se configuran los subtítulos.

subtitle

string

Subtítulo de la tabla. Opcional.

image

object (Image)

Imagen asociada con la tabla. Opcional.

columns[]

object (TableColumn)

Encabezados y alineación de columnas.

rows[]

object (TableRow)

Datos de las filas de la tabla. Se garantiza que se mostrarán las primeras 3 filas, pero es posible que otras se corten en ciertas superficies. Realiza una prueba con el simulador para ver qué filas se mostrarán en una superficie determinada. En las plataformas compatibles con la función WEB_BROWSER, puedes dirigir al usuario a una página web con más datos.

button

object (Link)

Botón.

TableColumn

Describe una columna en una tabla.

Representación JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Campos
header

string

Texto del encabezado de la columna.

align

enum (HorizontalAlignment)

Alineación horizontal de la columna de contenido w.r.t. Si no se especifica, el contenido se alineará con el borde inicial.

HorizontalAlignment

Es la alineación del contenido dentro de la celda.

Enumeraciones
UNSPECIFIED Alineación horizontal no especificada.
LEADING Borde inicial de la celda. Esta es la opción predeterminada.
CENTER El contenido se alinea con el centro de la columna.
TRAILING El contenido se alinea con el borde final de la columna.

Fila de la tabla

Describe una fila en la tabla.

Representación JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Campos
cells[]

object (TableCell)

Celdas de esta fila. Se garantiza que se mostrarán las primeras 3 celdas, pero es posible que otras estén cortadas en ciertas superficies. Prueba con el simulador para ver qué celdas se mostrarán en una superficie determinada.

divider

boolean

Indica si debe haber un divisor después de cada fila.

TableCell

Describe una celda en una fila.

Representación JSON
{
  "text": string
}
Campos
text

string

Contenido de texto de la celda.

Medios

Representa un objeto multimedia. Contiene información sobre el contenido multimedia, como el nombre, la descripción, la URL, etcétera.

Representación JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
Campos
mediaType

enum (MediaType)

Tipo de medio.

startOffset

string (Duration format)

Desplazamiento inicial del primer objeto multimedia.

Es una duración en segundos con hasta nueve dígitos decimales que termina en "s". Ejemplo: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Tipos opcionales de control multimedia que admite esta sesión de respuesta multimedia. Si la estableces, se realizará la solicitud a 3p cuando ocurra un evento multimedia determinado. Si no la estableces, 3p debe seguir controlando dos tipos de control predeterminados: FINISHED y FAILED.

mediaObjects[]

object (MediaObject)

Lista de objetos multimedia

MediaType

Tipo de medio de esta respuesta.

Enumeraciones
MEDIA_TYPE_UNSPECIFIED Tipo de medio no especificado.
AUDIO Archivo de audio.
MEDIA_STATUS_ACK Respuesta para confirmar un informe de estado de contenido multimedia.

OptionalMediaControls

Tipos opcionales de control multimedia que puede admitir la respuesta multimedia

Enumeraciones
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Valor sin especificar
PAUSED Evento en pausa. Se activa cuando el usuario pausa el contenido multimedia.
STOPPED Se detuvo el evento. Se activa cuando el usuario sale de una sesión de terceros durante la reproducción de contenido multimedia.

MediaObject

Representa un objeto multimedia único

Representación JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Campos
name

string

Es el nombre de este objeto multimedia.

description

string

Descripción de este objeto multimedia.

url

string

Es la URL que dirige al contenido multimedia.

image

object (MediaImage)

Imagen para mostrar con la tarjeta multimedia.

MediaImage

Imagen para mostrar con la tarjeta multimedia.

Representación 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ón image. Imagen. Las direcciones (image) solo pueden ser una de las siguientes opciones:
large

object (Image)

Una imagen grande, como la portada del álbum, etcétera

icon

object (Image)

Un ícono de imagen pequeño que aparece a la derecha del título Se cambió a 36 x 36 dp.

Colección

Una tarjeta para presentar un conjunto de opciones para seleccionar.

Representación JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Campos
title

string

Es el título de la colección. Opcional.

subtitle

string

Subtítulo de la colección. Opcional.

items[]

object (CollectionItem)

mín.: 2 máx.: 10

imageFill

enum (ImageFill)

Cómo se rellenarán los fondos de imagen de los elementos de la colección Opcional.

CollectionItem

Un elemento de la colección

Representación JSON
{
  "key": string
}
Campos
key

string

Obligatorio. La clave CLN que coincide con el nombre de la clave de entrada en el tipo asociado

Lista

Una tarjeta para presentar una lista de opciones que se pueden seleccionar.

Representación JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Campos
title

string

Es el título de la lista. Opcional.

subtitle

string

Subtítulo de la lista. Opcional.

items[]

object (ListItem)

mín.: 2 máx.: 30

ListItem

Un elemento de la lista

Representación JSON
{
  "key": string
}
Campos
key

string

Obligatorio. La clave CLN que coincide con el nombre de la clave de entrada en el tipo asociado

Sugerencia

Sugerencia de entrada para presentar al usuario.

Representación JSON
{
  "title": string
}
Campos
title

string

Obligatorio. Es el texto que se muestra en el chip de sugerencias. Cuando se presiona, este texto se vuelve a publicar en la conversación tal como si el usuario lo hubiera escrito. Cada título debe ser único en el conjunto de chips de sugerencias. Máx. 25 caracteres

Diagnóstico

Información de diagnóstico relacionada con la ronda de conversaciones.

Representación JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Campos
actionsBuilderEvents[]

object (ExecutionEvent)

Lista de eventos con detalles sobre el procesamiento de la ronda de conversaciones a lo largo de las etapas del modelo de interacción de Actions Builder. Se propaga para el compilador de acciones y Solo para apps del SDK de Actions.

ExecutionEvent

Contiene información sobre el evento de ejecución que ocurrió durante el procesamiento de la solicitud de conversación de Actions Builder. Para obtener una descripción general de las etapas involucradas en una solicitud de conversación, consulta https://developers.google.com/assistant/conversational/actions.

Representación 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)

Marca de tiempo del momento en que ocurrió el evento.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

Estado de la ejecución durante este evento.

status

object (Status)

Estado resultante de un paso de ejecución específico.

warningMessages[]

string

Lista de advertencias generadas durante la ejecución de este evento. Las advertencias son sugerencias que el desarrollador descubre durante la solicitud de conversación. Por lo general, no son fundamentales y no detienen la ejecución de la solicitud. Por ejemplo, se pueden generar advertencias cuando un webhook intenta anular un tipo personalizado que no existe. Los errores se informan como un código de estado con errores, pero las advertencias pueden aparecer incluso cuando el estado es OK.

Campo de unión EventData. Información detallada específica de los diferentes eventos que pueden estar involucrados en el procesamiento de una ronda de conversación. El campo establecido aquí define el tipo de este evento. Las direcciones (EventData) solo pueden ser una de las siguientes opciones:
userInput

object (UserConversationInput)

Evento de control de entradas del usuario.

intentMatch

object (IntentMatch)

Evento de coincidencia de intent.

conditionsEvaluated

object (ConditionsEvaluated)

Evento de evaluación de la condición.

onSceneEnter

object (OnSceneEnter)

Evento de ejecución OnSceneEnter.

webhookRequest

object (WebhookRequest)

Evento de envío de solicitud de webhook.

webhookResponse

object (WebhookResponse)

Evento de recepción de respuesta de webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Evento de transición iniciado por webhook.

slotMatch

object (SlotMatch)

Evento de coincidencia de ranuras.

slotRequested

object (SlotRequested)

Espacio que solicita el evento.

slotValidated

object (SlotValidated)

Evento de validación de ranuras.

formFilled

object (FormFilled)

Evento de llenado de formularios.

waitingUserInput

object (WaitingForUserInput)

Evento de espera del usuario-input

endConversation

object (EndConversation)

Evento de fin de conversación.

ExecutionState

Estado actual de la ejecución.

Representación JSON
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
Campos
currentSceneId

string

ID de la escena que está activa en ese momento.

sessionStorage

object (Struct format)

Estado del almacenamiento de la sesión: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Estado del relleno de ranuras, si corresponde: https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Cola de mensajes: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Estado del almacenamiento del usuario: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Estado del almacenamiento en la casa: https://developers.google.com/assistant/conversational/storage-home

Ranuras

Representa el estado actual de las ranuras de una escena.

Representación JSON
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
Campos
status

enum (SlotFillingStatus)

El estado actual del llenado de ranuras.

slots

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

Son las ranuras asociadas con la escena actual.

Es un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotFillingStatus

Representa el estado actual del llenado de ranuras.

Enumeraciones
UNSPECIFIED Valor de resguardo cuando no se propaga el campo de uso.
INITIALIZED Se inicializaron las ranuras, pero no comenzó el llenado.
COLLECTING Se están recopilando los valores de ranuras.
FINAL Todos los valores de ranura son definitivos y no se pueden cambiar.

Ranura

Representa una ranura.

Representación JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Campos
mode

enum (SlotMode)

Es el modo de la ranura (opcional o obligatorio). El desarrollador puede configurarla.

status

enum (SlotStatus)

Es el estado del espacio.

value

value (Value format)

Es el valor de la ranura. Si cambias este valor en la respuesta, se modificará el valor en el relleno de espacios.

updated

boolean

Indica si el valor de la ranura se recopiló en el último giro. Este campo es de solo lectura.

prompt

object (Prompt)

Opcional. Este mensaje se envía al usuario cuando es necesario para completar un espacio requerido. Esta instrucción anula la existente definida en la consola. Este campo no está incluido en la solicitud de webhook.

SlotMode

Representa el modo de una ranura, es decir, si es necesario o no.

Enumeraciones
MODE_UNSPECIFIED Valor de resguardo cuando no se propaga el campo de uso.
OPTIONAL Indica que no se requiere la ranura para completar el llenado de ranuras.
REQUIRED Indica que se requiere la ranura para completar el llenado de ranuras.

SlotStatus

Representa el estado de una ranura.

Enumeraciones
SLOT_UNSPECIFIED Valor de resguardo cuando no se propaga el campo de uso.
EMPTY Indica que la ranura no tiene ningún valor. No se puede modificar este estado a través de la respuesta.
INVALID Indica que el valor del espacio no es válido. Este estado se puede establecer a través de la respuesta.
FILLED Indica que el espacio tiene un valor. No se puede modificar este estado a través de la respuesta.

Estado

El tipo de Status define un modelo de error lógico que es adecuado para entornos de programación diferentes, incluidas las API de REST y las API de RPC. Lo usa gRPC. Cada mensaje Status contiene tres datos: código de error, mensaje de error y detalles del error.

Puedes obtener más información sobre este modelo de error y cómo trabajar con él en la guía de diseño de API.

Representación JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

El código de estado, que debe ser un valor enum de google.rpc.Code.

message

string

Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo google.rpc.Status.details; o el cliente debe localizarlo.

details[]

object

Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

Información relacionada con la entrada del usuario.

Representación JSON
{
  "type": string,
  "originalQuery": string
}
Campos
type

string

Es el tipo de entrada del usuario. P.ej., teclado, voz, táctil, etc.

originalQuery

string

Entrada de texto original del usuario.

IntentMatch

Información sobre la coincidencia de intents activada (global o dentro de una escena): https://developers.google.com/assistant/conversational/intents

Representación JSON
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Campos
intentId

string

Es el ID de intent que activó esta interacción.

intentParameters

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

Son los parámetros de la intención que activaron esta interacción.

Es un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

handler

string

Nombre del controlador adjunto a esta interacción.

nextSceneId

string

Escena a la que conduce esta interacción.

ConditionsEvaluated

Evaluación de los resultados de las condiciones: https://developers.google.com/assistant/conversational/scenes#conditions

Representación JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Campos
failedConditions[]

object (Condition)

Lista de condiciones que se evaluaron como "falsas".

successCondition

object (Condition)

Primera condición que se evaluó como "verdadera", si hubiera alguna.

Condición

Condición evaluada.

Representación JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Campos
expression

string

Expresión especificada en esta condición.

handler

string

Se especificó el nombre del controlador en la condición evaluada.

nextSceneId

string

Escena de destino especificada en la condición evaluada.

OnSceneEnter

Información sobre la ejecución de la etapa onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

Representación JSON
{
  "handler": string
}
Campos
handler

string

Se especificó el nombre del controlador en el evento onSceneEnter.

WebhookRequest

Información sobre una solicitud enviada al webhook de acción: https://developers.google.com/assistant/conversational/webhooks#payloads

Representación JSON
{
  "requestJson": string
}
Campos
requestJson

string

La carga útil de la solicitud de webhook.

WebhookResponse

Información sobre una respuesta recibida del webhook de acción: https://developers.google.com/assistant/conversational/webhooks#payloads

Representación JSON
{
  "responseJson": string
}
Campos
responseJson

string

La carga útil de la respuesta de webhook.

WebhookInitiatedTransition

Evento activado por la escena de destino que muestra el webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

Representación JSON
{
  "nextSceneId": string
}
Campos
nextSceneId

string

ID de la escena a la que dirige la transición.

SlotMatch

Información sobre los espacios coincidentes: https://developers.google.com/assistant/conversational/scenes#slot_filling

Representación JSON
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
Campos
nluParameters

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

Parámetros extraídos por CLN de la entrada del usuario.

Es un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotRequested

Información sobre el espacio solicitado actualmente: https://developers.google.com/assistant/conversational/scenes#slot_filling

Representación JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Campos
slot

string

Es el nombre del espacio solicitado.

prompt

object (Prompt)

Mensaje de ranura.

SlotValidated

Evento que ocurre después de que finaliza la validación del webhook para los espacios disponibles: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Evento que sucede cuando se completa el formulario por completo: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Evento que ocurre cuando el sistema necesita la entrada del usuario: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Evento que informa que finalizó la conversación con el agente.