Files

Wrapper para una lista de archivos.

Representación JSON
{

  // Union field file_type can be only one of the following:
  "configFiles": {
    object (ConfigFiles)
  },
  "dataFiles": {
    object (DataFiles)
  }
  // End of list of possible types for union field file_type.
}
Campos
Campo de unión file_type. Solo se puede enviar un tipo de archivo a la vez al servidor, archivos de configuración o archivos de datos. Las direcciones (file_type) solo pueden ser una de las siguientes opciones:
configFiles

object (ConfigFiles)

Lista de archivos de configuración. Esto incluye paquetes de recursos del modelo de interacción, manifiestos, parámetros de configuración y mucho más.

dataFiles

object (DataFiles)

Lista de archivos de datos. Esto incluye imagen, archivo de audio y código fuente de Cloud Function.

ConfigFiles

Wrapper para archivos de configuración repetidos. Los campos repetidos no pueden existir en un elemento.

Representación JSON
{
  "configFiles": [
    {
      object (ConfigFile)
    }
  ]
}
Campos
configFiles[]

object (ConfigFile)

Varios archivos de configuración

ConfigFile

Representa un archivo único que contiene datos estructurados. Los desarrolladores pueden definir la mayor parte de su proyecto con una configuración estructurada que incluya Acciones, Configuración y Entrega.

Representación JSON
{
  "filePath": string,

  // Union field file can be only one of the following:
  "manifest": {
    object (Manifest)
  },
  "actions": {
    object (Actions)
  },
  "settings": {
    object (Settings)
  },
  "webhook": {
    object (Webhook)
  },
  "intent": {
    object (Intent)
  },
  "type": {
    object (Type)
  },
  "entitySet": {
    object (EntitySet)
  },
  "globalIntentEvent": {
    object (GlobalIntentEvent)
  },
  "scene": {
    object (Scene)
  },
  "staticPrompt": {
    object (StaticPrompt)
  },
  "accountLinkingSecret": {
    object (AccountLinkingSecret)
  },
  "resourceBundle": {
    object
  }
  // End of list of possible types for union field file.
}
Campos
filePath

string

Ruta de acceso relativa del archivo de configuración de la raíz del proyecto en la estructura de archivos del SDK. Cada uno de los siguientes tipos de archivos tiene una ruta de archivo permitida. P. ej.: settings/settings.yaml

Campo de unión file. Cada tipo de archivo de configuración debe tener un campo correspondiente en el archivo. Las direcciones (file) solo pueden ser una de las siguientes opciones:
manifest

object (Manifest)

Archivo de manifiesto único. Ruta de archivo permitida: manifest.yaml

actions

object (Actions)

Un archivo de acciones únicas con todas las acciones definidas. Rutas de acceso de archivo permitidas: actions/{language}?/actions.yaml

settings

object (Settings)

Una configuración única que incluye parámetros no localizables y ajustes para la configuración regional predeterminada del proyecto (si se especifica). Para un archivo de anulación de configuración regional, solo se propagará el campo localizedSettings. Rutas de acceso de archivos permitidas: settings/{language}?/settings.yaml Ten en cuenta que el archivo de configuración no localizado settings/settings.yaml debe estar presente en las solicitudes de flujo de escritura.

webhook

object (Webhook)

Definición de webhook única. Ruta de archivo permitida: webhooks/{WebhookName}.yaml

intent

object (Intent)

Definición de intent único. Rutas de acceso de archivo permitidas: custom/intents/{language}?/{IntentName}.yaml

type

object (Type)

Definición de tipo único. Rutas de acceso de archivo permitidas: custom/types/{language}?/{TypeName}.yaml

entitySet

object (EntitySet)

Definición de conjunto de entidades única. Rutas de acceso de archivo permitidas: custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object (GlobalIntentEvent)

Definición de evento de intent global única. Rutas de acceso de archivos permitidas: custom/global/{GlobalIntentEventName}.yaml El nombre del archivo (GlobalIntentEventName) debe ser el nombre del intent al que corresponde este evento de intent global.

scene

object (Scene)

Definición de escena única. Rutas de acceso de archivo permitidas: custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

Definición de instrucción estática única. Rutas de acceso de archivo permitidas: custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object (AccountLinkingSecret)

Metadatos correspondientes al secreto del cliente que se usó en la vinculación de cuentas. Ruta de archivo permitida: settings/accountLinkingSecret.yaml

resourceBundle

object (Struct format)

Paquete de recursos único, que es un mapa de una string a una string o lista de strings. Se podrían usar paquetes de recursos para localizar cadenas en instrucciones estáticas. Rutas de acceso de archivo permitidas: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

Manifest

Contiene información “transportable”, es decir, no específica de ningún proyecto determinado y se puede mover entre proyectos.

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

string

Es la versión del formato del archivo. La versión actual del formato de archivo es 1.0. Ejemplo: “1.0”.

Acciones

Representa la lista de acciones definidas en un proyecto.

Representación JSON
{
  "custom": {
    string: {
      object (CustomAction)
    },
    ...
  }
}
Campos
custom

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

Asignar de intents a acciones personalizadas para configurar la invocación del proyecto Los intents de invocación pueden ser intents del sistema o personalizados definidos en el paquete "custom/intents/". Todos los intents definidos aquí (intents del sistema y personalizados) deben tener un archivo de intent correspondiente en el paquete "custom/global/".

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

CustomAction

Son los detalles relacionados con una acción personalizada.

Representación JSON
{
  "engagement": {
    object (Engagement)
  }
}
Campos
engagement

object (Engagement)

Mecanismos de participación asociados con la acción para ayudar a los usuarios finales a suscribirse a notificaciones push y actualizaciones diarias Ten en cuenta que el nombre del intent especificado en la configuración de la ranura para notificaciones push o actualizaciones diarias debe coincidir con el intent correspondiente a esta acción para que los usuarios finales se suscriban a estas actualizaciones.

Participación

Define los mecanismos de participación asociados con esta acción. Esto permite que los usuarios finales se suscriban a las notificaciones push y las actualizaciones diarias.

Representación JSON
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
Campos
title

string

El título del compromiso que se enviará a los usuarios finales para solicitar su permiso para recibir actualizaciones El mensaje que se envíe a los usuarios finales para obtener actualizaciones diarias será similar a: "¿A qué hora deseas que te envíe tus {title}" diarios y para las notificaciones push se verá como "¿Estás de acuerdo si te envío notificaciones push sobre {title}". Este campo se puede localizar.

pushNotification

object (PushNotification)

Es la configuración de notificaciones push que admite esta participación.

dailyUpdate

object (DailyUpdate)

La configuración de actualización diaria que admite esta participación.

PushNotification

Define la configuración de notificaciones push que admite esta participación.

DailyUpdate

Define la configuración de actualización diaria que admite esta participación.

Configuración

Representa la configuración de un proyecto de acciones que no es específica de la configuración regional. Etiqueta siguiente: 22

Representación JSON
{
  "projectId": string,
  "defaultLocale": string,
  "enabledRegions": [
    string
  ],
  "disabledRegions": [
    string
  ],
  "category": enum (Category),
  "usesTransactionsApi": boolean,
  "usesDigitalPurchaseApi": boolean,
  "usesInteractiveCanvas": boolean,
  "usesHomeStorage": boolean,
  "designedForFamily": boolean,
  "containsAlcoholOrTobaccoContent": boolean,
  "keepsMicOpen": boolean,
  "surfaceRequirements": {
    object (SurfaceRequirements)
  },
  "testingInstructions": string,
  "localizedSettings": {
    object (LocalizedSettings)
  },
  "accountLinking": {
    object (AccountLinking)
  },
  "selectedAndroidApps": [
    string
  ]
}
Campos
projectId

string

ID del proyecto de acciones.

defaultLocale

string

Configuración regional predeterminada para el proyecto. Para todos los archivos, excepto en resources/ sin configuración regional en la ruta, los datos localizados se atribuyen a este defaultLocale. Para los archivos de resources/, sin configuración regional significa que el recurso se puede aplicar a todas las configuraciones regionales.

enabledRegions[]

string

Representa las regiones en las que los usuarios pueden invocar tus acciones, que se basan en la ubicación de presencia del usuario. No se puede establecer si se estableció disabledRegions. Si no se especifican enabledRegions y disabledRegions, los usuarios podrán invocar tus acciones en todas las regiones. Cada región se representa mediante el nombre canónico de las segmentaciones geográficas de AdWords. Consulta https://developers.google.com/adwords/api/docs/appendix/geotargeting. Estos son algunos ejemplos: "Alemania" - "Ghana" - "Grecia" - "Granada" - "Reino Unido" - "Estados Unidos" - "Islas Ultramarinas Menores de los Estados Unidos" - "Uruguay".

disabledRegions[]

string

Representa las regiones en las que se bloquean tus acciones, según la ubicación de presencia del usuario. No se puede establecer si se estableció enabledRegions. Cada región se representa mediante el nombre canónico de las segmentaciones geográficas de AdWords. Consulta https://developers.google.com/adwords/api/docs/appendix/geotargeting. Estos son algunos ejemplos: "Alemania" - "Ghana" - "Grecia" - "Granada" - "Reino Unido" - "Estados Unidos" - "Islas Ultramarinas Menores de los Estados Unidos" - "Uruguay".

category

enum (Category)

La categoría de este proyecto de Acciones.

usesTransactionsApi

boolean

Indica si las Acciones pueden usar transacciones (por ejemplo, hacer reservas, tomar pedidos, etcétera). Si es falso, los intentos de usar las APIs de Transactions fallan.

usesDigitalPurchaseApi

boolean

Indica si las Acciones pueden realizar transacciones de artículos digitales.

usesInteractiveCanvas

boolean

Indica si las acciones usan Interactive Canvas.

usesHomeStorage

boolean

Indica si las Acciones usan la función de almacenamiento de la casa.

designedForFamily

boolean

Si el contenido de Acciones está diseñado para familias (DFF)

containsAlcoholOrTobaccoContent

boolean

Si las acciones incluyen contenido relacionado con alcohol o tabaco.

keepsMicOpen

boolean

Indica si Actions puede dejar el micrófono abierto sin un mensaje explícito durante la conversación.

surfaceRequirements

object (SurfaceRequirements)

Los requisitos de superficie que debe admitir una plataforma de cliente para invocar acciones en este proyecto.

testingInstructions

string

Instrucciones de prueba de formato libre para el revisor de Acciones (por ejemplo, instrucciones de vinculación de cuentas)

localizedSettings

object (LocalizedSettings)

La configuración localizada para la configuración regional predeterminada del proyecto. Cada configuración regional adicional debe tener su propio archivo de configuración en su propio directorio.

accountLinking

object (AccountLinking)

Permite que los usuarios creen o vinculen cuentas a través del Acceso con Google o de tu propio servicio de OAuth.

selectedAndroidApps[]

string

Apps para Android seleccionadas para acceder a compras en Google Play para transacciones. Esta es una selección de las apps para Android conectadas al proyecto de acciones para verificar la propiedad de la marca y habilitar funciones adicionales. Para obtener más información, consulta https://developers.google.com/assistant/console/brand-verification.

Categoría

Las opciones de categoría para un proyecto de Acciones.

Enumeradores
CATEGORY_UNSPECIFIED Desconocido o sin especificar.
BUSINESS_AND_FINANCE categoría Negocios y Finanzas.
EDUCATION_AND_REFERENCE Educación y referencias.
FOOD_AND_DRINK Categoría de comida y bebida.
GAMES_AND_TRIVIA Juegos y preguntas y respuestas.
HEALTH_AND_FITNESS Categoría de salud y bienestar.
KIDS_AND_FAMILY categoría Niños y Familia.
LIFESTYLE Categoría de estilo de vida.
LOCAL Categoría local.
MOVIES_AND_TV Categoría Películas y TV.
MUSIC_AND_AUDIO Categoría de música y audio.
NEWS categoría de noticias,
NOVELTY_AND_HUMOR Categoría Novedad y humor.
PRODUCTIVITY Categoría de productividad.
SHOPPING Categoría de compras.
SOCIAL Categoría social.
SPORTS Categoría de deportes.
TRAVEL_AND_TRANSPORTATION Categoría Viajes y transporte.
UTILITIES Categoría de utilidades
WEATHER Categoría del clima.
HOME_CONTROL Categoría de control de la casa.

SurfaceRequirements

Contiene un conjunto de requisitos que la plataforma del cliente debe admitir para invocar acciones en tu proyecto.

Representación JSON
{
  "minimumRequirements": [
    {
      object (CapabilityRequirement)
    }
  ]
}
Campos
minimumRequirements[]

object (CapabilityRequirement)

El conjunto mínimo de capacidades necesarias para invocar las acciones en tu proyecto. Si falta alguno de estos elementos en la superficie, no se activará la acción.

CapabilityRequirement

Representa un requisito sobre la disponibilidad de una capacidad determinada.

Representación JSON
{
  "capability": enum (SurfaceCapability)
}
Campos
capability

enum (SurfaceCapability)

El tipo de capacidad.

SurfaceCapability

Posible conjunto de capacidades superficiales.

Enumeradores
SURFACE_CAPABILITY_UNSPECIFIED Desconocido o sin especificar.
AUDIO_OUTPUT Surface admite salida de audio.
SCREEN_OUTPUT La plataforma admite la salida visual o de pantalla.
MEDIA_RESPONSE_AUDIO La superficie admite audio de respuesta multimedia.
WEB_BROWSER Surface admite navegadores web.
ACCOUNT_LINKING La plataforma admite la vinculación de cuentas.
INTERACTIVE_CANVAS Surface es compatible con Interactive Canvas.
HOME_STORAGE Surface compatible con el almacenamiento en la casa.

LocalizedSettings

Representa la configuración de un proyecto de acciones que es específica de una configuración regional del usuario. En este caso, “usuario” se refiere al usuario final que invoca tus Acciones. Este mensaje se puede localizar.

Representación JSON
{
  "displayName": string,
  "pronunciation": string,
  "shortDescription": string,
  "fullDescription": string,
  "smallLogoImage": string,
  "largeBannerImage": string,
  "developerName": string,
  "developerEmail": string,
  "termsOfServiceUrl": string,
  "voice": string,
  "voiceLocale": string,
  "privacyPolicyUrl": string,
  "sampleInvocations": [
    string
  ],
  "themeCustomization": {
    object (ThemeCustomization)
  }
}
Campos
displayName

string

Obligatorio. El nombre visible predeterminado de este proyecto de Acciones (si no hay ninguna traducción disponible)

pronunciation

string

Obligatorio. La pronunciación del nombre visible para invocarlo en un contexto de voz (oral).

shortDescription

string

Obligatorio. Es la descripción breve predeterminada del proyecto Acciones (si no hay ninguna traducción disponible). Límite de 80 caracteres.

fullDescription

string

Obligatorio. Es la descripción larga predeterminada del proyecto de Acciones (si no hay ninguna traducción disponible). Límite de 4,000 caracteres.

smallLogoImage

string

Obligatorio. Imagen cuadrada pequeña de 192 × 192 px Esto se debe especificar como una referencia a la imagen correspondiente en el directorio resources/images/. Por ejemplo, $resources.images.foo (sin la extensión) para la imagen en resources/images/foo.jpg. Cuando se trabaja en un proyecto extraído de Console, se puede usar la URL extraída administrada por Google. No se permiten URLs de fuentes externas.

largeBannerImage

string

Opcional. Imagen horizontal grande de 1920 × 1080 px. Esto se debe especificar como una referencia a la imagen correspondiente en el directorio resources/images/. Por ejemplo, $resources.images.foo (sin la extensión) para la imagen en resources/images/foo.jpg. Cuando se trabaja en un proyecto extraído de Console, se puede usar la URL extraída administrada por Google. No se permiten URLs de fuentes externas.

developerName

string

Obligatorio. Es el nombre del desarrollador que se mostrará a los usuarios.

developerEmail

string

Obligatorio. Es la dirección de correo electrónico de contacto del desarrollador.

termsOfServiceUrl

string

Opcional. URL de las Condiciones del Servicio.

voice

string

Obligatorio. El tipo de voz de Asistente de Google que escuchan los usuarios cuando interactúan con tus acciones. Los valores admitidos son “male_1”, “male_2”, “female_1” y “female_2”.

voiceLocale

string

Opcional. La configuración regional de la voz especificada. Si no se especifica, se resuelve en la configuración regional del Asistente del usuario. Si se especifica, la configuración regional de voz debe tener el mismo idioma raíz que la configuración regional especificada en LocalizedSettings.

privacyPolicyUrl

string

Obligatorio. La URL de la política de privacidad.

sampleInvocations[]

string

Opcional. Ejemplos de frases de invocación que aparecen como parte de la descripción de tu proyecto de acciones en el directorio del Asistente. Esto ayudará a los usuarios a aprender a usarlo.

themeCustomization

object (ThemeCustomization)

Opcional. Personalizaciones de temas para componentes visuales de tus acciones.

ThemeCustomization

Estilos aplicados a las tarjetas que se presentan a los usuarios

Representación JSON
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
Campos
backgroundColor

string

El color de fondo de las tarjetas Funciona como un resguardo si background_image no es proporcionado por desarrolladores o si background_image no es adecuado para ciertas plataformas. Ejemplo de uso: #FAFAFA

primaryColor

string

El color del tema principal de la Acción se usará para establecer el color del texto del título y el color de fondo de los elementos de acción para las tarjetas de Actions on Google. Ejemplo de uso: #FAFAFA

fontFamily

string

La familia de fuentes que se usará para los títulos de las tarjetas. Fuentes compatibles: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif negro - Sans Serif condensada - Sans Serif condensada mediana - Serif - Serif negrita - Monospace - Cursiva - Sans Serif Smallcaps

imageCornerStyle

enum (ImageCornerStyle)

Estilo del borde de la imagen de las tarjetas en primer plano Por ejemplo, se pueden aplicar en la imagen en primer plano de una tarjeta básica o de carrusel.

landscapeBackgroundImage

string

Modo horizontal (mínimo 1920 x 1200 píxeles) Esto se debe especificar como una referencia a la imagen correspondiente en el directorio resources/images/. P. ej.: $resources.images.foo (sin la extensión) para la imagen en resources/images/foo.jpg Cuando trabajas en un proyecto extraído de la consola, se puede usar la URL administrada por Google que se extrae.

portraitBackgroundImage

string

Modo retrato (mínimo 1200 x 1920 píxeles) Esto se debe especificar como una referencia a la imagen correspondiente en el directorio resources/images/. P. ej.: $resources.images.foo (sin la extensión) para la imagen en resources/images/foo.jpg Cuando trabajas en un proyecto extraído de la consola, se puede usar la URL administrada por Google que se extrae.

ImageCornerStyle

Describe cómo se deben representar los bordes de las imágenes.

Enumeradores
IMAGE_CORNER_STYLE_UNSPECIFIED Sin definir / Sin especificar.
CURVED Esquina redonda para la imagen.
ANGLED Esquina rectangular para la imagen.

AccountLinking

AccountLinking permite que Google guíe al usuario para que acceda a los servicios web de la app.

Para los tipos de vinculación de Acceso con Google y OAuth + Acceso con Google, Google genera un ID de cliente que identifica tu app ante Google ("ID de cliente emitido por Google para tus Acciones" en la IU de Console). Este campo es de solo lectura y se puede verificar en la página de vinculación de cuentas de la IU de la consola. Consulta: https://developers.google.com/assistant/identity/google-sign-in

Nota: En todos los tipos de parámetros de configuración de vinculación de cuentas (excepto para el Acceso con Google), debes proporcionar un nombre de usuario y una contraseña para una cuenta de prueba en Settings.testing_instructions para que el equipo de revisión revise la app (los usuarios no podrán verlos).

Representación JSON
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
Campos
enableAccountCreation

boolean

Obligatorio. Si true, los usuarios pueden registrarse para obtener cuentas nuevas mediante la voz. Si el valor es false, solo se permite crear cuentas en tu sitio web. Selecciona esta opción si deseas mostrar las condiciones del servicio u obtener el consentimiento de los usuarios durante el registro. LinkingType no puede ser GOOGLE_SIGN_IN cuando este valor es false. LinkingType no puede ser OAUTH cuando es true.

linkingType

enum (LinkingType)

Obligatorio. El tipo de vinculación que se usará. Consulta https://developers.google.com/assistant/identity para obtener más detalles sobre los tipos de vinculación.

authGrantType

enum (AuthGrantType)

Opcional. Indica el tipo de autenticación para el LinkingType de OAUTH.

appClientId

string

Opcional. ID de cliente emitido por tu aplicación a Google. Este es el ID de cliente de OAuth2 que identifica a Google con tu servicio. Solo se establece cuando se usa OAuth.

authorizationUrl

string

Opcional. Extremo para tu página web de acceso que admite código OAuth2 o flujos implícitos. La URL debe usar HTTPS. Solo se establece cuando se usa OAuth.

tokenUrl

string

Opcional. Extremo de OAuth2 para el intercambio de tokens. La URL debe usar HTTPS. Esto no se establece cuando solo se usa OAuth con el otorgamiento de IMPLICIT como tipo de vinculación. Solo se establece cuando se usa OAuth.

scopes[]

string

Opcional. Lista de permisos que el usuario debe otorgar para poder usar tu servicio. Solo se establece cuando se usa OAuth. Si especificas este campo, asegúrate de incluir Condiciones del Servicio en la información del directorio en la sección LocalizedSettings.terms_of_service_url.

learnMoreUrl

string

Opcional. Esta es la página web de tu servicio, donde se describen los permisos que el usuario le otorga a Google. Solo se establece si se usa OAuth y el Acceso con Google. Si especificas este campo, asegúrate de incluir Condiciones del Servicio en la información del directorio en la sección LocalizedSettings.terms_of_service_url.

useBasicAuthHeader

boolean

Opcional. Si es verdadero, permite que Google transmita el ID y el secreto de cliente a través del encabezado de autenticación básica HTTP. De lo contrario, Google utiliza el secreto y el ID de cliente dentro del cuerpo de la publicación. Solo se establece cuando se usa OAuth. Si especificas este campo, asegúrate de incluir Condiciones del Servicio en la información del directorio en la sección LocalizedSettings.terms_of_service_url.

LinkingType

El tipo de vinculación de cuentas que se realizará.

Enumeradores
LINKING_TYPE_UNSPECIFIED No se especifica.
GOOGLE_SIGN_IN Tipo de vinculación de Acceso con Google. Si utilizas este tipo de vinculación, no es necesario configurar campos relacionados con OAuth a continuación.
OAUTH_AND_GOOGLE_SIGN_IN Tipo de vinculación de OAuth y Acceso con Google.
OAUTH Tipo de vinculación de OAuth.

AuthGrantType

El tipo de otorgamiento de OAuth2 que usa Google para guiar al usuario a fin de que acceda al servicio web de tu app.

Enumeradores
AUTH_GRANT_TYPE_UNSPECIFIED No se especifica.
AUTH_CODE Otorgamiento de código de autorización Requiere que proporciones la URL de autenticación y la URL del token de acceso.
IMPLICIT Otorgamiento de código implícito Solo requiere que proporciones una URL de autenticación.

Webhook

Metadatos para diferentes tipos de webhooks. Si usas inlineCloudFunction, tu código fuente debe estar en un directorio con el mismo nombre que el valor de la clave executeFunction. Por ejemplo, un valor de my_webhook para la clave executeFunction tendría una estructura de código como la siguiente: - /webhooks/my_webhook.yaml - /webhooks/my_webhook/index.js - /webhooks/my_webhook/package.json

Representación JSON
{
  "handlers": [
    {
      object (Handler)
    }
  ],

  // Union field webhook_type can be only one of the following:
  "httpsEndpoint": {
    object (HttpsEndpoint)
  },
  "inlineCloudFunction": {
    object (InlineCloudFunction)
  }
  // End of list of possible types for union field webhook_type.
}
Campos
handlers[]

object (Handler)

Lista de controladores para este webhook.

Campo de unión webhook_type. Solo se admite un tipo de webhook. Las direcciones (webhook_type) solo pueden ser una de las siguientes opciones:
httpsEndpoint

object (HttpsEndpoint)

Extremo HTTPS de webhook personalizado.

inlineCloudFunction

object (InlineCloudFunction)

Metadatos de la Cloud Function implementado desde el código en la carpeta de webhooks.

Handler

Declara el nombre del controlador de webhoook. Un webhook puede tener varios controladores registrados. Se puede llamar a estos controladores desde varios lugares en tu proyecto de acciones.

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

string

Obligatorio. Nombre del controlador. Debe ser único en todos los controladores del proyecto de Acciones. Puedes verificar el nombre de este controlador para invocar la función correcta en el código fuente de tu entrega.

HttpsEndpoint

Extremo de REST para notificar si no estás usando el editor directo.

Representación JSON
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
Campos
baseUrl

string

La URL base HTTPS para tu extremo de entrega (HTTP no es compatible). Los nombres de los controladores se agregan a la ruta de la URL base después de dos puntos (según la guía de estilo que se indica en https://cloud.google.com/apis/design/custom_methods). Por ejemplo, una URL base “https://gactions.service.com/api” recibiría solicitudes con la URL “https://gactions.service.com/api:{method}”.

httpHeaders

map (key: string, value: string)

Mapa de los parámetros HTTP que se incluirán en la solicitud POST.

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

endpointApiVersion

integer

Versión del protocolo que usa el extremo. Este es el protocolo que comparten todos los tipos de entrega y no es específico para el de Google.

InlineCloudFunction

Contiene los metadatos de una Cloud Function intercalada implementada desde la carpeta de webhooks.

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

string

El nombre del punto de entrada de la Cloud Function. El valor de este campo debe coincidir con el nombre del método exportado del código fuente.

Intent

Los intents asignan entradas del usuario abiertas a objetos estructurados. Las frases habladas se asocian a intents con comprensión del lenguaje natural (CLN) de Google. Las coincidencias de intents pueden activar eventos en el diseño de tu conversación para avanzar en la conversación del usuario. El nombre del intent se especifica en el nombre del archivo.

Representación JSON
{
  "parameters": [
    {
      object (IntentParameter)
    }
  ],
  "trainingPhrases": [
    string
  ]
}
Campos
parameters[]

object (IntentParameter)

Es la lista de parámetros dentro de las frases de entrenamiento. Todos los parámetros se deben definir aquí para usarse en la frase de entrenamiento.

trainingPhrases[]

string

Las frases de entrenamiento permiten que la CLN de Google haga coincidir automáticamente los intents con las entradas del usuario. Cuantas más frases únicas se proporcionen, más probabilidades habrá de que haya coincidencias con este intent. A continuación, se muestra el formato de la parte de la frase de entrenamiento que está anotada. Ten en cuenta que el campo auto es opcional y el comportamiento predeterminado cuando no se especifica auto es equivalente a auto=false. ($<paramName> '<sample text>' auto=<true or false>) auto = true significa que la CLN anotó la parte automáticamente. auto = false significa que el usuario anotó la parte. Esta es la configuración predeterminada cuando no se especifica auto. Ejemplo: "Reservar un vuelo desde ($source 'San Francisco' auto=false) hasta ($dest 'Vancouver')"

IntentParameter

Definición de un parámetro que se puede usar dentro de las frases de entrenamiento.

Representación JSON
{
  "name": string,

  // Union field parameter_type can be only one of the following:
  "type": {
    object (ClassReference)
  },
  "entitySetReferences": {
    object (EntitySetReferences)
  }
  // End of list of possible types for union field parameter_type.
}
Campos
name

string

Obligatorio. El nombre único del parámetro del intent. Se puede usar en condiciones y respuestas para hacer referencia a los parámetros del intent extraídos por la CLN con $intent.params.[name].resolved.

Campo de unión parameter_type. Es el tipo del parámetro del intent. Las direcciones (parameter_type) solo pueden ser una de las siguientes opciones:
type

object (ClassReference)

Opcional. Declara el tipo de datos de este parámetro. No se debe configurar para intents integrados.

entitySetReferences

object (EntitySetReferences)

Opcional. Referencias a los conjuntos de entidades permitidas para este parámetro de intent. Solo es válido para los parámetros de un intent integrado. Estas referencias apuntan a conjuntos de entidades en el directorio “custom/entitySets”.

ClassReference

Es una referencia a una clase que se usa para declarar el tipo de un campo o valor de retorno. Las enumeraciones también son un tipo de clase al que se puede hacer referencia con ClassReference.

Representación JSON
{
  "name": string,
  "list": boolean
}
Campos
name

string

Obligatorio. Es el nombre de un tipo integrado o personalizado del parámetro. Ejemplos: PizzaToppings, actions.type.Number

list

boolean

Opcional. Indica si el tipo de datos representa una lista de valores.

EntitySetReferences

Referencias de conjuntos de entidades para un parámetro de intent.

Representación JSON
{
  "entitySetReferences": [
    {
      object (EntitySetReference)
    }
  ]
}
Campos
entitySetReferences[]

object (EntitySetReference)

Obligatorio. Referencias de conjuntos de entidades para un parámetro de intent.

EntitySetReference

Una referencia al conjunto de entidades permitidas para este parámetro del intent.

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

string

Obligatorio. Identifica el conjunto específico de entidades que se considerarán para un parámetro determinado. La definición de conjunto de entidades correspondiente debe estar presente en el directorio custom/entitySets/.

Tipo

Es la declaración de un tipo personalizado, en lugar de los tipos integrados. Los tipos pueden asignarse a ranuras en una escena o parámetros de las frases de entrenamiento de un intent. En la práctica, los tipos se pueden considerar como enumeraciones. Nota: El nombre del tipo se especifica en el nombre del archivo.

Representación JSON
{
  "exclusions": [
    string
  ],

  // Union field sub_type can be only one of the following:
  "synonym": {
    object (SynonymType)
  },
  "regularExpression": {
    object (RegularExpressionType)
  },
  "freeText": {
    object (FreeTextType)
  }
  // End of list of possible types for union field sub_type.
}
Campos
exclusions[]

string

Conjunto de palabras o frases excepcionales que no deben coincidir por tipo. Nota: Si la palabra o frase coincide con el tipo, pero aparece como exclusión, no se mostrará en el resultado de la extracción de parámetros. Este campo se puede localizar.

Campo de unión sub_type. Selección de subtipo según el tipo de coincidencia que se debe realizar. Las direcciones (sub_type) solo pueden ser una de las siguientes opciones:
synonym

object (SynonymType)

Tipo de sinónimos, que es básicamente una enumeración.

regularExpression

object (RegularExpressionType)

Tipo regex, permite la coincidencia de expresiones regulares.

freeText

object (FreeTextType)

Tipo FreeText.

SynonymType

Escribe que coincide con el texto por conjunto de sinónimos.

Representación JSON
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
Campos
matchType

enum (MatchType)

Opcional. El tipo de concordancia para el sinónimo.

acceptUnknownValues

boolean

Opcional. Cuando se configura como verdadero, coincidirá con palabras o frases desconocidas según los datos de entrenamiento de intents y entradas circundantes, como artículos que podrían agregarse a una lista de compras.

entities

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

Obligatorio. Mapa con nombre de entidades de sinónimos.

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

MatchType

El tipo de coincidencia que usarán las entradas de este tipo. Esto garantizará que todos los tipos usen el mismo método de coincidencia y permitirá variaciones en la coincidencia de sinónimos (es decir, parcial o exacta). Si el valor es UNSPECIFIED, el valor predeterminado será EXACT_MATCH.

Enumeradores
UNSPECIFIED La configuración predeterminada es EXACT_MATCH.
EXACT_MATCH Busca una coincidencia exacta del sinónimo o nombre.
FUZZY_MATCH Más baja que EXACT_MATCH. Busca coincidencias exactas y similares.

Entidad

Representa un campo de entidad de sinónimo que contiene los detalles de una sola entrada dentro del tipo.

Representación JSON
{
  "display": {
    object (EntityDisplay)
  },
  "synonyms": [
    string
  ]
}
Campos
display

object (EntityDisplay)

Opcional. La entidad muestra los detalles.

synonyms[]

string

Opcional. La lista de sinónimos para la entidad. Este campo se puede localizar.

EntityDisplay

Elementos que se mostrarán en el lienzo una vez que se extraiga la entidad de un tipo en particular de una consulta. Solo es relevante para apps habilitadas de Canvas. Este mensaje se puede localizar.

Representación JSON
{
  "iconTitle": string,
  "iconUrl": string
}
Campos
iconTitle

string

Opcional. Es el título del ícono.

iconUrl

string

Obligatorio. URL del ícono.

RegularExpressionType

Escribe que coincide con el texto por expresiones regulares. Este mensaje se puede localizar.

Representación JSON
{
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
Campos
entities

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

Obligatorio. Mapa con nombre de entidades que contienen cadenas Regex.

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

Entidad

Representa un objeto de entidad que contiene la expresión regular que se usa para la comparación.

Representación JSON
{
  "display": {
    object (EntityDisplay)
  },
  "regularExpressions": [
    string
  ]
}
Campos
display

object (EntityDisplay)

Opcional. Elementos que se mostrarán en el lienzo una vez que se extraiga una entidad de una consulta. Solo es relevante para apps habilitadas de Canvas.

regularExpressions[]

string

Obligatorio. Usa la sintaxis de regex RE2 (consulta https://github.com/google/re2/wiki/Syntax para obtener más detalles).

FreeTextType

Escribe que coincide con cualquier texto si el contexto de las palabras circundantes está cerca de los ejemplos de entrenamiento proporcionados.

Representación JSON
{
  "display": {
    object (EntityDisplay)
  }
}
Campos
display

object (EntityDisplay)

Opcional. Elementos que se mostrarán en el lienzo una vez que se extraiga una entidad de una consulta. Solo es relevante para apps habilitadas de Canvas.

EntitySet

Los conjuntos de entidades describen el conjunto predefinido de entidades del que pueden provenir los valores de los parámetros de intents integrados. Se puede hacer referencia a los conjuntos de entidades desde instanceSet en parámetros de intents integrados.

Representación JSON
{
  "entities": [
    {
      object (Entity)
    }
  ]
}
Campos
entities[]

object (Entity)

Obligatorio. La lista de entidades que admite este conjunto de entidades.

Entidad

Una entidad de la que puede provenir un valor de parámetro de intent integrado.

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

string

Obligatorio. Es el ID de la entidad. Para obtener una lista de los parámetros de intent integrados y sus entidades compatibles, consulta https://developers.google.com/assistant/conversational/build/built-in-intents.

GlobalIntentEvent

Define un controlador de intent global. Los eventos de intents globales tienen alcance en todo el proyecto de Actions y pueden ser anulados por los controladores de intents en una escena. Los nombres de intents deben ser únicos dentro de un proyecto de Acciones.

Los intents globales pueden coincidir en cualquier momento durante una sesión, lo que permite a los usuarios acceder a flujos comunes, como “obtener ayuda” o “regresar a la página principal”. También se pueden usar para establecer un vínculo directo con los usuarios en flujos específicos cuando invocan una acción.

Ten en cuenta que el nombre del intent se especifica en el nombre del archivo.

Representación JSON
{
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Campos
transitionToScene

string

Opcional. Escena de destino a la que se debe saltar la conversación. El estado de la escena actual se destruye en la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando se detecta una coincidencia con el intent. Debe ejecutarse antes de realizar la transición a la escena de destino. Es útil para generar instrucciones en respuesta a eventos.

EventHandler

Define un controlador que se ejecutará después de un evento. Algunos ejemplos de eventos son los eventos basados en intención y condiciones en una escena.

Representación JSON
{
  "webhookHandler": string,

  // Union field prompt can be only one of the following:
  "staticPrompt": {
    object (StaticPrompt)
  },
  "staticPromptName": string
  // End of list of possible types for union field prompt.
}
Campos
webhookHandler

string

Nombre del controlador de webhook que se llamará.

Campo de unión prompt. Los mensajes se pueden intercalar o se puede hacer referencia a ellos por nombre. Las direcciones (prompt) solo pueden ser una de las siguientes opciones:
staticPrompt

object (StaticPrompt)

Mensaje estático intercalado. Puede contener referencias a recursos de cadenas en paquetes.

staticPromptName

string

Nombre del mensaje estático que se invocará.

StaticPrompt

Representa una lista de mensajes candidatos, uno de los cuales se seleccionará como mensaje que se mostrará en la respuesta al usuario. Este mensaje se puede localizar.

Representación JSON
{
  "candidates": [
    {
      object (StaticPromptCandidate)
    }
  ]
}
Campos
candidates[]

object (StaticPromptCandidate)

La lista de solicitudes candidatas que se enviarán al cliente. Cada instrucción tiene un selector para determinar cuándo se puede usar. Se enviará el primer selector que coincida con una solicitud y se ignorará el resto.

StaticPromptCandidate

Representa un candidato a un mensaje estático.

Representación JSON
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
Campos
selector

object (Selector)

Opcional. Los criterios para determinar si este mensaje coincide con una solicitud. Si el selector está vacío, este mensaje siempre se activará.

promptResponse

object (StaticPromptResponse)

La respuesta a la solicitud asociada con el selector.

Selector

Define los criterios para determinar si un mensaje coincide con una solicitud.

Representación JSON
{
  "surfaceCapabilities": {
    object (SurfaceCapabilities)
  }
}
Campos
surfaceCapabilities

object (SurfaceCapabilities)

El conjunto de capacidades de superficie requeridas.

SurfaceCapabilities

Representa la plataforma que usa el usuario para realizar una solicitud a la acción.

Representación JSON
{
  "capabilities": [
    enum (Capability)
  ]
}
Campos
capabilities[]

enum (Capability)

Obligatorio. Las capacidades de la superficie que realiza una solicitud a la Acción.

Capacidades

Son las capacidades que admite la plataforma del dispositivo en el momento de la solicitud.

Enumeradores
UNSPECIFIED Capacidad de superficie no especificada.
SPEECH El dispositivo puede hablarle al usuario mediante texto a voz o SSML.
RICH_RESPONSE El dispositivo puede mostrar respuestas enriquecidas, como tarjetas, listas y tablas.
LONG_FORM_AUDIO El dispositivo puede reproducir contenido multimedia de audio de formato largo, como música y podcasts.
INTERACTIVE_CANVAS El dispositivo puede mostrar una respuesta de lienzo interactivo.
HOME_STORAGE El dispositivo puede admitir guardar y recuperar almacenamiento de la casa.

StaticPromptResponse

Representa respuestas estructuradas que se enviarán al usuario, como texto, voz, tarjetas, datos de lienzo, chips de sugerencias, etcétera.

Representación JSON
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
Campos
firstSimple

object (StaticSimplePrompt)

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

content

object (StaticContentPrompt)

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

lastSimple

object (StaticSimplePrompt)

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 append de la instrucción que lo contiene es true, los títulos definidos en este campo se agregarán a los títulos definidos en cualquier solicitud de sugerencia definida con anterioridad y se quitarán los valores duplicados.

override

boolean

Opcional. Modo de cómo se deben combinar estos mensajes con mensajes definidos previamente. true borrará todos los mensajes definidos previamente (primer y último simple, contenido, vínculo de sugerencias y lienzo) y agregará los mensajes definidos en esta instrucción. false agregará los mensajes definidos en esta instrucción a los mensajes definidos en las respuestas anteriores. Establecer este campo en false también permitirá agregar campos en los mensajes simples, los mensajes Sugerencias y Canvas (parte de la solicitud 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.

canvas

object (StaticCanvasPrompt)

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

StaticSimplePrompt

Representa un mensaje simple que se enviará a un usuario.

Representación JSON
{
  "variants": [
    {
      object (Variant)
    }
  ]
}
Campos
variants[]

object (Variant)

Lista de posibles variantes.

Variant

Representa una variante que forma parte de un mensaje simple.

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. De forma predeterminada, la voz se agregará a la voz del mensaje simple anterior. Si el campo override del mensaje que lo contiene es true, la voz definida en este campo anulará la del mensaje simple anterior.

text

string

Opcional. Texto que se 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. De forma predeterminada, el texto se agregará al texto del mensaje simple anterior. Si el campo override del mensaje que lo contiene es true, el texto definido en este campo anulará el texto del mensaje simple anterior.

StaticContentPrompt

Es un marcador de posición para la parte Content de un StaticPrompt.

Representación JSON
{

  // Union field content can be only one of the following:
  "card": {
    object (StaticCardPrompt)
  },
  "image": {
    object (StaticImagePrompt)
  },
  "table": {
    object (StaticTablePrompt)
  },
  "media": {
    object (StaticMediaPrompt)
  },
  "list": {
    object (StaticListPrompt)
  },
  "collection": {
    object (StaticCollectionPrompt)
  },
  "collectionBrowse": {
    object (StaticCollectionBrowsePrompt)
  }
  // End of list of possible types for union field content.
}
Campos
Campo de unión content. Solo puede haber un tipo de contenido en una instrucción. Las direcciones (content) solo pueden ser una de las siguientes opciones:
card

object (StaticCardPrompt)

Una tarjeta básica.

image

object (StaticImagePrompt)

Una imagen.

table

object (StaticTablePrompt)

Tarjeta de tabla

media

object (StaticMediaPrompt)

Respuesta que indica un conjunto de contenido multimedia que se reproducirá.

list

object (StaticListPrompt)

Una tarjeta para presentar una lista de opciones para seleccionar.

collection

object (StaticCollectionPrompt)

Una tarjeta que presenta una lista de opciones para seleccionar.

collectionBrowse

object (StaticCollectionBrowsePrompt)

Una tarjeta que presenta una colección de páginas web para abrir.

StaticCardPrompt

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 (StaticImagePrompt)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (StaticLinkPrompt)
  }
}
Campos
title

string

Opcional. Título general de la tarjeta.

subtitle

string

Opcional. Subtítulo de la tarjeta.

text

string

Obligatorio. Texto del cuerpo de la tarjeta que es necesario, a menos que se incluya una imagen. Admite un conjunto limitado de sintaxis de Markdown para formatear.

image

object (StaticImagePrompt)

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

imageFill

enum (ImageFill)

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

button

object (StaticLinkPrompt)

Opcional. Un botón en el que se puede hacer clic para que se muestre en la tarjeta

StaticImagePrompt

Una imagen que se muestra en la tarjeta.

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

string

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

alt

string

Obligatorio. Es una descripción de texto de la imagen que se usará para mejorar la accesibilidad, p.ej., lectores de pantalla.

height

integer

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

width

integer

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

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 ImageFill sin especificar.
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.

StaticLinkPrompt

Define un vínculo que se mostrará como un chip de sugerencias y que el usuario puede abrir.

Representación JSON
{
  "name": string,
  "open": {
    object (OpenUrl)
  }
}
Campos
name

string

Nombre del vínculo

open

object (OpenUrl)

Define el comportamiento cuando el usuario abre el vínculo.

OpenUrl

Define el comportamiento cuando el usuario abre el 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
HINT_UNSPECIFIED Sin especificar
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 <link rel="amphtml">.

StaticTablePrompt

Una tarjeta de tabla para mostrar una tabla de texto.

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

string

Opcional. Es el título general de la tabla. Debe establecerse si se configuró un subtítulo.

subtitle

string

Opcional. Subtítulo de la tabla.

image

object (StaticImagePrompt)

Opcional. Imagen asociada con la tabla.

columns[]

object (TableColumn)

Opcional. Encabezados y alineación de columnas.

rows[]

object (TableRow)

Opcional. 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 (StaticLinkPrompt)

Opcional. Botón.

TableColumn

Describe una columna de la 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 HorizontalAlignment 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.

StaticMediaPrompt

Contiene información sobre el contenido multimedia, como el nombre, la descripción, la URL, etc. ID siguiente: 11

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

enum (MediaType)

Es el tipo de medio de esta respuesta.

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.

repeatMode

enum (RepeatMode)

Modo de repetición para la lista de objetos multimedia

MediaType

Es el tipo de medio de esta respuesta.

Enumeradores
MEDIA_TYPE_UNSPECIFIED Valor UNSPECIFIED
AUDIO Archivo de audio.
MEDIA_STATUS_ACK Respuesta para confirmar un informe de estado de medios.

OptionalMediaControls

Tipos de controles multimedia que la respuesta multimedia puede admitir de forma opcional

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 que se mostrará en un MediaPrompt.

Representación JSON
{

  // Union field image can be only one of the following:
  "large": {
    object (StaticImagePrompt)
  },
  "icon": {
    object (StaticImagePrompt)
  }
  // End of list of possible types for union field image.
}
Campos
Campo de unión image. Solo se permite un tipo de MediaImage. Las direcciones (image) solo pueden ser una de las siguientes opciones:
large

object (StaticImagePrompt)

Una imagen grande, como la portada del álbum, etc.

icon

object (StaticImagePrompt)

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

RepeatMode

Son los tipos de modo de repetición para una lista de objetos multimedia.

Enumeradores
REPEAT_MODE_UNSPECIFIED Equivale a OFF.
OFF Finaliza la sesión multimedia al final del último objeto multimedia.
ALL Aplica un bucle al principio del primer objeto multimedia cuando se llegue al final del último.

StaticListPrompt

Una tarjeta para presentar una lista de opciones para seleccionar.

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

string

Opcional. Es el título de la lista.

subtitle

string

Opcional. Subtítulo de la lista.

items[]

object (ListItem)

Obligatorio. Elementos de lista.

ListItem

Es un elemento de la lista.

Representación JSON
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
Campos
key

string

Obligatorio. La clave de CLN que coincide con el nombre de la clave de entrada en el tipo asociado. Cuando se presione el elemento, se volverá a publicar esta clave como parámetro de opción de selección.

title

string

Obligatorio. Es el título del artículo. 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 entre el conjunto de elementos.

description

string

Opcional. Es el texto del cuerpo del elemento.

image

object (StaticImagePrompt)

Opcional. Imagen del artículo.

StaticCollectionPrompt

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

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

subtitle

string

Opcional. Subtítulo de la colección.

items[]

object (CollectionItem)

Obligatorio. Elementos de la colección.

imageFill

enum (ImageFill)

Opcional. Es el tipo de opción de visualización de imágenes.

CollectionItem

Es un elemento de la colección.

Representación JSON
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
Campos
key

string

Obligatorio. La clave de CLN que coincide con el nombre de la clave de entrada en el Type asociado. Cuando se presione el elemento, se volverá a publicar esta clave como parámetro de opción de selección.

title

string

Obligatorio. Es el título del artículo. 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 entre el conjunto de elementos.

description

string

Opcional. Es el texto del cuerpo del elemento.

image

object (StaticImagePrompt)

Opcional. Imagen del artículo.

StaticCollectionBrowsePrompt

Presenta un conjunto de documentos web como una colección de elementos de mosaicos grandes. Se pueden seleccionar elementos para abrir su documento web asociado en un visualizador web.

Representación JSON
{
  "items": [
    {
      object (CollectionBrowseItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Campos
items[]

object (CollectionBrowseItem)

Elementos de la colección de exploración. El tamaño de la lista debe estar dentro del rango [2, 10].

imageFill

enum (ImageFill)

Opción de visualización de imágenes para las imágenes de la colección.

CollectionBrowseItem

Elemento de la colección.

Representación JSON
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (StaticImagePrompt)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
Campos
title

string

Obligatorio. Es el título del elemento de la colección.

description

string

Es la descripción del elemento de la colección.

footer

string

Es el texto del pie de página del elemento de la colección, que aparece debajo de la descripción. Línea única de texto truncada con puntos suspensivos

image

object (StaticImagePrompt)

Imagen del elemento de la colección.

openUriAction

object (OpenUrl)

Obligatorio. Es el URI que se debe abrir si se selecciona el elemento.

Sugerencia

Representa un chip de sugerencias, un elemento de la IU que se muestra al usuario para mayor comodidad.

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.

StaticCanvasPrompt

Representa una respuesta de Interactive Canvas que se enviará al usuario. Se puede usar junto con el campo firstSimple en el mensaje que lo contiene para hablar con el usuario además de mostrar una respuesta de lienzo interactiva.

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

string

Obligatorio. URL de la vista web que se cargará.

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 de la instrucción contenedora es false, los valores de datos definidos en esta instrucción de Canvas se agregarán después de los valores de datos definidos en mensajes de Canvas anteriores.

suppressMic

boolean

Opcional. Un valor verdadero significa que no se abrirá el micrófono para capturar entradas después de que se presente esta respuesta envolvente al usuario.

sendStateDataToCanvasApp

boolean

Opcional. Si es true, se incluyen los metadatos relacionados con la conversación y se envían a la aplicación de lienzo.

enableFullScreen

boolean

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

Scene

La escena es la unidad básica de flujo de control cuando se diseña una conversación. Pueden encadenarse con otras escenas, generar mensajes para el usuario final y definir ranuras. El nombre de la escena se especifica en el nombre del archivo.

Representación JSON
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
Campos
onEnter

object (EventHandler)

Controlador que se invocará durante la transición a esta escena.

intentEvents[]

object (IntentEvent)

La lista de eventos que se activan en función de los intents. Estos eventos se pueden activar en cualquier momento después de que se haya llamado al controlador on_load. Importante: Estos eventos definen el conjunto de intents con alcance para esta escena y tendrán prioridad sobre cualquier evento definido de manera global que tenga los mismos intents o sus frases de activación. Los nombres de intents deben ser únicos dentro de una escena.

conditionalEvents[]

object (ConditionalEvent)

La lista de eventos para activar en función de declaraciones condicionales. Estos se evalúan después de que se completa el formulario o inmediatamente después de on_load si esta escena no tiene un formulario (la evaluación solo se realiza una vez). Solo se activará el primer evento coincidente.

slots[]

object (Slot)

Lista ordenada de ranuras. Cada ranura define el tipo de datos que resolverá y la configuración para personalizar la experiencia de esa resolución (p.ej., mensajes).

onSlotUpdated

object (EventHandler)

Se llama al controlador cuando se produce un cambio en el estado de una ranura que no se debe a actualizaciones de otro controlador. Esto permite invalidar los espacios y la escena, o bien realizar otros cambios en el estado de la escena.

IntentEvent

Registra los eventos que se activan como resultado de una coincidencia de intent.

Representación JSON
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Campos
intent

string

Obligatorio. Es el intent que activa el evento.

transitionToScene

string

Opcional. Escena de destino a la que se debe saltar la conversación. El estado de la escena actual se destruye en la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando se detecta una coincidencia con el intent. Debe ejecutarse antes de realizar la transición a la escena de destino. Es útil para generar instrucciones en respuesta a eventos.

ConditionalEvent

Registra los eventos que se activan como resultado de una condición verdadera.

Representación JSON
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Campos
condition

string

Obligatorio. Condición de filtro para que se active este evento. Si se evalúa la condición como verdadera, se activará el handler asociado. Se admiten las siguientes referencias de variables: $session: Se usa para hacer referencia a datos en el almacenamiento de sesión. $user: Hace referencia a datos en el almacenamiento del usuario. Se admiten los siguientes operadores booleanos (con ejemplos): && - session.params.counter > 0 && session.params.counter < 100 || - session.params.foo == "John" || session.params.counter == "Adam" ! - !(session.params.counter == 5) Se admiten las siguientes comparaciones: ==, !=, <, >, <=, >=. Se admiten los siguientes operadores de lista y cadena (con ejemplos): in - "Sandía" en session.params.fruitList size - size(session.params.fruitList) > 2 substring - size(session.params.fruitList) > 2 substringsession.params.fullName.contains("John")

transitionToScene

string

Opcional. Escena de destino a la que debe saltar la conversación cuando la condición asociada se evalúa como verdadera. El estado de la escena actual se destruye en la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando la condición asociada se evalúa como true. Debe ejecutarse antes de realizar la transición a la escena de destino. Es útil para generar instrucciones en respuesta a eventos.

Ranura

Configuración para una ranura. Los espacios son unidades de datos únicas que se pueden completar a través del lenguaje natural (es decir, parámetros de intent), parámetros de sesión y otras fuentes.

Representación JSON
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la ranura.

type

object (ClassReference)

Obligatorio. Declara el tipo de datos de esta ranura.

required

boolean

Opcional. Indica si se debe llenar el espacio antes de avanzar. Los espacios obligatorios que no se hayan completado activarán un mensaje personalizable para el usuario.

promptSettings

object (PromptSettings)

Opcional. Registra mensajes para las diferentes etapas del relleno de ranuras.

commitBehavior

object (CommitBehavior)

Opcional. Confirma el comportamiento asociado con la ranura.

config

value (Value format)

Opcional. Configuración adicional asociada con la ranura que se usa para llenar la ranura. El formato de la configuración es específico del tipo de ranura. Las referencias de recursos al parámetro de usuario o sesión se pueden agregar a esta configuración. Esta configuración es necesaria para rellenar espacios relacionados con las transacciones y la participación del usuario.

Ejemplo: Para un espacio del tipo actions.type.CompletePurchaseValue, la siguiente configuración propone un pedido digital con referencia al parámetro de sesión userSelectedSkuId definido por el cliente:

{ "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } }

defaultValue

object (DefaultValue)

Opcional. Configuración para propagar un valor predeterminado para este espacio.

PromptSettings

Un solo lugar en el que se definen los mensajes de ranura.

Representación JSON
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
Campos
initialPrompt

object (EventHandler)

Solicita el valor de la ranura en sí. Ejemplo: "¿Qué talla querías?"

noMatchPrompt1

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por primera vez. Ejemplo: "Lo siento, no entendí".

noMatchPrompt2

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por segunda vez. Ejemplo: "Lo siento, no entendí".

noMatchFinalPrompt

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por última vez. Ejemplo: "Lo siento, no entendí".

noInputPrompt1

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por primera vez. Ejemplo: "Lo siento, no entendí".

noInputPrompt2

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por segunda vez. Ejemplo: "Lo siento, no entendí".

noInputFinalPrompt

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por última vez. Ejemplo: "Lo siento, no entendí".

CommitBehavior

Mensaje que describe el comportamiento de la confirmación asociado con la ranura después de que se llenó correctamente.

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

string

Es el parámetro de sesión para escribir el valor del espacio después de que se completa. Ten en cuenta que, por el momento, no se admiten las rutas anidadas. Se usa "$$" para escribir el valor de ranura en un parámetro de sesión con el mismo nombre que el espacio. P. ej.: writeSessionParam = "fruit" corresponde a "$session.params.fruit". writeSessionParam = "ticket" corresponde a "$session.params.ticket".

DefaultValue

Configuración para propagar un valor predeterminado para este espacio.

Representación JSON
{
  "sessionParam": string,
  "constant": value
}
Campos
sessionParam

string

Opcional. El parámetro de sesión que se utilizará para inicializar el valor de ranura, si este tiene un valor que no está vacío. El tipo del valor debe coincidir con el tipo de espacio. Ten en cuenta que, por el momento, no se admiten las rutas anidadas. P. ej.: sessionParam = "fruit" corresponde a $session.params.fruit. sessionParam = "ticket" se corresponde con $session.params.ticket.

constant

value (Value format)

Opcional. Valor predeterminado constante para la ranura. Solo se usará si no se propagó un valor para este espacio a través de sessionParam. El tipo de este valor debe coincidir con el tipo de espacio.

DataFiles

Wrapper para archivo de datos repetido. Los campos repetidos no pueden existir en un elemento.

Representación JSON
{
  "dataFiles": [
    {
      object (DataFile)
    }
  ]
}
Campos
dataFiles[]

object (DataFile)

Varios archivos de datos

DataFile

Representa un archivo único que contiene datos no estructurados. Algunos ejemplos son los archivos de imagen y audio, y el código fuente de Cloud Function.

Representación JSON
{
  "filePath": string,
  "contentType": string,
  "payload": string
}
Campos
filePath

string

Ruta de acceso relativa del archivo de datos de la raíz del proyecto en la estructura de archivos del SDK. Rutas de acceso de archivos permitidas: - Imágenes: resources/images/{multiple directories}?/{ImageName}.{extension} - Audio: resources/audio/{multiple directories}?/{AudioFileName}.{extension} - Código de Cloud Function intercalado: webhooks/{WebhookName}.zip Extensiones permitidas: - Imágenes: png, jpg, jpeg - Audio: mp3, mpeg - Cloud Functions intercaladas: zip

contentType

string

Obligatorio. El tipo de contenido de este activo. Ejemplo: text/html. El tipo de contenido debe cumplir con la especificación (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html). Cloud Functions debe estar en formato ZIP y el tipo de contenido debe ser application/zip;zip_type=cloud_function. El parámetro zip_type indica que zip es para una Cloud Function.

payload

string (bytes format)

Contenido del archivo de datos. Algunos ejemplos son los bytes sin procesar de las imágenes, los archivos de audio o el formato ZIP de Cloud Function. Hay un límite estricto de 10 MB para el tamaño de la carga útil.

String codificada en base64.