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 archivos 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 el manifiesto, la configuración, los paquetes de recursos del modelo de interacción y mucho más.

dataFiles

object (DataFiles)

Lista de archivos de datos. Esto incluye imágenes, archivos de audio y código fuente de Cloud Functions.

ConfigFiles

Wrapper para archivos de configuración repetidos. Los campos repetidos no pueden existir en uno de ellos.

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 sus proyectos con parámetros de configuración estructurados que incluyen 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

Es la ruta de acceso relativa del archivo de configuración desde 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. 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)

Archivo de acciones único con todas las acciones definidas. Rutas de acceso a archivos permitidas: actions/{language}?/actions.yaml

settings

object (Settings)

Configuración única que incluye parámetros de configuración no localizables y los ajustes de la configuración regional predeterminada del proyecto (si se especifica). En el caso de un archivo de anulación de configuración regional, solo se propagará el campo localizedSettings. Rutas de acceso a 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 único. Ruta de archivo permitida: webhooks/{WebhookName}.yaml

intent

object (Intent)

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

type

object (Type)

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

entitySet

object (EntitySet)

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

globalIntentEvent

object (GlobalIntentEvent)

Definición de evento de intent global único. 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 una sola escena. Rutas de acceso a archivos permitidas: custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

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

accountLinkingSecret

object (AccountLinkingSecret)

Metadatos correspondientes al secreto del cliente que se usa 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 cadena a una cadena o una lista de cadenas. Los paquetes de recursos se podrían usar para localizar cadenas en instrucciones estáticas. Rutas de acceso a archivos permitidas: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

Manifiesto

Contiene información que es "transportable" es decir, no son específicos para ningún proyecto y pueden moverse entre proyectos.

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

string

Es la versión del formato de archivo. La versión del formato de archivo actual es 1.0. Por 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))

Asigna los 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 la columna "custom/intents/" . Todos los intents definidos aquí (intents de sistema y personalizados) deben tener un archivo de intent correspondiente en el campo "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 ranuras de 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 interacció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 de la interacción que se enviará a los usuarios finales para solicitar su permiso para recibir actualizaciones. La instrucción que se envía a los usuarios finales para obtener actualizaciones diarias se verá así: "¿A qué hora quieres que te envíe tu {title}" diario. En el caso de las notificaciones push, aparecerá un mensaje similar a "Is it ok if I send push notifications for {title}". Este campo se puede localizar.

pushNotification

object (PushNotification)

La configuración de notificaciones push que admite esta participación.

dailyUpdate

object (DailyUpdate)

Configuración de actualizaciones diarias que admite esta interacción.

PushNotification

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

DailyUpdate

Define la configuración de actualizaciones diarias que admite esta interacción.

Configuración

Representa la configuración de un proyecto de acciones que no es específica de una configuración regional. Siguiente etiqueta: 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

Es la configuración regional predeterminada del proyecto. Para todos los archivos, excepto en resources/, que no tienen una configuración regional en la ruta de acceso, los datos localizados se atribuyen a este defaultLocale. En el caso de los archivos con resources/, ninguna configuración regional significa que el recurso se aplica a todas las configuraciones regionales.

enabledRegions[]

string

Representa las regiones en las que los usuarios pueden invocar tus acciones, según la ubicación de presencia del usuario. No se puede establecer si se establece disabledRegions. Si no se especifican enabledRegions ni disabledRegions, los usuarios pueden invocar tus acciones en todas las regiones. Cada región se representa con el nombre canónico de las orientaciones geográficas de AdWords. Consulte https://developers.google.com/adwords/api/docs/appendix/geotargeting (en inglés). Entre los ejemplos, se incluyen: - "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 establece enabledRegions. Cada región se representa con el nombre canónico de las orientaciones geográficas de AdWords. Consulte https://developers.google.com/adwords/api/docs/appendix/geotargeting (en inglés). Entre los ejemplos, se incluyen: - "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 fallarán.

usesDigitalPurchaseApi

boolean

Si Actions puede 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 Actions está diseñado para familias (DFF)

containsAlcoholOrTobaccoContent

boolean

Si Acciones incluye contenido relacionado con las bebidas alcohólicas o el tabaco.

keepsMicOpen

boolean

Si el parámetro Acciones 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 en formato libre para el revisor de Actions (por ejemplo, instrucciones de vinculación de cuentas).

localizedSettings

object (LocalizedSettings)

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 mediante el Acceso con Google o tu propio servicio de OAuth.

selectedAndroidApps[]

string

Apps para Android seleccionadas para acceder a las compras de Google Play y las 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.

Enumeraciones
CATEGORY_UNSPECIFIED Desconocido / Sin especificar.
BUSINESS_AND_FINANCE Categoría de negocios y finanzas.
EDUCATION_AND_REFERENCE Categoría Educación y referencia.
FOOD_AND_DRINK Categoría de comida y bebida.
GAMES_AND_TRIVIA Juegos y preguntas y respuestas.
HEALTH_AND_FITNESS Salud y fitness.
KIDS_AND_FAMILY Niños y familia.
LIFESTYLE Categoría de estilo de vida.
LOCAL Categoría local.
MOVIES_AND_TV Categoría de películas y TV.
MUSIC_AND_AUDIO Categoría Música y audio.
NEWS categoría de noticias,
NOVELTY_AND_HUMOR Categoría Novedades 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 servicios públicos.
WEATHER Categoría de clima.
HOME_CONTROL Categoría Control del hogar.

SurfaceRequirements

Contiene un conjunto de requisitos que la plataforma de cliente debe admitir para invocar Actions 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 a la superficie le falta alguno de estos elementos, no se activará la acción.

CapabilityRequirement

Representa un requisito sobre la disponibilidad de una función determinada.

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

enum (SurfaceCapability)

Es el tipo de capacidad.

SurfaceCapability

Conjunto posible de capacidades de superficie.

Enumeraciones
SURFACE_CAPABILITY_UNSPECIFIED Desconocido / Sin especificar.
AUDIO_OUTPUT La superficie admite salida de audio.
SCREEN_OUTPUT La superficie admite resultados visuales o de pantalla.
MEDIA_RESPONSE_AUDIO La superficie admite audio de respuesta multimedia.
WEB_BROWSER Surface admite navegadores web.
ACCOUNT_LINKING Surface admite la vinculación de cuentas.
INTERACTIVE_CANVAS La superficie es compatible con Interactive Canvas.
HOME_STORAGE Surface admite el almacenamiento en 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 una traducción disponible)

pronunciation

string

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

shortDescription

string

Obligatorio. La descripción breve predeterminada del proyecto de acciones (si no hay una traducción disponible). Límite de 80 caracteres.

fullDescription

string

Obligatorio. La descripción larga predeterminada del proyecto de acciones (si no hay una traducción disponible). Límite de 4,000 caracteres.

smallLogoImage

string

Obligatorio. Imagen cuadrada pequeña de 192 x 192 px Se debe especificar como 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 la consola, se puede usar la URL administrada por Google que se extrae. No se permiten URLs de fuentes externas.

largeBannerImage

string

Opcional. Imagen horizontal grande (1920 x 1080 px) Se debe especificar como 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 la consola, se puede usar la URL administrada por Google que se extrae. No se permiten URLs de fuentes externas.

developerName

string

Obligatorio. 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. La 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. Es 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 la voz debe tener el mismo idioma raíz que la configuración regional especificada en LocalizedSettings.

privacyPolicyUrl

string

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

sampleInvocations[]

string

Opcional. Frases de invocación de muestra que se muestran 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 que se aplican 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

Color de fondo de las tarjetas Actúa como un resguardo si los desarrolladores no proporcionan background_image o si background_image no es adecuado para ciertas plataformas. Ejemplo de uso: #FAFAFA

primaryColor

string

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

fontFamily

string

La familia de fuentes que se utilizará para el título de las tarjetas. Fuentes compatibles: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif condensed - Sans Serif condensed Medium - Serif - Serif Bold - Monospace - Cursiva - Sans Serif Smallcaps

imageCornerStyle

enum (ImageCornerStyle)

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

landscapeBackgroundImage

string

Modo horizontal (mínimo de 1,920 x 1,200 píxeles). Se debe especificar como 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 se trabaja en un proyecto extraído de la consola, se puede usar la URL administrada por Google que se extrajo.

portraitBackgroundImage

string

Modo Retrato (mínimo de 1,200 x 1,920 píxeles) Se debe especificar como 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 se trabaja en un proyecto extraído de la consola, se puede usar la URL administrada por Google que se extrajo.

ImageCornerStyle

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

Enumeraciones
IMAGE_CORNER_STYLE_UNSPECIFIED No definido / No especificado.
CURVED Esquina redondeada para la imagen.
ANGLED Esquina rectangular de 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 a tus Acciones" en la IU de la consola). Este campo es de solo lectura y se puede verificar navegando a la página de Vinculación de cuentas de la IU de Console. Consulta: https://developers.google.com/assistant/identity/google-sign-in

Nota: Para todos los tipos de configuración de vinculación de cuentas (excepto para 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 verlas).

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 es true, los usuarios podrán registrarse para obtener cuentas nuevas por voz. Si es false, solo se permitirá la creación de cuentas en tu sitio web. Selecciona esta opción si quieres mostrar las condiciones del servicio, o bien obtener el consentimiento de los usuarios durante el registro. linkType no puede ser GOOGLE_SIGN_IN cuando sea false. linkType 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 OAUTH LinkingType.

appClientId

string

Opcional. ID de cliente que su aplicación emite a Google. Este es el ID de cliente de OAuth2 que identifica a Google en tu servicio. Solo se configura 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 configura cuando se usa OAuth.

tokenUrl

string

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

scopes[]

string

Opcional. Es la lista de permisos que el usuario debe aceptar para usar tu servicio. Solo se configura cuando se usa OAuth. Asegúrate de proporcionar las Condiciones del Servicio en la información del directorio, en la sección LocalizedSettings.terms_of_service_url, si especificas este campo.

learnMoreUrl

string

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

useBasicAuthHeader

boolean

Opcional. Si esta preferencia se establece como verdadera, permitir que Google transmita el secreto y el ID de cliente a través del encabezado de autenticación básica HTTP. De lo contrario, Google utilizará el ID de cliente y el secreto del cuerpo de la entrada. Solo se configura cuando se usa OAuth. Asegúrate de proporcionar las Condiciones del Servicio en la información del directorio, en la sección LocalizedSettings.terms_of_service_url, si especificas este campo.

LinkingType

Es el tipo de vinculación de cuentas que se debe realizar.

Enumeraciones
LINKING_TYPE_UNSPECIFIED Sin especificar.
GOOGLE_SIGN_IN Tipo de vinculación de Acceso con Google. Si usas este tipo de vinculación, no es necesario establecer ningún campo relacionado 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.

Enumeraciones
AUTH_GRANT_TYPE_UNSPECIFIED Sin especificar.
AUTH_CODE Otorgamiento del código de autorización. Requiere que proporciones una URL de autenticación y una URL de 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 implementada a partir del código en la carpeta de webhooks.

Handler

Declara el nombre del controlador de webhooks. 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 entre todos los controladores del proyecto de acciones. Puedes verificar el nombre de este controlador para invocar la función correcta en tu código fuente de 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 de tu extremo de entrega (HTTP no es compatible). Los nombres de los controladores se agregan a la ruta de URL base después de los dos puntos (según la guía de estilo en https://cloud.google.com/apis/design/custom_methods). Por ejemplo, una URL base de “https://gactions.service.com/api” recibirían 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 del tipo de entrega de Google.

InlineCloudFunction

Contiene los metadatos de una Cloud Function intercalada que se implementó desde la carpeta de webhooks.

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

string

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

Intent

Los intents asignan entradas de usuario abiertas a objetos estructurados. Las frases habladas se asocian con intents de comprensión del lenguaje natural (CLN) de Google. Las coincidencias de intents pueden activar eventos en el diseño de tu conversación para hacer avanzar 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)

La lista de parámetros dentro de las frases de entrenamiento. Se deben definir todos los parámetros aquí para que se usen 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 hay de que se detecte una coincidencia con este intent. A continuación, se muestra el formato de la parte de la frase de entrenamiento que están anotadas. Ten en cuenta que el campo auto es opcional y el comportamiento predeterminado cuando no se especifica auto equivale a auto=false. ($<paramName> '<sample text>' auto=<true or false>) auto = true significa que CLN anotó automáticamente la parte. auto = false significa que el usuario anotó la parte. Esta es la configuración predeterminada cuando no se especifica el modo automático. Ejemplo: "Reservar un vuelo desde ($source 'San Francisco' auto=false) a ($dest 'Vancouver')"

IntentParameter

Definición de un parámetro que puede usarse 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. Es el nombre único del parámetro del intent. Se puede usar en condiciones y respuestas para hacer referencia a los parámetros de intent extraídos por CLN con $intent.params.[name].resolved.

Campo de unión parameter_type. El tipo de 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 bucket .

ClassReference

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

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

string

Obligatorio. El nombre de un tipo integrado o un tipo 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 conjunto de entidades para un parámetro de intent.

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

object (EntitySetReference)

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

EntitySetReference

Es una referencia al conjunto de entidades permitidas para este parámetro de 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 del conjunto de entidades correspondiente debe estar presente en el directorio custom/entitySets/.

Tipo

Declaración de un tipo personalizado, a diferencia de los tipos integrados Se pueden asignar tipos a ranuras en una escena o parámetros de frases de entrenamiento de un intent. En la práctica, los tipos se pueden considerar como enumeraciones. Ten en cuenta que 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 deberían coincidir por tipo. Nota: Si el tipo coincide con una palabra o frase, pero aparece como una 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 un subtipo según el tipo de coincidencia que se realizará. Las direcciones (sub_type) solo pueden ser una de las siguientes opciones:
synonym

object (SynonymType)

Sinónimos, que es, básicamente, una enumeración.

regularExpression

object (RegularExpressionType)

Tipo de regex, permite la coincidencia de expresiones regulares.

freeText

object (FreeTextType)

Tipo FreeText.

SynonymType

Tipo 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 establece como verdadero, se generan coincidencias con palabras o frases desconocidas según la entrada de su entorno y los datos de entrenamiento de intents, como los artículos que se podrían agregar 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á la variación de la coincidencia para la coincidencia de sinónimos (es decir, difusa o exacta). Si el valor es UNSPECIFIED, se establecerá como EXACT_MATCH de forma predeterminada.

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

Entidad

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

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

object (EntityDisplay)

Opcional. Los detalles visibles de la entidad

synonyms[]

string

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

EntityDisplay

Son elementos que se mostrarán en el recuadro una vez que se extraiga una entidad de un tipo en particular de una consulta. Solo es pertinente para las apps habilitadas para 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. Es la URL del ícono.

RegularExpressionType

Tipo que coincide con el texto mediante 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 de 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. Son elementos que se mostrarán en el recuadro una vez que se extraiga una entidad de una consulta. Solo es pertinente para las apps habilitadas para Canvas.

regularExpressions[]

string

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

FreeTextType

Tipo que coincide con cualquier texto si el contexto de las palabras cercanas se acerca a los ejemplos de entrenamiento proporcionados.

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

object (EntityDisplay)

Opcional. Son elementos que se mostrarán en el recuadro una vez que se extraiga una entidad de una consulta. Solo es pertinente para las apps habilitadas para Canvas.

EntitySet

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

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

object (Entity)

Obligatorio. Es la lista de entidades que admite este conjunto de entidades.

Entidad

Una entidad de la que puede provenir un valor del 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 intents integrados y sus entidades compatibles, consulta https://developers.google.com/assistant/conversational/build/built-in-intents.

GlobalIntentEvent

Define un controlador de intents global. Los eventos de intents globales tienen alcance para todo el proyecto de acciones y los controladores de intents en una escena pueden anularlos. Los nombres de los intents deben ser únicos dentro de un proyecto de acciones.

Se pueden detectar coincidencias con intents globales en cualquier momento de una sesión, lo que permite a los usuarios acceder a flujos comunes, como "obtener ayuda". o "volver a la pantalla principal". También se pueden usar para vincular directamente a los usuarios a 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 debe saltar la conversación. El estado de la escena actual se destruye durante la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando coincide el intent Se debe ejecutar antes de hacer la transición a la escena de destino. Son útiles 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 condición 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 al que se llamará.

Campo de unión prompt. Las instrucciones pueden estar intercaladas o se pueden hacer referencia a ellas por su 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 instrucciones candidatas, una de las cuales se seleccionará como la instrucción que se mostrará en la respuesta que recibirá el usuario. Este mensaje se puede localizar.

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

object (StaticPromptCandidate)

La lista de mensajes candidatos 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 una sugerencia de instrucción estática.

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

object (Selector)

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

promptResponse

object (StaticPromptResponse)

La respuesta de mensaje asociada con el selector.

Selector

Define los criterios para determinar si una instrucción coincide con una solicitud.

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

object (SurfaceCapabilities)

El conjunto de capacidades de superficie requeridas.

SurfaceCapabilities

Representa la superficie que utiliza 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.

Función

Funciones que admite la superficie del dispositivo al momento de la solicitud.

Enumeraciones
UNSPECIFIED Capacidad de superficie no especificada.
SPEECH El dispositivo puede hablarle al usuario a través de la función de 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 interactiva.
HOME_STORAGE El dispositivo puede permitir guardar y recuperar almacenamiento de la casa.

StaticPromptResponse

Representa respuestas estructuradas para enviar 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 solo texto y voz.

content

object (StaticContentPrompt)

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

lastSimple

object (StaticSimplePrompt)

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

suggestions[]

object (Suggestion)

Opcional. Sugerencias para mostrarle al usuario que siempre aparecerán al final de la respuesta. Si el campo append del mensaje que lo contiene es true, los títulos definidos en este campo se agregarán a los títulos definidos en cualquier mensaje de sugerencia definido previamente y se quitarán los valores duplicados.

override

boolean

Opcional. Modo de cómo se deben combinar estos mensajes con los mensajes definidos con anterioridad. true borrará todos los mensajes definidos previamente (el primer y el último simple, el contenido, el vínculo de sugerencias y el lienzo) y agregará los mensajes definidos en esta instrucción. false agregará los mensajes definidos en esta instrucción a los mensajes definidos en respuestas anteriores. Si estableces este campo en false, también se permitirá agregar datos a algunos campos dentro de los mensajes simples, las sugerencias y el mensaje de Canvas (parte de la solicitud de contenido). Los mensajes de contenido y vínculo siempre se reemplazarán si se definen en la instrucción. El valor predeterminado es false.

canvas

object (StaticCanvasPrompt)

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

StaticSimplePrompt

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

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

object (Variant)

Es una lista de variantes posibles.

Variante

Representa una variante que forma parte de una instrucción simple.

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

string

Opcional. Representa la voz que se hablará al usuario. Puede ser SSML o texto a voz. De forma predeterminada, la voz se agregará a la voz de la instrucción simple anterior. Si el campo override del mensaje que lo contiene es true, la voz definida en este campo anulará la voz de la instrucción simple anterior.

text

string

Opcional. Texto que se mostrará en el cuadro de chat. Si no se proporciona, se usará una renderización de pantalla del campo de voz anterior. Tiene un límite de 640 caracteres. De forma predeterminada, el texto se agregará al texto anterior de la instrucción simple. Si el campo override del mensaje que lo contiene es true, el texto definido en este campo anulará el texto de la instrucción simple anterior.

StaticContentPrompt

Es un marcador de posición para la parte Contenido 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 para reproducir.

list

object (StaticListPrompt)

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

collection

object (StaticCollectionPrompt)

Una tarjeta en la que se 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 cierta 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 haya una imagen. Admite un conjunto limitado de sintaxis de Markdown para el formato.

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

Se muestra una imagen 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. Una descripción de texto de la imagen que se usará con fines de 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

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

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

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 puede ser cualquiera de los siguientes: - URLs HTTP/HTTPS para abrir una aplicación vinculada a la aplicación o una página web

hint

enum (UrlHint)

Indica una sugerencia para el tipo de URL.

UrlHint

Diferentes tipos de sugerencias de URL.

Enumeraciones
HINT_UNSPECIFIED Sin especificar
AMP URL que dirige directamente al contenido de AMP o a una URL canónica que hace referencia al contenido de AMP mediante <link rel="amphtml">.

StaticTablePrompt

Una tarjeta 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. Título general de la tabla. Se debe establecer si se configuraron los subtítulos.

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

Texto del encabezado de la columna.

align

enum (HorizontalAlignment)

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

HorizontalAlignment

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

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

Fila de la tabla

Describe una fila en la tabla.

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

object (TableCell)

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

divider

boolean

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

TableCell

Describe una celda en una fila.

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

string

Contenido de texto de la celda.

StaticMediaPrompt

Contiene información sobre los medios, como el nombre, la descripción, la URL, etc. Siguiente ID: 11

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

enum (MediaType)

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 decimales que termina en "s". Ejemplo: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

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

mediaObjects[]

object (MediaObject)

Lista de objetos multimedia.

repeatMode

enum (RepeatMode)

Es el modo de repetición para la lista de objetos multimedia.

MediaType

Tipo de medio de esta respuesta.

Enumeraciones
MEDIA_TYPE_UNSPECIFIED Valor UNSPECIFIED
AUDIO Archivo de audio.
MEDIA_STATUS_ACK Respuesta para confirmar un informe de estado de contenido multimedia.

OptionalMediaControls

Tipos de controles multimedia que la respuesta multimedia admite opcionalmente

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

MediaObject

Representa un objeto multimedia único.

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

string

Es el nombre de este objeto multimedia.

description

string

Descripción de este objeto multimedia.

url

string

Es la URL que dirige al contenido multimedia.

image

object (MediaImage)

Imagen para mostrar con la tarjeta multimedia.

MediaImage

Imagen que se mostrará dentro de 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étera

icon

object (StaticImagePrompt)

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

RepeatMode

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

Enumeraciones
REPEAT_MODE_UNSPECIFIED Equivale a DESACTIVADA.
OFF Finaliza la sesión multimedia al final del último objeto multimedia.
ALL Establece un bucle al principio del primer objeto multimedia cuando se alcance el final del último.

StaticListPrompt

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

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

string

Opcional. Es el título de la lista.

subtitle

string

Opcional. Subtítulo de la lista.

items[]

object (ListItem)

Obligatorio. Elementos de lista.

ListItem

Un elemento de la lista.

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

string

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

title

string

Obligatorio. Es el título del artículo. Cuando se presiona, este texto se vuelve a publicar en la conversación tal como si el usuario lo hubiera escrito. Cada título debe ser único entre el conjunto de elementos.

description

string

Opcional. Es el texto del cuerpo del elemento.

image

object (StaticImagePrompt)

Opcional. Imagen del elemento.

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. Tipo de opción de visualización de la imagen.

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 CLN que coincide con el nombre de la clave de entrada en el tipo asociado Cuando se presione el elemento, esta clave se publicará como un parámetro de opción de selección.

title

string

Obligatorio. Es el título del artículo. Cuando se presiona, este texto se vuelve a publicar en la conversación tal como si el usuario lo hubiera escrito. Cada título debe ser único entre el conjunto de elementos.

description

string

Opcional. Es el texto del cuerpo del elemento.

image

object (StaticImagePrompt)

Opcional. Imagen del elemento.

StaticCollectionBrowsePrompt

Presenta un conjunto de documentos web como una colección de elementos de mosaicos grandes. Se pueden seleccionar elementos para iniciar 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 que exploras. El tamaño de la lista debe estar entre [2, 10].

imageFill

enum (ImageFill)

Opción de visualización 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

Descripción del elemento de la colección.

footer

string

Texto del pie de página del elemento de la colección, que se muestra debajo de la descripción. Una sola línea 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 abrirá si se seleccionó 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. Es el texto que se muestra en el chip de sugerencias. Cuando se presiona, este texto se vuelve a publicar en la conversación tal como si el usuario lo hubiera escrito. Cada título debe ser único en el conjunto de chips de sugerencias. Máx. 25 caracteres

StaticCanvasPrompt

Representa una respuesta de Interactive Canvas que se enviará al usuario. Se puede usar junto con el campo firstSimple en la instrucción que lo contiene para hablarle al 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 experiencia envolvente como un evento. Si el campo override del mensaje contenedor es false, los valores de datos definidos en este mensaje de Canvas se agregarán después de los valores de datos definidos en los mensajes de Canvas anteriores.

suppressMic

boolean

Opcional. Un valor verdadero significa que el micrófono no se abrirá para capturar la entrada 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 devuelven a la aplicación de lienzo.

enableFullScreen

boolean

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

Scene

La escena es la unidad básica de flujo de control cuando se diseña una conversación. Se pueden encadenar con otras escenas, generar solicitudes 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)

Es 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 específicos de esta escena y tendrán prioridad sobre cualquier evento definido globalmente que tenga los mismos intents o sus frases de activación. Los nombres de los intents deben ser únicos dentro de una escena.

conditionalEvents[]

object (ConditionalEvent)

La lista de eventos que se activarán en función de sentencias condicionales. Estas actividades se evalúan una vez que se completa el formulario o inmediatamente después de on_load si la escena no tiene uno (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 esta resolución (p.ej., instrucciones).

onSlotUpdated

object (EventHandler)

Se llama al controlador cuando se produce un cambio en el estado de un espacio que no se debe a actualizaciones dentro de otro controlador. De esta manera, se pueden invalidar los horarios disponibles, invalidar la escena o hacer 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 debe saltar la conversación. El estado de la escena actual se destruye durante la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando coincide el intent Se debe ejecutar antes de hacer la transición a la escena de destino. Son útiles 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. Es la condición de filtro para que se active este evento. Si la condición se evalúa como verdadera, se activará la handler asociada. Se admiten las siguientes referencias de variables: $session (para hacer referencia a datos en el almacenamiento de sesión). $user: Se usa para hacer 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 - session.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 durante la transición.

handler

object (EventHandler)

Opcional. Controlador de eventos que se activa cuando la condición asociada se evalúa como true. Se debe ejecutar antes de hacer la transición a la escena de destino. Son útiles para generar instrucciones en respuesta a eventos.

Ranura

Configuración de una ranura. Los espacios publicitarios son unidades de datos únicas que se pueden completar a través del lenguaje natural (es decir, parámetros de intents), 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 es necesario completar el espacio antes de avanzar. Los espacios obligatorios que no estén completados activarán un mensaje personalizable para el usuario.

promptSettings

object (PromptSettings)

Opcional. Registra los mensajes para diferentes etapas del llenado de ranuras.

commitBehavior

object (CommitBehavior)

Opcional. Comportamiento de confirmación asociado con la ranura.

config

value (Value format)

Opcional. Configuración adicional asociada con el espacio que se utiliza para llenar el espacio. 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 completar ranuras relacionadas con las transacciones y la participación de los usuarios.

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

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

defaultValue

object (DefaultValue)

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

PromptSettings

Un solo lugar donde 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 del espacio. Ejemplo: "¿De qué tamaño querías?".

noMatchPrompt1

object (EventHandler)

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

noMatchPrompt2

object (EventHandler)

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

noMatchFinalPrompt

object (EventHandler)

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

noInputPrompt1

object (EventHandler)

Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por primera vez. Ejemplo: "Lo siento, no entendí".

noInputPrompt2

object (EventHandler)

Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por segunda vez. Ejemplo: "Lo siento, no entendí".

noInputFinalPrompt

object (EventHandler)

Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por última vez. Ejemplo: "Lo siento, no entendí".

CommitBehavior

Mensaje que describe el comportamiento de confirmación asociado con el espacio publicitario después de que se completó correctamente.

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

string

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, las rutas anidadas no son compatibles. “$$” se usa para escribir el valor del espacio 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 utiliza para inicializar el valor de ranura, si tiene un valor que no está vacío. El tipo del valor debe coincidir con el tipo de ranura. Ten en cuenta que, por el momento, las rutas anidadas no son compatibles. P. ej., sessionParam = "fruit" corresponde a $session.params.fruit. sessionParam = "ticket" corresponde a $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 del sessionParam. El tipo de este valor debe coincidir con el tipo de ranura.

DataFiles

Wrapper para archivo de datos repetido. Los campos repetidos no pueden existir en uno de ellos.

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

object (DataFile)

Varios archivos de datos.

DataFile

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

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

string

Es la ruta de acceso relativa del archivo de datos desde la raíz del proyecto en la estructura de archivos del SDK. Rutas de acceso a archivos permitidas: - Imágenes: resources/images/{multiple directories}?/{ImageName}.{extension} - Audio: resources/audio/{multiple directories}?/{AudioFileName}.{extension} - Código intercalado de Cloud Function: 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). Las Cloud Functions deben estar en formato ZIP y el tipo de contenido debe ser application/zip;zip_type=cloud_function. El parámetro zip_type indica que el archivo zip corresponde a una Cloud Function.

payload

string (bytes format)

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

String codificada en base64.