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. Propiedades del dispositivo que se usa para interactuar con la Acción.

conversationToken

string

Token opaco que se debe pasar tal como se recibió de SendInteractionResponse en la interacción anterior. Esta opción se puede dejar sin configurar para iniciar una conversación nueva, ya sea como la primera interacción de una sesión de prueba o para abandonar una conversación anterior y comenzar 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 conversación.

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

object (Output)

Resultado proporcionado al usuario.

diagnostics

object (Diagnostics)

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

conversationToken

string

Token opaco que se establecerá en SendInteractionRequest en la próxima llamada RPC para continuar con 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)

Es el tipo de entrada.

InputType

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

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

DeviceProperties

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 establecida en el dispositivo El formato debe seguir BCP 47: https://tools.ietf.org/html/bcp47. Ejemplos: en, en-US o es-419 (más ejemplos en https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Es la zona horaria establecida en el dispositivo. El formato debe seguir la base de datos de zonas horarias de la IANA, p. ej., “America/New_York”: https://www.iana.org/time-zones.

Superficie

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

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

Location

Es un 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 permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

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

zipCode

string

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

city

string

Ciudad. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [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

Salida visible para el usuario de la ronda de conversación.

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

string

La respuesta hablada 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 instrucción 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. Se puede usar junto con el campo "firstSimple" en la instrucción contenedora para hablar con el 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 usar la URL del lienzo activo actual.

data[]

value (Value format)

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

suppressMic

boolean

Opcional. Valor predeterminado: falso.

enableFullScreen

boolean

Si es true, la aplicación de lienzo ocupa la pantalla completa y no tendrá un encabezado en la parte superior. También se mostrará un aviso en la pantalla de carga que incluirá 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 a 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 mensajes definidos previamente. "false" borrará todos los mensajes definidos previamente (primer y último simple, contenido, vínculo de sugerencias y lienzo) y agregará mensajes definidos en esta instrucción. Si eliges "verdadero", se agregarán los mensajes definidos en esta instrucción a los mensajes definidos en respuestas anteriores. Configurar este campo como verdadero también permitirá agregar algunos campos en los mensajes simples, los mensajes de sugerencias y los de Canvas (parte de los mensajes de contenido). Los mensajes de contenido y de vínculos 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 mensajes definidos previamente. "true" borra todos los mensajes definidos previamente (primer y último mensaje simple, contenido, vínculo de sugerencias y lienzo) y agrega mensajes definidos en esta instrucción. Con "false" se agregan los mensajes definidos en esta instrucción a los mensajes definidos en las respuestas anteriores. Si dejas este campo en "false", también se podrá agregar a algunos campos dentro de los mensajes simples, al mensaje de sugerencias y al mensaje de Canvas (parte del mensaje de contenido). Los mensajes de contenido y de vínculo siempre se reemplazan si se definen en la solicitud. El valor predeterminado es "false".

firstSimple

object (Simple)

Opcional. La primera respuesta de voz y solo de texto.

content

object (Content)

Opcional. Es un contenido, como una tarjeta, una lista o un contenido multimedia, para mostrarle al usuario.

lastSimple

object (Simple)

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

suggestions[]

object (Suggestion)

Opcional. Sugerencias que se mostrarán al usuario y que siempre aparecerán al final de la respuesta. Si el campo "override" del mensaje que lo contiene es "false", los títulos definidos en este campo se agregarán a los títulos definidos en las sugerencias definidas 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 un mensaje simple que se enviará a un usuario.

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

string

Opcional. Representa la voz que se dirá al usuario. Puede ser SSML o texto a voz. Si el campo "override" en el mensaje que lo contiene es "verdadero", la voz definida en este campo reemplaza la voz del mensaje simple anterior.

text

string

Texto opcional para mostrar en el cuadro de chat. Si no se proporciona, se usará una renderización de la pantalla del campo de voz anterior. Tiene un límite de 640 caracteres. Si el campo "override" del mensaje que lo contiene es "true", el texto definido en este campo se reemplazará con el texto del mensaje 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 que se reproducirá.

canvas
(deprecated)

object (Canvas)

Una respuesta que se utilizará para la experiencia interactiva de lienzo.

collection

object (Collection)

Una tarjeta que presenta un conjunto de opciones para seleccionar.

list

object (List)

Una tarjeta que presenta una lista de opciones para seleccionar.

Tarjeta

Una tarjeta básica para mostrar 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 formatear. Obligatorio, a menos 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

Una imagen que se muestra 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

Es una descripción de texto de la imagen que se usará para mejorar la 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

Posibles opciones de visualización de imágenes para afectar la presentación de la imagen. Se debe usar cuando la relación de aspecto de la imagen no coincide con la del contenedor de la imagen.

Enumeradores
UNSPECIFIED Relleno de la imagen no especificado.
GRAY Llena los espacios entre la imagen y el contenedor de imágenes con barras grises.
WHITE Llena los espacios entre la imagen y el contenedor de imágenes con barras blancas.
CROPPED La imagen se ajusta de modo que el ancho y la altura de la imagen coincidan o superen las dimensiones del contenedor. Con esta acción, se puede recortar la parte superior y la 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 de la imagen ajustada es mayor que el ancho del contenedor. Esto es similar al "Modo 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, que puede ser cualquiera de las siguientes opciones: - URLs http/https para abrir una aplicación o una página web vinculadas a la aplicación

hint

enum (UrlHint)

Indica una sugerencia para el tipo de URL.

UrlHint

Diferentes tipos de sugerencias de URL.

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

Tabla

Una tarjeta de tabla 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

Es el título general de la tabla. Opcional, pero se debe establecer si se establecen 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)

Son los datos de la fila de la tabla. Se garantiza que se mostrarán las primeras 3 filas, pero es posible que otras se corten en ciertas superficies. Realiza pruebas con el simulador para ver qué filas se mostrarán en una superficie determinada. En las plataformas que admiten 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

Es el texto del encabezado de la columna.

align

enum (HorizontalAlignment)

Alineación horizontal de la columna de WRT de contenido Si no se especifica, el contenido se alineará con el extremo inicial.

HorizontalAlignment

La alineación del contenido dentro de la celda

Enumeradores
UNSPECIFIED Alineación horizontal sin especificar.
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.

TableRow

Describe una fila de la tabla.

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

object (TableCell)

Celdas en esta fila. Se garantiza que se mostrarán las primeras 3 celdas, pero es posible que otras se corten en ciertas superficies. Realiza una 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 fraccionarios que termina en "s". Ejemplo: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Tipos de controles multimedia opcionales que puede admitir esta sesión de respuesta multimedia. Si se configura, la solicitud se hará a las 3p cuando se produzca un determinado evento multimedia. Si no se configura, 3p todavía debe manejar dos tipos de control predeterminados: FINISHED y FAILED.

mediaObjects[]

object (MediaObject)

Lista de objetos multimedia

MediaType

Es el tipo de medio de esta respuesta.

Enumeradores
MEDIA_TYPE_UNSPECIFIED No se especificó el tipo de medio.
AUDIO Archivo de audio.
MEDIA_STATUS_ACK Respuesta para confirmar un informe de estado de medios.

OptionalMediaControls

Tipos de controles multimedia opcionales que puede admitir la respuesta multimedia

Enumeradores
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Valor sin especificar
PAUSED Se pausó el evento. Se activa cuando el usuario pausa el contenido multimedia.
STOPPED Evento detenido Se activa cuando el usuario sale de la sesión de terceros durante la reproducción de contenido multimedia.

MediaObject

Representa un solo objeto multimedia

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

string

Es el nombre de este objeto multimedia.

description

string

Es la descripción de este objeto multimedia.

url

string

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.

icon

object (Image)

Un ícono de imagen pequeña que aparece a la derecha del título. Se cambió el tamaño 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 las imágenes 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 de CLN que coincide con el nombre de la clave de entrada en el Type asociado.

Ir a la lista

Una tarjeta para presentar una lista de opciones para 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 de CLN que coincide con el nombre de la clave de entrada en el Type asociado.

Sugerencia

Sugerencia de entrada que se presentará al usuario.

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

string

Obligatorio. El texto que se muestra en el chip de sugerencias. Cuando se presiona, este texto se publica en la conversación textualmente como si el usuario lo hubiera escrito. Cada título debe ser único en el conjunto de chips de sugerencias. 25 caracteres máx.

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 en todas las etapas del modelo de interacción de Actions Builder. Se propaga solo para apps de Actions Builder y 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)

La marca de tiempo del momento en que ocurrió el evento.

Una marca de tiempo en formato RFC3339 UTC "Zulú", con 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, estas no son críticas y no detienen la ejecución de la solicitud. Por ejemplo, se pueden generar advertencias cuando el webhook intenta anular un tipo personalizado que no existe. Los errores se informan como un código de estado con errores, pero pueden aparecer advertencias incluso cuando el estado es OK.

Campo de unión EventData. Información detallada específica de diferentes eventos que pueden estar involucrados en el procesamiento de una ronda de conversación. El campo configurado 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 entrada del usuario

intentMatch

object (IntentMatch)

Evento coincidente de intent.

conditionsEvaluated

object (ConditionsEvaluated)

Evento de evaluación de la condición.

onSceneEnter

object (OnSceneEnter)

OnSceneEnter de ejecución.

webhookRequest

object (WebhookRequest)

Evento de envío de solicitud de webhook.

webhookResponse

object (WebhookResponse)

Evento de recibo de respuesta de webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Evento de transición iniciado por webhook.

slotMatch

object (SlotMatch)

Evento de coincidencia de ranura.

slotRequested

object (SlotRequested)

Evento de solicitud de ranura.

slotValidated

object (SlotValidated)

Evento de validación de ranuras.

formFilled

object (FormFilled)

Evento de llenado de formulario.

waitingUserInput

object (WaitingForUserInput)

Evento de espera de entrada del usuario.

endConversation

object (EndConversation)

Evento de fin de conversación

ExecutionState

Es el 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 actualmente.

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 de la casa: https://developers.google.com/assistant/conversational/storage-home

Ranuras

Representa el estado actual de las ranuras de la escena.

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

enum (SlotFillingStatus)

Es el estado actual del relleno de espacios.

slots

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

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 relleno de espacios.

Enumeradores
UNSPECIFIED Valor de resguardo cuando no se propaga el campo de uso.
INITIALIZED Se inicializaron las ranuras, pero no se inició el llenado de ranuras.
COLLECTING Se están recopilando los valores de ranura.
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)

El modo del espacio (obligatorio u opcional) El desarrollador puede establecerlo.

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 del relleno de espacios.

updated

boolean

Indica si el valor de 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 llenar un espacio requerido. Este mensaje anula el existente definido en la consola. Este campo no se incluye en la solicitud de webhook.

SlotMode

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

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

SlotStatus

Representa el estado de una ranura.

Enumeradores
SLOT_UNSPECIFIED Valor de resguardo cuando no se propaga el campo de uso.
EMPTY Indica que la ranura no tiene ningún valor. Este estado no se puede modificar a través de la respuesta.
INVALID Indica que el valor de ranura no es válido. Este estado se puede establecer en la respuesta.
FILLED Indica que la ranura tiene un valor. Este estado no se puede modificar 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 las entradas 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étera.

originalQuery

string

Entrada de texto original del usuario.

IntentMatch

Información sobre la coincidencia de intent 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 del intent que activó esta interacción.

intentParameters

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

Son los parámetros del intent que activó 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

Resultados de la evaluación 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 “false”.

successCondition

object (Condition)

La primera condición que se evaluó como “true”, si corresponde.

Condición

Condición evaluada.

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

string

La expresión especificada en esta condición.

handler

string

Nombre de controlador especificado en la condición evaluada.

nextSceneId

string

Escena de destino especificada en 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

Nombre de controlador especificado en el evento onSceneEnter.

WebhookRequest

Información sobre una solicitud que se envió al webhook de acciones: https://developers.google.com/assistant/conversational/webhooks#payloads

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

string

Carga útil de la solicitud de webhook.

WebhookResponse

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

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

string

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 conduce la transición.

SlotMatch

Información sobre los espacios que coinciden: 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

Nombre del espacio solicitado.

prompt

object (Prompt)

Mensaje de ranura.

SlotValidated

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

FormFilled

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

WaitingForUserInput

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

EndConversation

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