- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Controlador
- Intent
- IntentParameterValue
- Escena
- SlotFillingStatus
- Ranura
- SlotMode
- SlotStatus
- Mensaje
- Simple
- Contenido
- Tarjeta
- Imagen
- ImageFill
- Vínculo
- OpenUrl
- UrlHint
- Tabla
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- Contenido multimedia
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- RepeatMode
- Recopilación
- CollectionItem
- Lista
- ListItem
- CollectionBrowse
- Elemento
- Sugerencia
- Lienzo
- ContinuousMatchConfig
- ExpectedPhrase
- OrderUpdate
- Tipo
- Pedido
- UserInfo
- PhoneNumber
- Imagen
- Comercio
- Ubicación
- LatLng
- PostalAddress
- Contenido
- LineItem
- PriceAttribute
- Tipo
- Estado
- Dinero
- Acción
- Tipo
- OpenUrlAction
- AndroidApp
- VersionFilter
- UrlTypeHint
- ActionMetadata
- Divulgación
- DisclosureText
- TextLink
- DisclosurePresentationOptions
- PresentationRequirement
- PurchaseItemExtension
- PurchaseStatus
- PurchaseType
- MerchantUnitMeasure
- Unidad
- PurchaseReturnsInfo
- PurchaseFulfillmentInfo
- Tipo
- Hora
- PickupInfo
- PickupType
- CurbsideInfo
- CurbsideFulfillmentType
- Vehículo
- CheckInInfo
- CheckInType
- ItemOption
- ProductDetails
- ReservationItemExtension
- ReservationStatus
- ReservationType
- StaffFacilitator
- PaymentData
- PaymentResult
- PaymentInfo
- PaymentMethodDisplayInfo
- PaymentType
- PaymentMethodProvenance
- Promoción
- PurchaseOrderExtension
- PurchaseLocationType
- PurchaseError
- ErrorType
- TicketOrderExtension
- TicketEvent
- Tipo
- EventCharacter
- Tipo
- UserNotification
- NextScene
- Sesión
- TypeOverride
- TypeOverrideMode
- SynonymType
- Entrada
- EntryDisplay
- Usuario
- AccountLinkingStatus
- UserVerificationStatus
- Participación
- IntentSubscription
- PackageEntitlements
- Derecho
- SkuType
- SignedData
- Permiso
- Página principal
- Dispositivo
- Capacidad
- Ubicación
- TimeZone
- Contexto
- MediaContext
- CanvasContext
- Resultado previsto
RPC que representa la API de entrega
Solicitud HTTP
POST https://webhook_handler_service.googleapis.com/fulfill
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON | |
---|---|
{ "handler": { object ( |
Campos | |
---|---|
handler |
Obligatorio. Información sobre la entrega sobre cómo controlar la solicitud. Por ejemplo, una solicitud que tiene la intención de obtener un dato podría tener un controlador con el nombre "getFact". |
intent |
Obligatorio. Representa el último intent coincidente. Consulta https://developers.google.com/assistant/conversational/intents. |
scene |
Opcional. Información sobre la escena actual y la siguiente cuando se llamó a la función. Se completará cuando la llamada de entrega se realice dentro del alcance de una escena. Consulta https://developers.google.com/assistant/conversational/scenes. |
session |
Obligatorio. Contiene datos de sesión, como el ID y los parámetros de sesión. |
user |
Obligatorio. Usuario que inició la conversación |
home |
Opcional. Información relacionada con la estructura de HomeGraph a la que pertenece el dispositivo de destino. Consulta https://developers.google.com/actions/smarthome/concepts/homegraph. |
device |
Obligatorio. Información sobre el dispositivo que usa el usuario para interactuar con la Acción. |
context |
Opcional. Información sobre el contexto actual de la solicitud. Incluye, sin limitaciones, información del lienzo o de sesiones multimedia activas. |
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representa una respuesta enviada desde la entrega de un desarrollador a Actions on Google.
Representación JSON | |
---|---|
{ "prompt": { object ( |
Campos | |
---|---|
prompt |
Opcional. Representa las solicitudes que se enviarán al usuario; estas se agregarán a los mensajes agregados anteriormente, a menos que se reemplacen de forma explícita. |
scene |
Opcional. Representa la escena actual y la siguiente. Si se configura |
session |
Opcional. Describe los datos de la sesión actual. La entrega puede crear, actualizar o quitar los parámetros de sesión. |
user |
Opcional. Se usa para especificar los parámetros de usuario que se devolverán. |
home |
Opcional. Se utiliza para especificar parámetros relacionados con la estructura de HomeGraph a la que pertenece el dispositivo de destino. Consulta https://developers.google.com/actions/smarthome/concepts/homegraph. |
device |
Opcional. Se usa para desplazarse entre los dispositivos con el Asistente integrado a los que tiene acceso el usuario. |
expected |
Opcional. Describe las expectativas para el próximo turno de diálogo. |
Handler
Representa un controlador de entrega que asigna información de eventos de Actions on Google a la entrega. Usa el nombre del controlador para determinar qué código debes ejecutar en la entrega. Por ejemplo, un controlador podría usarse para obtener información sobre el pedido de un usuario con un nombre de controlador como "OrderLookup", mientras que otro podría obtener información de productos de una base de datos, con un nombre de controlador como "GetProductInfo".
Representación JSON | |
---|---|
{ "name": string } |
Campos | |
---|---|
name |
Opcional. El nombre del controlador. |
Intent
Representa un intent. Consulta https://developers.google.com/assistant/conversational/intents.
Representación JSON | |
---|---|
{
"name": string,
"params": {
string: {
object ( |
Campos | |
---|---|
name |
Obligatorio. El nombre del último intent que coincide. |
params |
Obligatorio. Representa los parámetros identificados como parte de la coincidencia de intents. Esta es una asignación del nombre del parámetro identificado al valor del parámetro identificado en la entrada del usuario. Todos los parámetros definidos en el intent coincidente que se identifican aparecerán aquí. Es un objeto que contiene una lista de pares |
query |
Opcional. Entrada de voz o escritura del usuario final que coincide con este intent. Se propagará cuando se detecte una coincidencia con un intent, según la entrada del usuario. |
IntentParameterValue
Representa un valor para el parámetro de intent. Consulta https://developers.google.com/assistant/conversational/types.
Representación JSON | |
---|---|
{ "original": string, "resolved": value } |
Campos | |
---|---|
original |
Obligatorio. Valor del texto original extraído del enunciado del usuario. |
resolved |
Obligatorio. Valor estructurado para el parámetro extraído de la entrada del usuario. Esto solo se propagará si el parámetro se define en el intent coincidente y el valor del parámetro se podría identificar durante la coincidencia del intent. |
Scene
Representa una escena. Las escenas pueden llamar a la entrega, agregar mensajes y recopilar valores de ranuras del usuario. Las escenas se activan mediante eventos o intents, y pueden activar eventos y hacer coincidir intents para realizar la transición a otras escenas.
Representación JSON | |
---|---|
{ "name": string, "slotFillingStatus": enum ( |
Campos | |
---|---|
name |
Obligatorio. Nombre de la escena actual. |
slotFillingStatus |
Obligatorio. Es el estado actual del relleno de espacios. Este campo es de solo lectura. |
slots |
Las ranuras asociadas con la escena actual. Las respuestas del controlador no pueden mostrar ranuras que no se hayan enviado en la solicitud. Es un objeto que contiene una lista de pares |
next |
Opcional. Información sobre la escena que se ejecutará a continuación. |
SlotFillingStatus
Representa el estado actual del relleno de espacios.
Enumeradores | |
---|---|
UNSPECIFIED |
Valor de resguardo cuando no se propaga el campo de uso. |
INITIALIZED |
Se inicializaron las ranuras, pero no se inició el llenado de ranuras. |
COLLECTING |
Se están recopilando los valores de ranura. |
FINAL |
Todos los valores de ranura son definitivos y no se pueden cambiar. |
Ranura
Representa una ranura.
Representación JSON | |
---|---|
{ "mode": enum ( |
Campos | |
---|---|
mode |
El modo del espacio (obligatorio u opcional) El desarrollador puede establecerlo. |
status |
Es el estado del espacio. |
value |
Es el valor de la ranura. Si cambias este valor en la respuesta, se modificará el valor del relleno de espacios. |
updated |
Indica si el valor de ranura se recopiló en el último giro. Este campo es de solo lectura. |
prompt |
Opcional. Este mensaje se envía al usuario cuando es necesario para llenar un espacio requerido. Este mensaje anula el existente definido en la consola. Este campo no se incluye en la solicitud de webhook. |
SlotMode
Representa el modo de una ranura, es decir, si es necesaria o no.
Enumeradores | |
---|---|
MODE_UNSPECIFIED |
Valor de resguardo cuando no se propaga el campo de uso. |
OPTIONAL |
Indica que no se requiere el espacio para completar el llenado de ranuras. |
REQUIRED |
Indica que se requiere el espacio para completar el llenado de ranuras. |
SlotStatus
Representa el estado de una ranura.
Enumeradores | |
---|---|
SLOT_UNSPECIFIED |
Valor de resguardo cuando no se propaga el campo de uso. |
EMPTY |
Indica que la ranura no tiene ningún valor. Este estado no se puede modificar a través de la respuesta. |
INVALID |
Indica que el valor de ranura no es válido. Este estado se puede establecer en la respuesta. |
FILLED |
Indica que la ranura tiene un valor. Este estado no se puede modificar a través de la respuesta. |
Instrucción
Representa una respuesta a un usuario. Consulta https://developers.google.com/assistant/conversational/prompts.
Representación JSON | |
---|---|
{ "override": boolean, "firstSimple": { object ( |
Campos | |
---|---|
override |
Opcional. Modo de cómo se deben combinar estos mensajes con mensajes definidos previamente. "true" borra todos los mensajes definidos previamente (primer y último mensaje simple, contenido, vínculo de sugerencias y lienzo) y agrega mensajes definidos en esta instrucción. Con "false" se agregan los mensajes definidos en esta instrucción a los mensajes definidos en las respuestas anteriores. Si dejas este campo en "false", también se podrá agregar a algunos campos dentro de los mensajes simples, al mensaje de sugerencias y al mensaje de Canvas (parte del mensaje de contenido). Los mensajes de contenido y de vínculo siempre se reemplazan si se definen en la solicitud. El valor predeterminado es "false". |
firstSimple |
Opcional. La primera respuesta de voz y solo de texto. |
content |
Opcional. Es un contenido, como una tarjeta, una lista o un contenido multimedia, para mostrarle al usuario. |
lastSimple |
Opcional. La última respuesta de voz y solo texto. |
suggestions[] |
Opcional. Sugerencias que se mostrarán al usuario y que siempre aparecerán al final de la respuesta. Si el campo "override" del mensaje que lo contiene es "false", los títulos definidos en este campo se agregarán a los títulos definidos en las sugerencias definidas anteriormente y se quitarán los valores duplicados. |
link |
Opcional. Un chip de sugerencias adicional que se puede vincular a la app o al sitio asociado El chip se renderizará con el título “Open (name)” (Abrir (nombre). Debe tener 20 caracteres como máximo. |
canvas |
Opcional. Representa una respuesta de Interactive Canvas que se enviará al usuario. |
orderUpdate |
Esta acción responde con una OrderUpdate después de recibir el pedido durante el flujo de transacciones. Al recibir esto, Google registra esta actualización del pedido y, si se realiza correctamente, muestra una tarjeta de recibo junto con el TTS enviado en los dispositivos de visualización. |
Simple
Representa un mensaje simple que se enviará a un usuario. Consulta https://developers.google.com/assistant/conversational/prompts-simple.
Representación JSON | |
---|---|
{ "speech": string, "text": string } |
Campos | |
---|---|
speech |
Opcional. Representa la voz que se dirá al usuario. Puede ser SSML o texto a voz. Si el campo "override" en el mensaje que lo contiene es "verdadero", la voz definida en este campo reemplaza la voz del mensaje simple anterior. Consulta https://developers.google.com/assistant/conversational/ssml. |
text |
Texto opcional para mostrar en el cuadro de chat. Si no se proporciona, se usará una renderización de la pantalla del campo de voz anterior. Tiene un límite de 640 caracteres. Si el campo "override" del mensaje que lo contiene es "true", el texto definido en este campo se reemplazará con el texto del mensaje simple anterior. |
Contenido
Objeto de contenedor para instrucciones enriquecidas o instrucciones de selección.
Representación JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de unión
|
||
card |
Una tarjeta básica. |
|
image |
Una imagen. |
|
table |
Tarjeta de tabla |
|
media |
Respuesta que indica un conjunto de contenido multimedia que se reproducirá. |
|
collection |
Una tarjeta que presenta un conjunto de opciones para seleccionar. |
|
list |
Una tarjeta que presenta una lista de opciones para seleccionar. |
|
collectionBrowse |
Una tarjeta que presenta una colección de páginas web para abrir. |
Tarjeta
Una tarjeta básica para mostrar información, p.ej., una imagen o texto. Consulta https://developers.google.com/assistant/conversational/prompts-rich#basic_card.
Representación JSON | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
Campos | |
---|---|
title |
Título general de la tarjeta. Opcional. |
subtitle |
Opcional. |
text |
Texto del cuerpo de la tarjeta Admite un conjunto limitado de sintaxis de Markdown para formatear. Obligatorio, a menos que haya una imagen. |
image |
Una imagen principal de la tarjeta La altura se fija en 192 dp. Opcional. |
imageFill |
Cómo se rellenará el fondo de la imagen. Opcional. |
button |
Botón con un vínculo de salida. Opcional. |
Imagen
Una imagen que se muestra en la tarjeta. Consulta https://developers.google.com/assistant/conversational/prompts-rich#image-cards.
Representación JSON | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
Campos | |
---|---|
url |
Es la URL de origen de la imagen. Las imágenes pueden ser JPG, PNG y GIF (animadas y no animadas). Por ejemplo, |
alt |
Es una descripción de texto de la imagen que se usará para mejorar la accesibilidad, p.ej., lectores de pantalla. Obligatorio. |
height |
La altura de la imagen en píxeles. Opcional. |
width |
El ancho de la imagen en píxeles. Opcional. |
ImageFill
Posibles opciones de visualización de imágenes para afectar la presentación de la imagen. Se debe usar cuando la relación de aspecto de la imagen no coincide con la del contenedor de la imagen.
Enumeradores | |
---|---|
UNSPECIFIED |
|
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. |
Vínculo
Un chip de sugerencias adicional que se puede vincular a la app o al sitio asociado El chip se renderizará con el título “Open (name)” (Abrir (nombre).
Representación JSON | |
---|---|
{
"name": string,
"open": {
object ( |
Campos | |
---|---|
name |
Es el nombre del vínculo. Máx. de 20 caracteres |
open |
Qué sucede cuando un usuario abre el vínculo |
OpenUrl
Representación JSON | |
---|---|
{
"url": string,
"hint": enum ( |
Campos | |
---|---|
url |
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 |
Indica una sugerencia para el tipo de URL. |
UrlHint
Diferentes tipos de sugerencias de URL.
Enumeradores | |
---|---|
LINK_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 . Consulta https://amp.dev/. |
Tabla
Una tarjeta de tabla para mostrar una tabla de texto. Consulta https://developers.google.com/assistant/conversational/prompts-rich#table_cards.
Representación JSON | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Campos | |
---|---|
title |
Es el título general de la tabla. Opcional, pero se debe establecer si se establecen subtítulos. |
subtitle |
Subtítulo de la tabla. Opcional. |
image |
Imagen asociada con la tabla. Opcional. |
columns[] |
Encabezados y alineación de columnas. |
rows[] |
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 |
Botón. |
TableColumn
Representación JSON | |
---|---|
{
"header": string,
"align": enum ( |
Campos | |
---|---|
header |
Es el texto del encabezado de la columna. |
align |
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 |
|
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 ( |
Campos | |
---|---|
cells[] |
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 |
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 |
Contenido de texto de la celda. |
Medios
Representa un objeto multimedia. Contiene información sobre el contenido multimedia, como el nombre, la descripción, la URL, etc. Consulta https://developers.google.com/assistant/conversational/prompts-media.
Representación JSON | |
---|---|
{ "mediaType": enum ( |
Campos | |
---|---|
mediaType |
|
startOffset |
Desplazamiento inicial del primer objeto multimedia. Es una duración en segundos con hasta nueve dígitos fraccionarios que termina en " |
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[] |
Lista de objetos multimedia |
repeatMode |
Modo de repetición para la lista de objetos multimedia |
firstMediaObjectIndex |
Es el índice basado en 0 del primer objeto multimedia en mediaObjects para reproducir. Si no se especifica, con cero o fuera de los límites, la reproducción comienza en el primer objeto multimedia de mediaObjects. |
MediaType
Es el tipo de medio de esta respuesta.
Enumeradores | |
---|---|
MEDIA_TYPE_UNSPECIFIED |
|
AUDIO |
Archivo de audio. |
MEDIA_STATUS_ACK |
Respuesta para confirmar un informe de estado de medios. |
OptionalMediaControls
Tipos de controles multimedia opcionales que puede admitir la respuesta multimedia
Enumeradores | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED |
Valor sin especificar |
PAUSED |
Se pausó el evento. Se activa cuando el usuario pausa el contenido multimedia. |
STOPPED |
Evento detenido Se activa cuando el usuario sale de la sesión de terceros durante la reproducción de contenido multimedia. |
MediaObject
Representa un solo objeto multimedia
Representación JSON | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
Campos | |
---|---|
name |
Es el nombre de este objeto multimedia. |
description |
Es la descripción de este objeto multimedia. |
url |
URL que dirige al contenido multimedia. Los archivos MP3 deben estar alojados en un servidor web y estar disponibles públicamente a través de una URL HTTPS. Las transmisiones en vivo solo son compatibles con el formato MP3. |
image |
Imagen para mostrar con la tarjeta multimedia. |
MediaImage
Representación JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de unión
|
||
large |
Una imagen grande, como la portada del álbum, etc. |
|
icon |
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. |
Colección
Una tarjeta para presentar un conjunto de opciones para seleccionar. Consulta https://developers.google.com/assistant/conversational/prompts-selection#collection
Representación JSON | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
Campos | |
---|---|
title |
Es el título de la colección. Opcional. |
subtitle |
Subtítulo de la colección. Opcional. |
items[] |
Una lista de elementos. Puede tener un mínimo de 2 y un máximo de 10. |
imageFill |
Cómo se rellenarán los fondos de las imágenes de los elementos de la colección. Opcional. |
CollectionItem
Un elemento de la colección
Representación JSON | |
---|---|
{ "key": string } |
Campos | |
---|---|
key |
Obligatorio. La clave de CLN que coincide con el nombre de la clave de entrada en el Type asociado. |
Ir a la lista
Una tarjeta para presentar una lista de opciones para seleccionar. Consulta https://developers.google.com/assistant/conversational/prompts-selection#list
Representación JSON | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
Campos | |
---|---|
title |
Es el título de la lista. Opcional. |
subtitle |
Subtítulo de la lista. Opcional. |
items[] |
Una lista de elementos. Puede tener un mínimo de 2 y un máximo de 30. |
ListItem
Un elemento de la lista
Representación JSON | |
---|---|
{ "key": string } |
Campos | |
---|---|
key |
Obligatorio. La clave de CLN que coincide con el nombre de la clave de entrada en el Type asociado. |
CollectionBrowse
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. Consulta https://developers.google.com/assistant/conversational/prompts-selection#collectionBrowse.
Representación JSON | |
---|---|
{ "items": [ { object ( |
Campos | |
---|---|
items[] |
Una lista de elementos. Puede tener un mínimo de 2 y un máximo de 10. |
imageFill |
Es el tipo de opción de visualización de imágenes. |
Elemento
Elemento de la colección.
Representación JSON | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
Campos | |
---|---|
title |
Obligatorio. Es el título del elemento de la colección. |
description |
Es la descripción del elemento de la colección. |
footer |
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 |
Imagen del elemento de la colección. |
openUriAction |
Obligatorio. Es el URI que se debe abrir si se selecciona el elemento. |
Sugerencia
Las sugerencias proporcionan chips de sugerencias a los usuarios de dispositivos con pantallas cuando Asistente muestra el mensaje. Usa chips de sugerencias para indicar las respuestas de los usuarios a fin de continuar o reorientar la conversación. Cuando se presiona, un chip de sugerencias devuelve el texto mostrado en la conversación de forma textual, como si el usuario lo hubiera escrito. Consulta https://developers.google.com/assistant/conversational/prompts#suggestions,
Representación JSON | |
---|---|
{ "title": string } |
Campos | |
---|---|
title |
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. |
Lienzo
Representa una respuesta de Interactive Canvas que se enviará al usuario. Se puede usar junto con el campo "firstSimple" en la instrucción contenedora para hablar con el usuario además de mostrar una respuesta de lienzo interactiva. El tamaño máximo de la respuesta es de 50,000 bytes. Consulta https://developers.google.com/assistant/interactivecanvas.
Representación JSON | |
---|---|
{
"url": string,
"data": [
value
],
"suppressMic": boolean,
"continuousMatchConfig": {
object ( |
Campos | |
---|---|
url |
URL de la app web de lienzo interactivo que se cargará. Si no la estableces, se volverá a usar la URL del lienzo activo actual. |
data[] |
Opcional. Los datos JSON que se pasarán a la página web de la experiencia envolvente como un evento Si el campo "override" del mensaje que lo contiene es "false", los valores de datos definidos en este mensaje de Canvas se agregarán después de los valores de datos definidos en mensajes de Canvas anteriores. |
suppressMic |
Opcional. Valor predeterminado: falso. |
continuousMatchConfig |
La configuración que se usa para iniciar el modo de coincidencia continua. |
ContinuousMatchConfig
La configuración que se usa para iniciar el modo de coincidencia continua.
Representación JSON | |
---|---|
{
"expectedPhrases": [
{
object ( |
Campos | |
---|---|
expectedPhrases[] |
Todas las frases esperadas posibles durante esta sesión continua del modo de coincidencia |
durationSeconds |
Duración para mantener activado el modo de coincidencia continua. Si se especifica, se cerrará el micrófono cuando se acabe el tiempo. El valor máximo permitido es 180. |
ExpectedPhrase
Representación JSON | |
---|---|
{ "phrase": string, "alternativePhrases": [ string ] } |
Campos | |
---|---|
phrase |
La frase que debe coincidir durante la sesión del modo de coincidencia continua. |
alternativePhrases[] |
Es posible que el modelo de voz reconozca mal algunas frases, incluso con personalización de voz. Esto permite a los desarrolladores especificar activadores alternativos para homófonos. |
OrderUpdate
Actualización de un pedido.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
Obsoleto: usa OrderUpdate.update_mask en su lugar. Si el tipo es SNAPSHOT, OrderUpdate.order debería ser el pedido completo. Si el tipo es ORDER_STATUS, este es el cambio de estado a nivel de pedido. Solo se recogen order.last_update_time y este estado de la vertical. Nota: type.ORDER_STATUS solo admite actualizaciones de estado de PurcahaseOrderExtension y no hay un plan para extender esta compatibilidad. En cambio, recomendamos usar updateMask, ya que es más genérico, extensible y se puede utilizar para todas las verticales. |
order |
|
updateMask |
Nota: A continuación se indican las consideraciones o recomendaciones para los siguientes campos especiales: 1. order.last_update_time siempre se actualizará como parte de la solicitud de actualización. 2. Se ignorarán order.create_time, order.google_order_id y order.merchant_order_id si se proporcionan como parte de updateMask. Esta es una lista separada por comas de los nombres de campos completamente calificados. Ejemplo: |
userNotification |
Si se especifica, muestra una notificación al usuario con el título y el texto especificados. Especificar una notificación es una sugerencia para notificar y no se garantiza que genere una notificación. |
reason |
Motivo del cambio o la actualización. |
Tipo
Obsoleto: usa OrderUpdate.update_mask en su lugar. Actualizaciones permitidas de un pedido.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
Tipo sin especificar; no debes configurarlo de forma explícita. |
ORDER_STATUS |
Solo actualiza el estado del pedido. |
SNAPSHOT |
Actualiza el resumen del pedido. |
Pedidos
Entidad Order. Nota: 1. Todas las cadenas de todos los niveles deben tener menos de 1,000 caracteres, a menos que se especifique lo contrario. 2. A menos que se especifique lo contrario, el recuento de todos los campos repetidos en todos los niveles debe ser inferior a 50. 3. Todas las marcas de tiempo en todos los niveles, si se especifican, deben ser marcas válidas.
Representación JSON | |
---|---|
{ "googleOrderId": string, "merchantOrderId": string, "userVisibleOrderId": string, "userVisibleStateLabel": string, "buyerInfo": { object ( |
Campos | ||
---|---|---|
googleOrderId |
ID de pedido asignado por Google. |
|
merchantOrderId |
Obligatorio: ID de pedido interno asignado por el comercio. Este ID debe ser único y se requiere para las operaciones de actualización de pedidos posteriores. Este ID se puede establecer como el googleOrderId proporcionado o cualquier otro valor único. Ten en cuenta que el ID que se presenta a los usuarios es userVisibleOrderId, que puede ser un valor diferente y más fácil de usar. La longitud máxima permitida es de 128 caracteres. |
|
userVisibleOrderId |
Es el ID orientado al usuario que hace referencia al pedido actual. Este ID debe ser coherente con el que se muestra para este pedido en otros contextos, como sitios web, apps y correo electrónico. |
|
userVisibleStateLabel |
Obsoleto: usa el estado OrderExtensions en su lugar. Es la etiqueta visible para el usuario correspondiente al estado de este pedido. |
|
buyerInfo |
Información sobre el comprador. |
|
image |
Imagen asociada con el pedido. |
|
createTime |
Obligatorio: Fecha y hora en que se creó el pedido. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
|
lastUpdateTime |
Fecha y hora en que se actualizó el pedido por última vez. Obligatorio para OrderUpdate. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
|
transactionMerchant |
Comercio que facilitó la confirmación de la compra. Puede ser diferente de un proveedor a nivel de la línea de pedido. Ejemplo: Pedido de Expedia con una línea de pedido de ANA. |
|
contents |
Obligatorio: Ordena los contenidos que son un grupo de líneas de pedido. |
|
priceAttributes[] |
Precio, descuentos, impuestos, etc. |
|
followUpActions[] |
Acciones de seguimiento a nivel del pedido. |
|
paymentData |
Datos relacionados con el pago del pedido. |
|
termsOfServiceUrl |
Un vínculo a las Condiciones del Servicio que se aplican al pedido o al pedido propuesto. |
|
note |
Notas adjuntas a un pedido. |
|
promotions[] |
Todas las promociones asociadas con este pedido. |
|
disclosures[] |
Divulgaciones asociadas con este pedido. |
|
vertical |
Obsoleto: usa verticales en su lugar. Estas propiedades se aplicarán a todas las líneas de pedido, a menos que se anulen en algunas. Esta vertical debe coincidir con el tipo de vertical a nivel de la línea de pedido. Valores posibles: Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
|
Campo de unión verticals . Estas propiedades se aplicarán a todas las líneas de pedido, a menos que se anulen en algunas. Esta vertical debe coincidir con el tipo de vertical a nivel de la línea de pedido. Las direcciones (verticals ) solo pueden ser una de las siguientes opciones: |
||
purchase |
Orden de compra |
|
ticket |
Pedido de entrada |
UserInfo
Información sobre el usuario. Se usa para representar información del usuario asociado con un pedido.
Representación JSON | |
---|---|
{
"email": string,
"firstName": string,
"lastName": string,
"displayName": string,
"phoneNumbers": [
{
object ( |
Campos | |
---|---|
email |
Correo electrónico del usuario, p. ej., janedoe@gmail.com. |
firstName |
Es el nombre del usuario. |
lastName |
Es el apellido del usuario. |
displayName |
El nombre visible del usuario puede ser diferente del nombre o el apellido. |
phoneNumbers[] |
Son los números de teléfono del usuario. |
PhoneNumber
Representación estándar del número de teléfono.
Representación JSON | |
---|---|
{ "e164PhoneNumber": string, "extension": string, "preferredDomesticCarrierCode": string } |
Campos | |
---|---|
e164PhoneNumber |
Número de teléfono en formato E.164, según se define en la Recomendación E.164 de la Unión Internacional de Telecomunicaciones (ITU). Vínculo de wiki: https://en.wikipedia.org/wiki/E.164 |
extension |
La extensión no está estandarizada en las recomendaciones de ITU, excepto que se define como una serie de números con una longitud máxima de 40 dígitos. Se define como una cadena para adaptarse al posible uso de un cero inicial en la extensión (las organizaciones tienen libertad total para hacerlo, ya que no hay un estándar definido). Además de los dígitos, se pueden almacenar otros caracteres de marcación como "," (que indica un tiempo de espera). Por ejemplo, en xxx-xxx-xxxx ext. 123, “123” es la extensión. |
preferredDomesticCarrierCode |
Es el código de selección del operador que se prefiere al llamar a este número de teléfono dentro de un país. Esto también incluye los códigos que se deben marcar en algunos países cuando se llama desde un teléfono fijo a un dispositivo móvil, y viceversa. Por ejemplo, en Colombia, se debe marcar el número "3" antes que el número de teléfono cuando se llama desde un teléfono celular a un teléfono fijo nacional, y viceversa. https://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia https://en.wikipedia.org/wiki/Brazilian_Carrier_Selection_Code Ten en cuenta que este es el código "preferido", lo que significa que otros códigos también pueden funcionar. |
Imagen
Una imagen que se muestra en la tarjeta.
Representación JSON | |
---|---|
{ "url": string, "accessibilityText": string, "height": integer, "width": integer } |
Campos | |
---|---|
url |
Es la URL de origen de la imagen. Las imágenes pueden ser JPG, PNG y GIF (animadas y no animadas). Por ejemplo, |
accessibilityText |
Es una descripción de texto de la imagen que se usará para mejorar la accesibilidad, p.ej., lectores de pantalla. Obligatorio. |
height |
La altura de la imagen en píxeles. Opcional. |
width |
El ancho de la imagen en píxeles. Opcional. |
Merchant
Comerciante del carrito, pedido o línea de pedido.
Representación JSON | |
---|---|
{ "id": string, "name": string, "image": { object ( |
Campos | |
---|---|
id |
Es el ID opcional que se asigna al comercio, si corresponde. |
name |
Es el nombre del comercio, como "Panera Bread". |
image |
Es la imagen asociada con el comercio. |
phoneNumbers[] |
Números de teléfono del comercio |
address |
Dirección del comercio. |
Location
Es un contenedor que representa una ubicación.
Representación JSON | |
---|---|
{ "coordinates": { object ( |
Campos | |
---|---|
coordinates |
Coordenadas geográficas. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
formattedAddress |
Dirección visible, p.ej., “1600 Amphitheatre Pkwy, Mountain View, CA 94043”. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
zipCode |
Código postal. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
city |
Ciudad. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
postalAddress |
Dirección postal. Requiere el permiso [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
name |
Es el nombre del lugar. |
phoneNumber |
Es el número de teléfono de la ubicación, p.ej., el número de contacto de la ubicación de la empresa o el número de teléfono de la ubicación de entrega. |
notes |
Notas sobre la ubicación. |
placeId |
placeId se usa con la API de Places para recuperar detalles de un lugar. Consulta https://developers.google.com/places/web-service/place-id |
LatLng
Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de dobles para representar la latitud en grados y la longitud en grados. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.
Representación JSON | |
---|---|
{ "latitude": number, "longitude": number } |
Campos | |
---|---|
latitude |
La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0]. |
longitude |
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0]. |
PostalAddress
Representa una dirección postal, p. ej., para envíos postales o direcciones de pago. Si se proporciona una dirección postal, un servicio postal puede enviar artículos a las instalaciones, a la casilla postal o a otras ubicaciones similares. No está diseñado para modelar ubicaciones geográficas (caminos, pueblos, montañas).
En el uso común, una dirección se crearía a través de una entrada del usuario o a partir de la importación de datos existentes, según el tipo de proceso.
Consejos para ingresar o editar direcciones: - Usa un widget de dirección compatible con i18n, como https://github.com/google/libaddressinput). Los usuarios no deben ver elementos de la IU para ingresar o editar campos fuera de países en los que se usa ese campo.
Para obtener orientación sobre cómo usar este esquema, consulta https://support.google.com/business/answer/6397478
Representación JSON | |
---|---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Campos | |
---|---|
revision |
La revisión del esquema de Todas las revisiones nuevas deben ser compatibles con las revisiones anteriores. |
regionCode |
Obligatorio. Código de región de CLDR para el país o la región de la dirección. Nunca se infiere y depende del usuario garantizar que el valor sea correcto. Consulta http://cldr.unicode.org/ y http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html para obtener detalles. Ejemplo: "CH" para Suiza. |
languageCode |
Opcional. Código de idioma BCP-47 de los contenidos de esta dirección (si se conoce). Suele ser el idioma de la IU del formulario de entrada o se espera que coincida con uno de los idiomas usados en la región o el país de la dirección, o sus transliteraciones equivalentes. Esto puede afectar el formato en ciertos países, pero no es fundamental para la precisión de los datos y nunca afectará una validación o alguna otra operación no relacionada con el formato. Si este valor es desconocido, se debe omitir (en lugar de especificar una configuración predeterminada posiblemente incorrecta). Ejemplos: "zh-Hant", "ja", "ja-Latn", "en". |
postalCode |
Opcional. Código postal de la dirección. No todos los países usan o exigen la presencia de códigos postales, pero en los lugares donde se usan, es posible que activen una validación adicional con otras partes de la dirección (p. ej., validación del código postal o el estado en EE.UU.). |
sortingCode |
Opcional. Código de ordenamiento adicional específico para cada país. No se usa en la mayoría de las regiones. Cuando se utiliza, el valor es una cadena como "CEDEX", opcionalmente seguida de un número (p.ej., "CEDEX 7"), o solo un número, que representa el "código del sector" (Jamaica), el "indicador del área de entrega" (Malaui) o el "indicador de oficina de correo" (p.ej., Costa de Marfil). |
administrativeArea |
Opcional. División administrativa más alta que se usa para las direcciones postales de un país o una región. Por ejemplo, puede ser un estado, una provincia, una óblast o una prefectura. Específicamente, en el caso de España, es la provincia y no la comunidad autónoma (p.ej., "Barcelona" y no "Cataluña"). Muchos países no usan un área administrativa en las direcciones postales. P. ej., en Suiza se dejaría vacío. |
locality |
Opcional. Por lo general, se refiere a la parte de la dirección que indica la ciudad o el pueblo. Ejemplos: ciudad de EE.UU., comuna de Italia o ciudad postal en el Reino Unido. En regiones del mundo donde las localidades no están bien definidas o no coinciden bien con esta estructura, deja la localidad vacía y usa addressLines. |
sublocality |
Opcional. Sublocalidad de la dirección. Por ejemplo, pueden ser barrios, vecindarios o distritos. |
addressLines[] |
Líneas de dirección no estructuradas que describen los niveles más bajos de una dirección. Debido a que los valores de addressLines no tienen información de tipo y, a veces, pueden contener varios valores en un solo campo (p.ej., “Austin, TX”), es importante que el orden de las líneas sea claro. El orden de las líneas de dirección debe ser el "orden de sobre" que se usa en el país o la región de la dirección. En lugares donde esto puede variar, (p. ej., Japón), address_language se usa para hacerlo explícito (p. ej., "ja" para ordenar de mayor a menor en "ja-Latn" o "en" para indicar de menor a mayor). De esta manera, se puede seleccionar la línea más específica de una dirección a partir del idioma. La representación estructural mínima que se permite para una dirección consiste en un regionCode con toda la información restante incluida en addressLines. Sería posible dar un formato a una dirección así de manera muy aproximada sin codificación geográfica, pero no podría realizarse un análisis semántico de ningún componente de la dirección hasta que se resuelva, al menos, de manera parcial. Crear una dirección que solo contiene regionCode y addressLines, y luego realizar la codificación geográfica es la manera recomendada de controlar direcciones sin estructura alguna (en lugar de inferir qué partes de la dirección deben ser localidades o áreas administrativas). |
recipients[] |
Opcional. El destinatario en la dirección. Es posible que este campo contenga varias líneas de información en ciertas circunstancias. Por ejemplo, puede contener información sobre la entrega "por medio de". |
organization |
Opcional. El nombre de la organización de la dirección. |
Contenido
Wrapper para líneas de pedido.
Representación JSON | |
---|---|
{
"lineItems": [
{
object ( |
Campos | |
---|---|
lineItems[] |
Es una lista de líneas de pedido. Se requiere al menos 1 elemento de una sola línea y se permite un máximo de 50. Todas las líneas de pedido deben pertenecer a la misma vertical. |
LineItem
Una línea de pedido contiene una vertical. Un pedido o un carrito puede tener varias líneas de pedido de la misma vertical. Las sublíneas de pedido, los complementos, etc., se deben definir en prototipos verticales según sus casos de uso. Nota: 1. Todas las cadenas de todos los niveles deben tener menos de 1,000 caracteres, a menos que se especifique lo contrario. 2. A menos que se especifique lo contrario, el recuento de todos los campos repetidos en todos los niveles debe ser inferior a 50. 3. Todas las marcas de tiempo en todos los niveles, si se especifican, deben ser marcas válidas.
Representación JSON | |
---|---|
{ "id": string, "name": string, "userVisibleStateLabel": string, "provider": { object ( |
Campos | ||
---|---|---|
id |
Obligatorio: Es un identificador asignado por el comercio para la línea de pedido. Se usa para identificar líneas de pedido existentes al aplicar actualizaciones parciales. La longitud máxima permitida es de 64 caracteres. |
|
name |
Es el nombre de la línea de pedido como se muestra en el recibo. La longitud máxima permitida es de 100 caracteres. |
|
userVisibleStateLabel |
Ya no está disponible. En su lugar, usa el estado de nivel vertical. Por ejemplo, para compras, usa PurchaseOrderExtension.status. Es la etiqueta visible para el usuario correspondiente al estado de esta línea de pedido. |
|
provider |
El proveedor de la línea de pedido específica (si es diferente del pedido general). Ejemplo: Pedido de Expedia con el proveedor de línea de pedido ANA. |
|
priceAttributes[] |
Precio y ajustes a nivel de la línea de pedido. |
|
followUpActions[] |
Acciones de seguimiento en la línea de pedido. |
|
recipients[] |
Son clientes a nivel de la línea de pedido, lo que puede ser diferente del comprador a nivel del pedido. Ejemplo: El usuario X hizo una reserva en un restaurante con el nombre del usuario Y. |
|
image |
Imagen pequeña asociada con este elemento, si existe. |
|
description |
Es la descripción de la línea de pedido. |
|
notes[] |
Notas adicionales aplicables a esta línea de pedido en particular (por ejemplo, la política de cancelación). |
|
disclosures[] |
Divulgaciones asociadas con esta línea de pedido. |
|
vertical |
Obsoleto: usa verticales en su lugar. Obligatorio: El contenido semántico de la línea de pedido según su tipo o vertical. Cada vertical debe incluir sus propios detalles de entrega. Debe tener uno de los siguientes valores: Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
|
Campo de unión verticals . Obligatorio: El contenido semántico de la línea de pedido según su tipo o vertical. Cada vertical debe incluir sus propios detalles de entrega. Las direcciones (verticals ) solo pueden ser una de las siguientes opciones: |
||
purchase |
Órdenes de compra de bienes, comida, etcétera |
|
reservation |
Pedidos de reserva, como restaurante, corte de pelo, etcétera |
PriceAttribute
Atributo de precio de un pedido o una línea de pedido.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | ||
---|---|---|
type |
Obligatorio: Atributo de tipo de dinero. |
|
name |
Obligatorio: Es la cadena del atributo precio que muestra el usuario. El comercio envía y localiza el contenido. |
|
id |
Opcional: Es el ID de la línea de pedido al que corresponde este precio. |
|
state |
Obligatorio: Estado del precio: Valor estimado o real. |
|
taxIncluded |
Indica si el precio está incluido en los impuestos. |
|
Campo de unión spec . Representa el importe monetario o el porcentaje en mililitros. Las direcciones (spec ) solo pueden ser una de las siguientes opciones: |
||
amount |
Importe monetario |
|
amountMillipercentage |
La especificación de porcentaje, a 1/1,000 de un porcentaje. P. ej.: 8.750% se representa como 8, 750; los porcentajes negativos representan descuentos porcentuales. Se dará de baja este campo. Considera volver a agregar cuando se requiera un caso de uso sólido. |
Tipo
Representa el tipo de dinero.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
No se especifica el tipo, por lo que los clientes no deberían tener que configurar esto de forma explícita. |
REGULAR |
Es el precio visible normal, antes de que se apliquen los descuentos, etc. |
DISCOUNT |
Se restará del subtotal. |
TAX |
Se agregará al subtotal. |
DELIVERY |
Se agregará al subtotal. |
SUBTOTAL |
Subtotal antes de que se agreguen algunas tarifas. |
FEE |
Cualquier tarifa adicional. |
GRATUITY |
Se agregará al subtotal. |
TOTAL |
Es el precio que se muestra del pedido o la línea de pedido. |
Estado
Representa el estado del precio.
Enumeradores | |
---|---|
STATE_UNSPECIFIED |
No se especifica. |
ESTIMATE |
El precio es solo una estimación, pero el importe final se acercaría a este importe. Ejemplo: En los casos en que los impuestos no se conozcan con precisión en el momento de la transacción, el total será un importe ESTIMADO. |
ACTUAL |
Precio real que se cobrará por el usuario. |
Dinero
Representa un importe de dinero con su tipo de moneda.
Representación JSON | |
---|---|
{ "currencyCode": string, "amountInMicros": string } |
Campos | |
---|---|
currencyCode |
El código de moneda de 3 letras definido en el estándar ISO 4217. |
amountInMicros |
Importe en micros Por ejemplo, este campo se debe establecer como 1990,000 por $1.99. |
Acción
Es una acción de seguimiento asociada con el pedido o la línea de pedido.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
Obligatorio: Tipo de acción. |
title |
Es el título o la etiqueta de la acción, que se muestra al usuario. La longitud máxima permitida es de 100 caracteres. |
openUrlAction |
Acción que se debe realizar. |
actionMetadata |
Metadatos asociados con una acción. |
Tipo
Posibles acciones de seguimiento.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
Acción sin especificar. |
VIEW_DETAILS |
Acción para ver detalles del pedido. |
MODIFY |
Modificar la acción de pedido. |
CANCEL |
Cancelar la acción del pedido. |
RETURN |
Acción de devolución de pedido. |
EXCHANGE |
Acción de pedido de intercambio. |
EMAIL |
Acción de correo electrónico. Los tipos EMAIL y CALL están obsoletos. Se puede usar openUrlAction.url como número de teléfono o correo electrónico. |
CALL |
Acción de llamado. |
REORDER |
Acción de reordenamiento. |
REVIEW |
Revisa la acción del pedido. |
CUSTOMER_SERVICE |
Comunícate con atención al cliente. |
FIX_ISSUE |
Dirígete al sitio o la app del comercio para solucionar el problema. |
DIRECTION |
Vínculo de instrucciones sobre cómo llegar. |
OpenUrlAction
Abre la URL especificada.
Representación JSON | |
---|---|
{ "url": string, "androidApp": { object ( |
Campos | |
---|---|
url |
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 |
androidApp |
Es la información sobre la app para Android si se espera que una app para Android entregue la URL. |
urlTypeHint |
Indica una sugerencia para el tipo de URL. |
AndroidApp
Especificación de la app para Android para restricciones de entrega
Representación JSON | |
---|---|
{
"packageName": string,
"versions": [
{
object ( |
Campos | |
---|---|
packageName |
Nombre del paquete: Se debe especificar el nombre del paquete cuando se especifica la entrega de Android. |
versions[] |
Cuando se especifican varios filtros, cualquier coincidencia de filtro activará la app. |
VersionFilter
Se debe incluir VersionFilter si se requieren versiones específicas de la app.
Representación JSON | |
---|---|
{ "minVersion": integer, "maxVersion": integer } |
Campos | |
---|---|
minVersion |
Código de versión mínimo o 0, inclusive |
maxVersion |
Código de versión máxima, inclusive El rango que se considera es [minVersion:maxVersion]. Un rango nulo implica cualquier versión. Ejemplos: Para especificar una sola versión, usa [target_version:target_version]. Para especificar una versión, deja minVersion y maxVersion sin especificar. Para especificar todas las versiones hasta maxVersion, deja minVersion sin especificar. Para especificar todas las versiones de minVersion, deja maxVersion sin especificar. |
UrlTypeHint
Diferentes tipos de sugerencias de URL.
Enumeradores | |
---|---|
URL_TYPE_HINT_UNSPECIFIED |
Sin especificar |
AMP_CONTENT |
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">. |
ActionMetadata
Metadatos relacionados por acción.
Representación JSON | |
---|---|
{ "expireTime": string } |
Campos | |
---|---|
expireTime |
Hora en la que vencerá esta acción. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
Divulgación
Es una divulgación de la política, el producto o el servicio que se le puede presentar al usuario.
Representación JSON | |
---|---|
{ "title": string, "disclosureText": { object ( |
Campos | |
---|---|
title |
Título de la divulgación. Ejemplo: “Información de seguridad”. |
disclosureText |
Contenido de la divulgación. Se permiten los vínculos web. |
presentationOptions |
Opciones de presentación para la divulgación. |
DisclosureText
Representa un texto sin formato con vínculos web.
Representación JSON | |
---|---|
{
"template": string,
"textLinks": [
{
object ( |
Campos | |
---|---|
template |
Texto para mostrar, que contiene marcadores de posición como "{0}" y "{1}" para cada vínculo de texto que se debe insertar. Ejemplo: “ADVERTENCIA: Este producto puede exponerlo a sustancias químicas que el estado de California considera que pueden causar cáncer. Para obtener más información, visita {0}." Este texto de divulgación no debe incluir contenido promocional ni similar a un anuncio. |
textLinks[] |
Vínculos de texto que deben reemplazarse en la plantilla El primero se reemplazará por "{0}" en el string de la plantilla, el segundo por "{1}", etc. |
TextLink
Un vínculo de texto que se debe sustituir en la plantilla.
Representación JSON | |
---|---|
{ "displayText": string, "url": string } |
Campos | |
---|---|
displayText |
Texto que se debe mostrar a los usuarios. |
url |
URL a la que se debe dirigir a los usuarios cuando se activa el vínculo. |
DisclosurePresentationOptions
Opciones para la presentación de una divulgación.
Representación JSON | |
---|---|
{
"presentationRequirement": enum ( |
Campos | |
---|---|
presentationRequirement |
Requisito de presentación de la divulgación. |
initiallyExpanded |
Si el contenido de la divulgación debe expandirse inicialmente De forma predeterminada, está contraído inicialmente. |
PresentationRequirement
Requisito para la presentación de la divulgación.
Enumeradores | |
---|---|
REQUIREMENT_UNSPECIFIED |
Requisito no especificado. No debes configurar esto de forma explícita. |
REQUIREMENT_OPTIONAL |
La divulgación es opcional. Se puede omitir si el dispositivo no admite la visualización de divulgaciones. |
REQUIREMENT_REQUIRED |
La divulgación es obligatoria. La conversación se enviará al teléfono si el dispositivo no admite mostrar divulgaciones. |
PurchaseItemExtension
Contenido de la línea de pedido de la vertical de compra.
Representación JSON | |
---|---|
{ "status": enum ( |
Campos | |
---|---|
status |
Obligatorio: Es el estado a nivel de la línea de pedido. |
userVisibleStatusLabel |
Obligatorio: Etiqueta o cadena visibles para el usuario del estado. La longitud máxima permitida es de 50 caracteres. |
type |
Obligatorio: Tipo de compra. |
productId |
Es el ID de oferta o producto asociado a esta línea de pedido. |
quantity |
Es la cantidad del artículo. |
unitMeasure |
Unidad medida. Especifica el tamaño del artículo en las unidades elegidas. El tamaño y el precio activo se usan para determinar el precio unitario. |
returnsInfo |
Muestra información de esta línea de pedido. Si no se establece, esta línea de pedido hereda información de las devoluciones a nivel del pedido. |
fulfillmentInfo |
Es la información de entrega de esta línea de pedido. Si no la estableces, esta línea de pedido heredará la información de entrega a nivel del pedido. |
itemOptions[] |
Complementos o elementos secundarios adicionales. |
productDetails |
Detalles sobre el producto. |
extension |
Cualquier campo adicional intercambiado entre el comercio y Google Nota: No se recomienda usar esta extensión. Según el caso de uso o las circunstancias, considera una de las siguientes opciones: 1. Define los campos en PurchaseItemExtension si podría usarse para otros casos de uso (es decir, funcionalidades/capacidad genéricas). 2. Usa vertical_extension si se trata de una función o un caso de uso no genéricos y personalizados. Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
PurchaseStatus
Es el estado de la compra asociado a una orden de compra o una línea de pedido específica.
Enumeradores | |
---|---|
PURCHASE_STATUS_UNSPECIFIED |
Estado sin especificar. |
READY_FOR_PICKUP |
Listo para retirar. |
SHIPPED |
Enviado. |
DELIVERED |
Entregado. |
OUT_OF_STOCK |
Agotado. |
IN_PREPARATION |
"IN_PREPARATION" puede tener un significado diferente en distintos contextos. Para el pedido de COMIDA, podría ser que la comida se está preparando. En el caso de la venta minorista, podría ser un artículo envasado. |
CREATED |
Se crea el pedido. |
CONFIRMED |
El comercio confirmó el pedido. |
REJECTED |
El comercio rechazó el pedido o la línea de pedido. |
RETURNED |
El usuario devolvió el artículo. |
CANCELLED |
El usuario canceló el pedido o la línea de pedido. |
CHANGE_REQUESTED |
El usuario solicitó un cambio en el pedido, y el integrador lo está procesando. El pedido debe pasar a otro estado después de que se procese la solicitud. |
PurchaseType
Indica la categoría de la compra.
Enumeradores | |
---|---|
PURCHASE_TYPE_UNSPECIFIED |
Valor desconocido. |
RETAIL |
Incluye compras como bienes físicos. |
FOOD |
Incluye la compra de pedidos de comida. |
GROCERY |
Compra de comestibles. |
MOBILE_RECHARGE |
Compra de recarga prepagada para dispositivos móviles. |
MerchantUnitMeasure
Medida de precio por unidad de comercio.
Representación JSON | |
---|---|
{
"measure": number,
"unit": enum ( |
Campos | |
---|---|
measure |
Valor: Ejemplo 1.2. |
unit |
Unidad: Ejemplo POUND, GRAM. |
Unidad
Enumeradores | |
---|---|
UNIT_UNSPECIFIED |
Unidad no especificada. |
MILLIGRAM |
Miligramo. |
GRAM |
Gram. |
KILOGRAM |
Kilogramo. |
OUNCE |
Onza |
POUND |
Libra. |
PurchaseReturnsInfo
Muestra información asociada con un pedido o una línea de pedido en particular.
Representación JSON | |
---|---|
{ "isReturnable": boolean, "daysToReturn": integer, "policyUrl": string } |
Campos | |
---|---|
isReturnable |
Si es verdadero, se permite el retorno. |
daysToReturn |
Se permite la devolución dentro de esa cantidad de días. |
policyUrl |
Vínculo a la política de devoluciones. |
PurchaseFulfillmentInfo
Es la información de la entrega asociada a una orden de compra o una línea de pedido en particular.
Representación JSON | |
---|---|
{ "id": string, "fulfillmentType": enum ( |
Campos | |
---|---|
id |
Es el identificador único para esta opción de servicio. |
fulfillmentType |
Obligatorio: Es el tipo de entrega. |
expectedFulfillmentTime |
Es una ventana si se especifica un intervalo de tiempo o la hora de llegada estimada si se especifica un solo horario. Hora estimada de entrega o retiro. |
expectedPreparationTime |
Es una ventana si se especifica un intervalo de tiempo o la hora de llegada estimada si se especifica un solo horario. Tiempo esperado para preparar la comida. Se prefiere una sola vez. |
location |
Ubicación de retiro o entrega |
expireTime |
Hora en la que vence esta opción de entrega. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
price |
Es el costo de esta opción. |
fulfillmentContact |
Es el contacto del usuario para esta entrega. |
shippingMethodName |
Es el nombre del método de envío seleccionado por el usuario. |
storeCode |
Es el código de tienda de la ubicación. Ejemplo: Walmart es el comercio y storeCode es la tienda donde se realizó la entrega. https://support.google.com/business/answer/3370250?ref_topic=4596653. |
pickupInfo |
Información adicional sobre cómo se seleccionaría el pedido. Este campo solo sería aplicable cuando el tipo de entrega sea PICKUP. |
Tipo
Tipo de entrega.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
Indica un tipo no especificado. |
DELIVERY |
Este pedido se entregará. |
PICKUP |
Se debe retirar este pedido. |
Tiempo
Construcción de tiempo para representar la hora de un evento que se usará al mostrar un pedido al usuario.
Representación JSON | |
---|---|
{ "timeIso8601": string } |
Campos | |
---|---|
timeIso8601 |
Representa la hora del evento de pedido, como la hora de reserva, la hora de entrega, etcétera. Puede ser una duración (hora de inicio y finalización), solo la fecha, la fecha y la hora, etcétera. Consulta https://en.wikipedia.org/wiki/ISO_8601 para ver todos los formatos compatibles. |
PickupInfo
Detalles sobre cómo se retira un pedido. Incluye detalles como el tipo de retiro y los metadatos adicionales adjuntos a cada tipo, si corresponde.
Representación JSON | |
---|---|
{ "pickupType": enum ( |
Campos | |
---|---|
pickupType |
Método de retiro, como INSTORE, CURBSIDE, etcétera |
curbsideInfo |
Detalles específicos de la información de la puerta. Si retiroType no es "CURBSIDE", se ignorará este campo. |
checkInInfo[] |
Lista de varios métodos que admite el socio para admitir el registro. |
PickupType
Lista de tipos de retiros admitidos.
Enumeradores | |
---|---|
UNSPECIFIED |
Tipo de retiro sin especificar. |
INSTORE |
Recoger comida dentro del restaurante |
CURBSIDE |
Estaciona el vehículo en un lugar designado fuera del restaurante para que alguien entregue la comida allí. |
CurbsideInfo
Detalles sobre cómo se realizarían los pedidos en la puerta.
Representación JSON | |
---|---|
{ "curbsideFulfillmentType": enum ( |
Campos | |
---|---|
curbsideFulfillmentType |
Los socios necesitan información adicional para facilitar los pedidos de retiro en la puerta. Según el tipo de entrega que se elija, se recopilarán los detalles correspondientes del usuario. |
userVehicle |
Detalles del vehículo del usuario que realiza el pedido |
CurbsideFulfillmentType
Valores posibles de los tipos de entrega en la puerta.
Enumeradores | |
---|---|
UNSPECIFIED |
Tipo de entrega en la puerta sin especificar. |
VEHICLE_DETAIL |
Se requieren detalles del vehículo para facilitar los retiros en la puerta. |
Vehículo
Detalles sobre un vehículo
Representación JSON | |
---|---|
{
"make": string,
"model": string,
"licensePlate": string,
"colorName": string,
"image": {
object ( |
Campos | |
---|---|
make |
Marca del vehículo (p.ej., "Honda"). Se muestra al usuario y debe localizarse. Obligatorio. |
model |
Modelo del vehículo (p.ej., "Grom"). Se muestra al usuario y debe localizarse. Obligatorio. |
licensePlate |
Número de matrícula del vehículo (p.ej., "1ABC234"). Obligatorio. |
colorName |
Nombre del color del vehículo (p. ej., negro) Opcional. |
image |
URL a una foto del vehículo. La foto se mostrará de aproximadamente 256 x 256 px. Debe ser un archivo jpg o png. Opcional. |
CheckInInfo
Los metadatos que requiere el socio para admitir un método de registro.
Representación JSON | |
---|---|
{
"checkInType": enum ( |
Campos | |
---|---|
checkInType |
Es el método que se usa para enviar las instrucciones de registro. |
CheckInType
Se utilizan varios métodos para enviar instrucciones sobre el ingreso.
Enumeradores | |
---|---|
CHECK_IN_TYPE_UNSPECIFIED |
Valor desconocido. |
EMAIL |
La información de registro se enviará por correo electrónico. |
SMS |
La información de registro se enviará por SMS. |
ItemOption
Representa complementos o elementos secundarios.
Representación JSON | |
---|---|
{ "id": string, "name": string, "prices": [ { object ( |
Campos | |
---|---|
id |
Para opciones que son artículos, ID único de artículo. |
name |
Nombre de la opción. |
prices[] |
Precio total de la opción. |
note |
Nota relacionada con la opción. |
quantity |
Para opciones que son artículos, cantidad. |
productId |
Es el ID de oferta o producto asociado con esta opción. |
subOptions[] |
Para definir otras opciones secundarias anidadas. |
ProductDetails
Detalles sobre el producto.
Representación JSON | |
---|---|
{ "productId": string, "gtin": string, "plu": string, "productType": string, "productAttributes": { string: string, ... } } |
Campos | |
---|---|
productId |
Es el ID de oferta o producto asociado a esta línea de pedido. |
gtin |
Es el código comercial global de artículo del producto. Es útil si no aparece offerId en Merchant Center. Opcional. |
plu |
Los códigos de búsqueda de precios, comúnmente llamados códigos de PLU, números de PLU, PLU, códigos de productos o etiquetas de productos agrícolas, son un sistema de números que identifican de forma única los productos a granel que se venden en supermercados y supermercados. |
productType |
Es la categoría de producto definida por el comercio. P.ej., "Inicio > Tienda de alimentos > Lácteos y huevos > Leche > Leche entera" |
productAttributes |
Detalles proporcionados por el comercio sobre el producto, p.ej., { "allergen": "peanut" }. Es útil si offerId no está presente en Merchant Center. Opcional. Es un objeto que contiene una lista de pares |
ReservationItemExtension
Contenido de elementos de una sola línea para pedidos de reserva, como restaurante, corte de pelo, etcétera
Representación JSON | |
---|---|
{ "status": enum ( |
Campos | |
---|---|
status |
Obligatorio: estado de la reserva. |
userVisibleStatusLabel |
Obligatorio: Etiqueta o cadena visibles para el usuario del estado. La longitud máxima permitida es de 50 caracteres. |
type |
Es el tipo de reserva. Se puede desactivar si ninguna de las opciones de tipos es aplicable. |
reservationTime |
Hora a la que se programó el servicio o evento. Puede ser un intervalo de tiempo, una fecha o una fecha y hora exactas. |
userAcceptableTimeRange |
Es el intervalo de tiempo aceptable para el usuario. |
confirmationCode |
Código de confirmación para esta reserva. |
partySize |
Es la cantidad de personas. |
staffFacilitators[] |
Los facilitadores del personal que se encargarán de la reserva. P. ej., La peluquería. |
location |
Es la ubicación del servicio o evento. |
ReservationStatus
Es el estado de la reserva.
Enumeradores | |
---|---|
RESERVATION_STATUS_UNSPECIFIED |
Estado sin especificar. |
PENDING |
La reserva está pendiente. |
CONFIRMED |
Se confirmó la reserva. |
CANCELLED |
El usuario cancela la reserva. |
FULFILLED |
Se completó la reserva. |
CHANGE_REQUESTED |
Se solicitó un cambio de reserva |
REJECTED |
El integrador venció o rechazó la reserva. |
ReservationType
Es el tipo de reserva.
Enumeradores | |
---|---|
RESERVATION_TYPE_UNSPECIFIED |
Tipo no especificado |
RESTAURANT |
Reserva en restaurante. |
HAIRDRESSER |
Reserva para peluquería. |
StaffFacilitator
Información sobre el personal de servicio.
Representación JSON | |
---|---|
{
"name": string,
"image": {
object ( |
Campos | |
---|---|
name |
Es el nombre del facilitador de personal. P. ej., "Juan Pérez" |
image |
Imágenes del artista |
PaymentData
Datos de pago relacionados con un pedido.
Representación JSON | |
---|---|
{ "paymentResult": { object ( |
Campos | |
---|---|
paymentResult |
Es el resultado del pago que usa el integrador para completar una transacción. Actions on Google propagará este campo si Actions-on-Google administra la experiencia de confirmación de la compra. |
paymentInfo |
Es la información de pago relacionada con el pedido que es útil para la interacción que puede realizar el usuario. |
PaymentResult
Resultado del pago que usa el integrador para completar una transacción.
Representación JSON | |
---|---|
{ // Union field |
Campos | ||
---|---|---|
Campo de unión result . Se proporcionan los datos de pago de Google o la forma de pago para comercios. Las direcciones (result ) solo pueden ser una de las siguientes opciones: |
||
googlePaymentData |
Datos de la forma de pago proporcionados por Google. Si tu procesador de pagos aparece como procesador de pagos compatible con Google en el siguiente vínculo: https://developers.google.com/pay/api/ navega a tu procesador de pagos mediante el vínculo para obtener más información. De lo contrario, consulta la siguiente documentación para conocer los detalles de la carga útil: https://developers.google.com/pay/api/payment-data-cryptography |
|
merchantPaymentMethodId |
El usuario elige la forma de pago proporcionada por el comercio o la acción. |
PaymentInfo
Es la información de pago relacionada con el pedido realizado. Este protocolo captura información útil para la interacción que tiene el usuario.
Representación JSON | |
---|---|
{ "paymentMethodDisplayInfo": { object ( |
Campos | |
---|---|
paymentMethodDisplayInfo |
Es la información visible de la forma de pago que se usó para realizar la transacción. |
paymentMethodProvenance |
Indica la procedencia de la forma de pago que se usó para realizar la transacción. Es posible que el usuario haya registrado la misma forma de pago en Google y en el comercio. |
PaymentMethodDisplayInfo
Resultado del pago que usa el integrador para completar una transacción.
Representación JSON | |
---|---|
{
"paymentType": enum ( |
Campos | |
---|---|
paymentType |
Es el tipo de pago. |
paymentMethodDisplayName |
Es el nombre visible del usuario de la forma de pago. Por ejemplo, VISA **** 1234 Checks ctat **** 5678 |
paymentMethodVoiceName |
Es el nombre de la forma de pago que se le dirá al usuario en el caso de los dispositivos con el Asistente integrado solo por voz. Por ejemplo, “visa que finaliza en uno dos tres cuatro” o “cuenta corriente que finaliza en cinco seis siete ocho”. Nota: Esta es la cadena optimizada para voz que se utilizará en lugar de paymentMethodDisplayName para dispositivos de asistente solo por voz. Si no se establece esta cadena, se le dirá al usuario en voz alta paymentMethodDisplayName. |
PaymentType
PaymentType indica la forma de pago que se usa para la forma de pago proporcionada por el comercio. La acción también debe proporcionar un nombre visible para la forma de pago.
Enumeradores | |
---|---|
PAYMENT_TYPE_UNSPECIFIED |
No se especificó el tipo de pago. |
PAYMENT_CARD |
Una tarjeta de crédito o débito, o prepaga |
BANK |
La forma de pago es una cuenta bancaria. |
LOYALTY_PROGRAM |
La forma de pago es un programa de lealtad. |
CASH |
La forma de pago es efectivo. |
GIFT_CARD |
La forma de pago es una tarjeta de regalo. |
WALLET |
Billetera de terceros, como PayPal |
PaymentMethodProvenance
Representa la procedencia de la forma de pago utilizada para la transacción.
Enumeradores | |
---|---|
PAYMENT_METHOD_PROVENANCE_UNSPECIFIED |
No se especifica la procedencia. |
PAYMENT_METHOD_PROVENANCE_GOOGLE |
La procedencia es Google. |
PAYMENT_METHOD_PROVENANCE_MERCHANT |
La procedencia es el comercio. |
Promoción
Promociones o ofertas que se agregaron al carrito.
Representación JSON | |
---|---|
{ "coupon": string } |
Campos | |
---|---|
coupon |
Obligatorio: Se aplica el código de cupón a esta oferta. |
PurchaseOrderExtension
Extensión de pedido para la vertical de compras. Estas propiedades se aplican a todas las líneas de pedido dentro del pedido, a menos que se anulen en una línea de pedido.
Representación JSON | |
---|---|
{ "status": enum ( |
Campos | |
---|---|
status |
Obligatorio: estado general del pedido. |
userVisibleStatusLabel |
Etiqueta o cadena visibles del usuario para el estado. La longitud máxima permitida es de 50 caracteres. |
type |
Obligatorio: Tipo de compra. |
returnsInfo |
Información de devolución del pedido. |
fulfillmentInfo |
Es la información de entrega del pedido. |
purchaseLocationType |
Ubicación de la compra (en la tienda / en línea) |
errors[] |
Opcional: Errores por los que se rechazó este pedido. |
extension |
Cualquier campo adicional intercambiado entre el comercio y Google Nota: No se recomienda usar esta extensión. Según el caso de uso o las circunstancias, considera una de las siguientes opciones: 1. Define los campos en PurchaseOrderExtension si se puede usar para otros casos de uso (es decir, funcionalidades/funcionalidades genéricas). 2. Usa vertical_extension si se trata de una función o un caso de uso no genéricos y personalizados. Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
PurchaseLocationType
Es el tipo de ubicación de la compra.
Enumeradores | |
---|---|
UNSPECIFIED_LOCATION |
Valor desconocido. |
ONLINE_PURCHASE |
Todas las compras compradas en línea |
INSTORE_PURCHASE |
Todas las compras en la tienda |
PurchaseError
Errores por los que se puede rechazar una orden de compra.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
Obligatorio: Representa el motivo detallado por el que el comercio rechaza un pedido. |
description |
Descripción adicional del error. |
entityId |
Es el ID de entidad que corresponde al error. Ejemplo que puede corresponder a LineItemId / ItemOptionId. |
updatedPrice |
Esto es relevante en el caso de los tipos de error PRICE_CHANGED o INCORRECT_PRICE. |
availableQuantity |
Cantidad disponible ahora. Aplicable en el caso de AVAILABILITY_CHANGED. |
ErrorType
Tipos de errores posibles.
Enumeradores | |
---|---|
ERROR_TYPE_UNSPECIFIED |
Error desconocido |
NOT_FOUND |
No se encontró la entidad; podría ser Item, FulfillmentOption o Promoción. El ID de entidad es obligatorio. |
INVALID |
Los datos de la entidad no son válidos. Podrían ser Item, FulfillmentOption o Promoción. El ID de entidad es obligatorio. |
AVAILABILITY_CHANGED |
El artículo no está disponible o no es suficiente para completar la solicitud. El ID de entidad es obligatorio. |
PRICE_CHANGED |
El precio del artículo es distinto del precio de la entidad del artículo. Se requieren el ID de entidad y el precio actualizado. |
INCORRECT_PRICE |
Errores de precio en Tarifas, Total. Se requieren el ID de entidad y el precio actualizado. |
REQUIREMENTS_NOT_MET |
No se cumplieron las restricciones para aceptar pedidos (tamaño mínimo de la cesta, etcétera). |
TOO_LATE |
Venció FulfillmentOption. |
NO_CAPACITY |
No hay capacidad de servicio disponible. Usa este código de error si no corresponde ninguno de los tipos de error más detallados. |
NO_COURIER_AVAILABLE |
No se encontró ningún servicio de entrega. Un tipo de error detallado que se puede categorizar como NO_CAPACITY. |
INELIGIBLE |
El usuario no es apto para realizar un pedido (se encuentra en la lista negra). |
OUT_OF_SERVICE_AREA |
No se puede realizar la entrega a la dirección solicitada debido a las reglas fronterizas, etcétera. |
CLOSED |
El restaurante está cerrado a la hora del pedido. |
PROMO_NOT_APPLICABLE |
Código de error genérico para detectar todos los casos en los que no se puede aplicar el código promocional si ninguno de los siguientes es adecuado. Agrega el código promocional como ID de entidad. |
PROMO_NOT_RECOGNIZED |
El socio no reconoció el código del cupón. Agrega el código promocional como ID de entidad. |
PROMO_EXPIRED |
No se pudo aplicar porque la promoción venció. Agrega el código promocional como ID de entidad. |
PROMO_USER_INELIGIBLE |
El usuario actual no es apto para este cupón. Agrega el código promocional como ID de entidad. |
PROMO_ORDER_INELIGIBLE |
El pedido actual no es apto para este cupón. Agrega el código promocional como ID de entidad. |
UNAVAILABLE_SLOT |
El horario disponible para pedir por adelantado no está disponible. |
FAILED_PRECONDITION |
No se cumplieron las restricciones para aceptar pedidos (tamaño mínimo de la cesta, etcétera). |
PAYMENT_DECLINED |
El pago no es válido. |
MERCHANT_UNREACHABLE |
No se puede establecer comunicación con el comercio. Esto es útil cuando un socio es un agregador y no puede comunicarse con el comercio. |
ACCOUNT_LINKING_FAILED |
El comerciante intentó vincular la Cuenta de Google del usuario a una cuenta en su sistema, pero se produjo un error al hacerlo. |
TicketOrderExtension
Pide contenido para pedidos de entradas, como películas, deportes, etcétera.
Representación JSON | |
---|---|
{
"ticketEvent": {
object ( |
Campos | |
---|---|
ticketEvent |
El evento se aplica a todas las entradas de línea de pedido. |
TicketEvent
Representa un evento único.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
Obligatorio: Tipo de evento de entrada, p.ej., película o concierto. |
name |
Obligatorio: El nombre del evento. Por ejemplo, si el evento es una película, este debe ser el nombre de la película. |
description |
Descripción del evento. |
url |
URL a la información del evento. |
location |
Es la ubicación donde se realizará el evento o donde se encuentra una organización. |
eventCharacters[] |
Son los caracteres relacionados con este evento. Pueden ser directores o actores de un evento cinematográfico, o los artistas de un concierto, etcétera. |
startDate |
Hora de inicio |
endDate |
Hora de finalización |
doorTime |
Hora de entrada, que puede ser diferente de la hora de inicio del evento. P. ej., el evento comienza a las 9 a.m., pero el horario de entrada es a las 8:30 a.m. |
Tipo
El tipo de evento.
Enumeradores | |
---|---|
EVENT_TYPE_UNKNOWN |
El tipo de evento es desconocido. |
MOVIE |
Película. |
CONCERT |
Concierto. |
SPORTS |
Deportes. |
EventCharacter
Un carácter del evento, p.ej., organizador, intérprete, etc.
Representación JSON | |
---|---|
{ "type": enum ( |
Campos | |
---|---|
type |
El tipo de personaje del evento, p.ej., actor o director. |
name |
Es el nombre del carácter. |
image |
Imágenes del personaje |
Tipo
Es un tipo de carácter.
Enumeradores | |
---|---|
TYPE_UNKNOWN |
Tipo desconocido. |
ACTOR |
Actor |
PERFORMER |
Artista. |
DIRECTOR |
Director |
ORGANIZER |
Organizador. |
UserNotification
Es una notificación opcional para el usuario que se mostrará como parte de la actualización del pedido.
Representación JSON | |
---|---|
{ "title": string, "text": string } |
Campos | |
---|---|
title |
El título de la notificación del usuario. La longitud máxima permitida es de 30 caracteres. |
text |
El contenido de la notificación La longitud máxima permitida es de 100 caracteres. |
NextScene
Representa la escena que se ejecutará a continuación.
Representación JSON | |
---|---|
{ "name": string } |
Campos | |
---|---|
name |
Nombre de la escena que se ejecutará a continuación. |
Sesión
Contiene información sobre la sesión de conversación actual
Representación JSON | |
---|---|
{
"id": string,
"params": {
string: value,
...
},
"typeOverrides": [
{
object ( |
Campos | |
---|---|
id |
Obligatorio. Es el ID único global de la sesión de conversación actual. Este campo es de solo lectura. |
params |
Obligatorio. Lista de todos los parámetros recopilados de los formularios y los intents durante la sesión. Key es el nombre del parámetro. Los parámetros definidos aquí se combinarán con los parámetros ya definidos en la sesión. Los parámetros con un valor nulo se quitarán de la sesión. Consulta la documentación sobre el almacenamiento de la sesión: https://developers.google.com/assistant/conversational/storage-session. Es un objeto que contiene una lista de pares |
typeOverrides[] |
Opcional. Tipos con alcance para la sesión. Las definiciones de tipo de sesión pueden complementar o reemplazar los tipos existentes. Los nombres de tipos deben ser únicos. |
languageCode |
Idioma de la sesión de conversación actual. Sigue el código de idioma BCP-47 de IETF: http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Esto podría ser diferente de la configuración regional del usuario si la acción usa funciones en varios idiomas. Por ejemplo, cuando se establece handle_response.expected.language_code, cambia el idioma de la conversación para todos los turnos siguientes, lo que se reflejará en este campo. |
TypeOverride
Representa una anulación para un tipo.
Representación JSON | |
---|---|
{ "name": string, "mode": enum ( |
Campos | |
---|---|
name |
Obligatorio. Nombre del tipo que se debe complementar o anular. |
mode |
Obligatorio. Cómo se debe combinar este tipo con otros valores de tipo. |
synonym |
|
TypeOverrideMode
Los tipos de modificaciones para un tipo de entidad de sesión.
Enumeradores | |
---|---|
TYPE_UNSPECIFIED |
No especificado. Este valor nunca debe usarse. |
TYPE_REPLACE |
Las definiciones de tipo en esta respuesta reemplazarán las definiciones de tipo que se definieron anteriormente. |
TYPE_MERGE |
Las definiciones de tipo en esta respuesta se combinarán con las definiciones de tipo que se definieron anteriormente. Las definiciones de tipo nuevas reemplazarán las definiciones de tipo existentes. |
SynonymType
Representa un tipo con sinónimos.
Representación JSON | |
---|---|
{
"entries": [
{
object ( |
Campos | |
---|---|
entries[] |
Obligatorio. Lista de entradas para el tipo de sinónimo. |
Entrada
Representa una entrada para un tipo de sinónimo.
Representación JSON | |
---|---|
{
"name": string,
"synonyms": [
string
],
"display": {
object ( |
Campos | |
---|---|
name |
Obligatorio. Nombre de la entrada (p.ej., "bicicleta"). La entrada de este campo debe incluirse en el campo de sinónimos repetidos para que se reconozca como un valor de tipo válido. |
synonyms[] |
Obligatorio. Lista de sinónimos para la entrada (p. ej., "bicicleta", "ciclo") |
display |
Opcional. Es la información del elemento que se muestra. |
EntryDisplay
Representación JSON | |
---|---|
{ "title": string, "description": string, "image": { object ( |
Campos | |
---|---|
title |
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 en el conjunto de elementos de la colección. |
description |
Opcional. Texto del cuerpo de la tarjeta |
image |
Opcional. La imagen que se mostrará. |
footer |
Opcional. Texto del pie de página del elemento de la colección de navegación, que aparece debajo de la descripción. Línea única de texto truncada con puntos suspensivos |
openUrl |
URL del documento asociado con el elemento del carrusel de navegación. Obligatorio para el carrusel de navegación. |
Usuario
Representa al usuario que realiza una solicitud a la acción.
Representación JSON | |
---|---|
{ "locale": string, "params": { string: value, ... }, "accountLinkingStatus": enum ( |
Campos | |
---|---|
locale |
Es la configuración regional principal del usuario que realiza la solicitud. Sigue el código de idioma BCP-47 de IETF: http://www.rfc-editor.org/rfc/bcp/bcp47.txt. Sin embargo, no se incluye la subetiqueta de secuencia de comandos. |
params |
Opcional. Lista de todos los parámetros asociados con el usuario actual. Consulta la documentación sobre almacenamiento de los usuarios: https://developers.google.com/assistant/conversational/storage-user. Es un objeto que contiene una lista de pares |
accountLinkingStatus |
Si la cuenta de usuario está vinculada a la app |
verificationStatus |
Indica el estado de verificación del usuario. |
lastSeenTime |
La marca de tiempo de la última interacción con este usuario. Este campo se omitirá si el usuario no interactuó con el agente anteriormente. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
engagement |
La participación del usuario actual, incluida cualquier suscripción a intents. |
packageEntitlements[] |
Derechos del usuario relacionados con el paquete de Android asociado a la acción actual |
permissions[] |
Contiene los permisos que el usuario otorgó a esta acción. |
AccountLinkingStatus
Indica si el usuario final vinculó su cuenta a esta app. Consulta la documentación de vinculación de cuentas: https://developers.google.com/assistant/identity.
Enumeradores | |
---|---|
ACCOUNT_LINKING_STATUS_UNSPECIFIED |
Desconocido. |
NOT_LINKED |
El usuario no vinculó su cuenta a esta app. |
LINKED |
El usuario vinculó su cuenta a esta app. |
UserVerificationStatus
Indica si Google verificó al usuario. El estado VERIFICADO indica que puedes guardar datos de todas las conversaciones mediante el campo de parámetros o con la vinculación de cuentas.
Enumeradores | |
---|---|
USER_VERIFICATION_STATUS_UNSPECIFIED |
Desconocido. |
GUEST |
Usuario invitado. |
VERIFIED |
Usuario verificado. |
Participación
Proporciona información adicional de solo lectura sobre los mecanismos de participación en los que se registró el usuario actual. Por ejemplo, puede ser útil saber a qué intents ya se suscribió el usuario para evitar pedirle que se suscriba nuevamente al mismo intent. Es decir, esta información se puede usar para enrutar de forma condicional a una escena a fin de configurar DailyUpdates o PushNotifications solo si el usuario aún no se suscribió. Consulta la documentación sobre la participación de los usuarios: https://developers.google.com/assistant/engagement.
Representación JSON | |
---|---|
{ "pushNotificationIntents": [ { object ( |
Campos | |
---|---|
pushNotificationIntents[] |
Contiene una lista de intents para las que el usuario habilitó las notificaciones push. |
dailyUpdateIntents[] |
Contiene una lista de intents para los que el usuario habilitó la actualización diaria. |
IntentSubscription
Describe una IntentSubscription existente.
Representación JSON | |
---|---|
{ "intent": string, "contentTitle": string } |
Campos | |
---|---|
intent |
Nombre del intent al que está suscrito. |
contentTitle |
Es una descripción breve de la suscripción. Se usa como etiqueta de la notificación y cuando Asistente le solicita permiso al usuario. |
PackageEntitlements
Es la lista de derechos del usuario relacionados con un nombre de paquete. Consulta la documentación sobre buenas transacciones digitales: https://developers.google.com/assistant/transactions/digital/dev-guide-digital-non-consumables.
Representación JSON | |
---|---|
{
"packageName": string,
"entitlements": [
{
object ( |
Campos | |
---|---|
packageName |
Es el nombre del paquete de Android especificado en el paquete de acciones. |
entitlements[] |
Los derechos del usuario para el paquete determinado. |
Derecho
Define los derechos digitales del usuario.
Representación JSON | |
---|---|
{ "sku": string, "skuType": enum ( |
Campos | |
---|---|
sku |
SKU del producto Nombre del paquete de la aplicación pagada, sufijo del documento Finsky para compras directas desde la aplicación y suscripción directa desde la aplicación. Haz coincidir getSku() en la API de Facturación integrada en Play. Consulta la documentación sobre la Facturación integrada en Play: https://developer.android.com/google/play/billing. |
skuType |
Es el tipo de SKU. |
inAppDetails |
Presente únicamente para compras directas desde la aplicación y suscripciones integradas en la aplicación. |
SkuType
Enumeradores | |
---|---|
SKU_TYPE_UNSPECIFIED |
|
IN_APP |
Compra directa desde la app |
SUBSCRIPTION |
Suscripciones |
APP |
Apps pagadas |
SignedData
Representación JSON | |
---|---|
{ "inAppPurchaseData": { object }, "inAppDataSignature": string } |
Campos | |
---|---|
inAppPurchaseData |
Contiene todos los datos de compras directas desde la aplicación en formato JSON. Consulta los detalles en la tabla 6 de https://developer.android.com/google/play/billing/billing_reference.html. |
inAppDataSignature |
Coincide con IN_APP_DATA_SIGNATURE con el método getPurchases() en la API de Facturación InApp de Play. |
Permisos
Valores posibles de permiso.
Enumeradores | |
---|---|
PERMISSION_UNSPECIFIED |
Permiso sin especificar. |
DEVICE_PRECISE_LOCATION |
Solicita la ubicación precisa, la latitud y longitud, y la dirección con formato del usuario. |
DEVICE_COARSE_LOCATION |
Solicita la ubicación aproximada, el código postal, la ciudad y el código de país del usuario. |
UPDATE |
Solicita permisos para enviar actualizaciones. Consulta https://developers.google.com/assistant/engagement/daily. |
Principal
Representa la estructura de HomeGraph a la que pertenece el dispositivo de destino del usuario.
Representación JSON | |
---|---|
{ "params": { string: value, ... } } |
Campos | |
---|---|
params |
Opcional. Lista de parámetros asociados con la estructura de HomeGraph a la que pertenece el dispositivo de destino. Consulta la documentación sobre el almacenamiento en la casa: https://developers.google.com/assistant/conversational/storage-home. Es un objeto que contiene una lista de pares |
Dispositivo
Representa el dispositivo que el usuario utiliza para realizar una solicitud a la acción.
Representación JSON | |
---|---|
{ "capabilities": [ enum ( |
Campos | |
---|---|
capabilities[] |
Obligatoria: las capacidades del dispositivo que realiza una solicitud a la Acción. |
currentLocation |
Opcional. Es la ubicación del dispositivo del usuario. Ten en cuenta que esto solo se completa después de que el usuario final otorga los permisos de ubicación. Consulta el mensaje de ubicación para obtener más detalles sobre los campos que se configuran según el permiso general o detallado. Consulta la documentación sobre permisos: https://developers.google.com/assistant/conversational/permissions. |
timeZone |
Opcional. Es la zona horaria asociada con el dispositivo del cliente. Podría usarse para resolver valores de fecha y hora. |
Capacidades
Son las capacidades que admite la plataforma del dispositivo en el momento de la solicitud.
Enumeradores | |
---|---|
UNSPECIFIED |
Capacidad del dispositivo 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. |
WEB_LINK |
El dispositivo puede usar vínculos web en respuestas enriquecidas para abrir un navegador web. |
HOME_STORAGE |
El dispositivo puede admitir guardar y recuperar almacenamiento de la casa. |
Location
Es un contenedor que representa una ubicación.
Representación JSON | |
---|---|
{ "coordinates": { object ( |
Campos | |
---|---|
coordinates |
Coordenadas geográficas. Requiere el permiso [DEVICE_PRECISE_LOCATION]. |
postalAddress |
Dirección postal. Requiere el permiso [DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION]. Cuando se otorga el permiso de ubicación aproximada, solo se espera que se propaguen los campos 'postalCode' y 'localidad'. El permiso de ubicación precisa propagará campos adicionales como “administrativeArea” y “addressLines”. |
TimeZone
Representa una zona horaria de la base de datos de zonas horarias de IANA.
Representación JSON | |
---|---|
{ "id": string, "version": string } |
Campos | |
---|---|
id |
Zona horaria de la base de datos de zonas horarias de IANA, p. ej., “America/New_York”. |
version |
Opcional. Número de versión de la base de datos de zonas horarias de IANA, p. ej., “2019a”. |
contexto
Contiene información de contexto cuando el usuario realiza una consulta. Dicho contexto incluye, sin limitaciones, información sobre la sesión multimedia activa, la app web del estado de Canvas, etcétera.
Representación JSON | |
---|---|
{ "media": { object ( |
Campos | |
---|---|
media |
Contiene información contextual sobre la sesión multimedia activa actual. |
canvas |
Contiene información contextual sobre el lienzo actual. |
MediaContext
Contiene información contextual sobre la sesión multimedia activa actual.
Representación JSON | |
---|---|
{ "progress": string, "index": integer } |
Campos | |
---|---|
progress |
Progreso del archivo multimedia activo actual. Es una duración en segundos con hasta nueve dígitos fraccionarios que termina en " |
index |
Índice basado en 0 del archivo multimedia activo actual en la lista de archivos multimedia en la respuesta de contenido multimedia. |
CanvasContext
Contiene información contextual sobre el lienzo actual.
Representación JSON | |
---|---|
{ "state": value } |
Campos | |
---|---|
state |
Opcional. Estado establecido por la app de 3P Interactive Canvas. Solo se establece para la solicitud, no para la respuesta. Por ejemplo, si se trata de una aplicación de recetas, el estado puede ser un valor de struct : { "current_page" : 5, "last_page" : 3, } El límite de tamaño es de 50 KB. |
Momento previsto
Describe las expectativas para el próximo turno de diálogo.
Representación JSON | |
---|---|
{ "speech": [ string ] } |
Campos | |
---|---|
speech[] |
Lista de frases que espera la acción del enunciado del usuario para la personalización de voz. Se permiten hasta 1,000 frases. Nota: Este campo tiene el mismo significado que ExpectedInput.speech_biasing_hints en la API v2. |