Event

Un evento de interacción de la app de Google Chat

Para obtener información sobre los eventos de interacción, consulta Cómo recibir y responder interacciones con tu app de Google Chat. Para obtener más información sobre los tipos de eventos y, por ejemplo, las cargas útiles de eventos, consulta Tipos de eventos de interacción con la app de Google Chat.

Además de recibir eventos de las interacciones de los usuarios, las apps de Chat pueden recibir eventos sobre los cambios en los espacios, como cuando se agrega un miembro nuevo a uno. Para obtener más información sobre los eventos espaciales, consulta Trabaja con eventos de Google Chat.

Representación JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  }
}
Campos
type

enum (EventType)

Indica el tipo de evento de interacción. Para obtener más información, consulta Tipos de eventos de interacción con la app de Google Chat.

eventTime

string (Timestamp format)

La marca de tiempo que indica cuándo ocurrió el evento de interacción.

token

string

Un valor secreto que las apps de Chat heredadas pueden usar para verificar si una solicitud proviene de Google. Google genera el token de forma aleatoria, y su valor permanece estático. Puede obtener, revocar o volver a generar el token desde la página de configuración de la API de Chat en la consola de Google Cloud.

Las apps de Chat modernas no usan este campo. No aparece en las respuestas de la API ni en la página de configuración de la API de Chat.

threadKey

string

La clave definida por la app de Chat para la conversación relacionada con el evento de interacción. Consulta spaces.messages.thread.threadKey para obtener más información.

message

object (Message)

Es el mensaje que activó el evento de interacción, si corresponde.

user

object (User)

Es el usuario que activó el evento de interacción.

space

object (Space)

Indica el espacio en el que ocurrió el evento de interacción.

action

object (FormAction)

En el caso de los eventos de interacción con CARD_CLICKED, son los datos de las acciones del formulario asociados cuando un usuario hace clic en una tarjeta o en un diálogo. Para obtener más información, consulta Cómo leer los datos de formularios que ingresan los usuarios en las tarjetas.

configCompleteRedirectUrl

string

La URL a la que la app de Chat debe redireccionar al usuario después de que haya completado un flujo de autorización o configuración fuera de Google Chat. Para obtener más información, consulta Conecta una app de Chat con otros servicios y herramientas.

isDialogEvent

boolean

En el caso de los eventos de interacción con CARD_CLICKED, indica si el usuario interactuó con un diálogo.

dialogEventType

enum (DialogEventType)

El tipo de evento de interacción dialog que se recibió.

common

object (CommonEventObject)

Representa información sobre el cliente del usuario, como la configuración regional, la app host y la plataforma. En el caso de las apps de Chat, CommonEventObject incluye información enviada por los usuarios que interactúan con diálogos, como los datos ingresados en una tarjeta.

CommonEventObject

Representa información sobre el cliente del usuario, como la configuración regional, la app host y la plataforma. En el caso de las apps de Chat, CommonEventObject incluye datos enviados por los usuarios que interactúan con tarjetas, como los datos ingresados en diálogos.

Representación JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Campos
userLocale

string

Es el locale.displayName completo con el formato [código de idioma ISO 639]-[código de país/región de ISO 3166], como “en-US”.

hostApp

enum (HostApp)

La enumeración hostApp, que indica la app desde la que se invoca el complemento. Siempre CHAT para las apps de Chat

platform

enum (Platform)

La enumeración de la plataforma, que indica la plataforma en la que se origina el evento (WEB, IOS o ANDROID). No es compatible con las apps de Chat.

timeZone

object (TimeZone)

Indica el ID de zona horaria y la diferencia con el tiempo universal coordinado (UTC). Solo es compatible con los tipos de eventos CARD_CLICKED y SUBMIT_DIALOG.

formInputs

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

Un mapa que contiene los valores que un usuario ingresa en un widget desde una tarjeta o un diálogo. Las claves del mapa son los IDs de cadena asignados a cada widget, y los valores representan las entradas de este.

Para obtener más detalles, consulta Procesa la información que ingresan los usuarios.

parameters

map (key: string, value: string)

Los parámetros personalizados que se pasaron a la función invocada. Tanto las claves como los valores deben ser strings.

invokedFunction

string

Nombre de la función invocada asociada con el widget. Solo se establece para apps de Chat.

TimeZone

Indica el ID de zona horaria y la diferencia con el tiempo universal coordinado (UTC). Solo es compatible con los tipos de eventos CARD_CLICKED y SUBMIT_DIALOG.

Representación JSON
{
  "id": string,
  "offset": integer
}
Campos
id

string

El código de la base de datos de zona horaria IANA TZ, como “America/Toronto”.

offset

integer

Indica el desplazamiento de la zona horaria del usuario, en milisegundos, con respecto al tiempo universal coordinado (UTC).

Entradas

Tipos de datos que los usuarios pueden ingresar en tarjetas o diálogos. El tipo de entrada depende del tipo de valores que acepte el widget.

Representación JSON
{

  // Union field inputs can be only one of the following:
  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
  // End of list of possible types for union field inputs.
}
Campos

Campo de unión inputs.

inputs puede ser una de las siguientes opciones:

stringInputs

object (StringInputs)

Una lista de cadenas que representan los valores que el usuario ingresa en un widget.

Si el widget solo acepta un valor, como un widget TextInput, la lista contiene un objeto de cadena. Si el widget acepta varios valores, como un widget de casillas de verificación SelectionInput, la lista contiene un objeto de string para cada valor que el usuario ingresa o selecciona.

dateTimeInput

object (DateTimeInput)

Valores de entrada de fecha y hora de un widget DateTimePicker que acepta tanto una fecha como una hora

dateInput

object (DateInput)

Valores de entrada de fecha de un widget DateTimePicker que solo acepta valores de fecha

timeInput

object (TimeInput)

Valores de entrada de tiempo de un widget DateTimePicker que solo acepta valores de hora.

StringInputs

Parámetro de entrada para widgets normales. En el caso de los widgets con un solo valor, es una lista de valores únicos. En el caso de los widgets con valores múltiples, como la casilla de verificación, se presentan todos los valores.

Representación JSON
{
  "value": [
    string
  ]
}
Campos
value[]

string

Una lista de cadenas ingresadas por el usuario.

DateTimeInput

Valores de entrada de fecha y hora.

Representación JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Campos
msSinceEpoch

string (int64 format)

Tiempo desde el ciclo de entrenamiento, en milisegundos.

hasDate

boolean

Indica si la entrada datetime incluye una fecha de calendario.

hasTime

boolean

Indica si la entrada datetime incluye una marca de tiempo.

DateInput

Valores de entrada de fecha.

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

string (int64 format)

Tiempo desde el ciclo de entrenamiento, en milisegundos.

TimeInput

Valores de entrada de tiempo.

Representación JSON
{
  "hours": integer,
  "minutes": integer
}
Campos
hours

integer

La hora en un reloj de 24 horas.

minutes

integer

La cantidad de minutos después de la hora. Los valores válidos van del 0 al 59.