Recibe interacciones de los usuarios y responde a ellas

En esta página, se describe cómo tu app de Google Chat puede recibir y responder a las interacciones del usuario, también conocidas como eventos de interacción en la app de Google Chat.

Un evento de interacción con la app de Google Chat representa cualquier acción que un usuario realiza para invocar una app de Chat o interactuar con ella, como @mencionar una app de Chat o agregarla a un espacio. Cuando los usuarios interactúan con una app de Chat, Google Chat le envía un evento de interacción. La app de Chat puede usar el evento para procesar la interacción y crear una respuesta.

Por ejemplo, las apps de Chat usan eventos de interacción para realizar cualquiera de las siguientes acciones:

Ejemplo de un evento de interacción Respuesta típica de una app de Chat
Un usuario invoca una app de Chat con una @mención o un comando de barra. La app de Chat procesa lo que dice el mensaje para crear uno. Por ejemplo, una app de Chat responde al comando /about con un mensaje que explica las tareas que puede hacer la app de Chat.
Un usuario agrega una app de Chat a un espacio. La app de Chat envía un mensaje de integración en el que se explica lo que hace y cómo los usuarios del espacio pueden interactuar con ella.
Un usuario quita una app de Chat de un espacio. La app de Chat quita todas las notificaciones entrantes configuradas para el espacio (como borrar un webhook) y libera el almacenamiento interno.
Un usuario hace clic en un botón de una tarjeta o un diálogo que envía la app de Chat. La app de Chat procesa y almacena los datos que envió el usuario, o bien muestra otra tarjeta o diálogo.

Para cada tipo de interacción del usuario, Google Chat envía un tipo diferente de evento de interacción que ayuda a tu app de Chat a manejar cada tipo de evento según corresponda. Por ejemplo, Google Chat usa el tipo de evento ADDED_TO_SPACE para cualquier interacción en la que un usuario agrega la app de Chat a un espacio, de modo que la app de Chat pueda procesar una respuesta, como publicar un mensaje de bienvenida en el espacio. Para ver todos los eventos de interacción compatibles, consulta la documentación de referencia de EventType.

En esta página, se describe cómo hacer lo siguiente:

  • Configura tu app de Chat para recibir eventos.
  • Procesa el evento de interacción en tu infraestructura.
  • Si corresponde, responde a los eventos de interacción.

Recibe eventos de interacción con la app de Chat

En esta sección, se describe cómo recibir y procesar eventos de interacción para tu app de Chat.

Configura tu app de Chat para recibir eventos de interacción

No todas las apps de Chat son interactivas. Por ejemplo, los webhooks entrantes solo pueden enviar mensajes salientes y no pueden responder a los usuarios. Si estás compilando una app de Chat interactiva, debes elegir un extremo que le permita recibir, procesar y responder eventos de interacción. Si quieres obtener más información para diseñar tu app de Chat, consulta Arquitecturas de implementación de apps de Chat.

Si creaste una app de Chat interactiva, debes configurar la API de Google Chat para que pueda enviarte eventos de interacción:

  1. En la consola de Google Cloud, abre la página de la API de Google Chat:

    Ir a la página de la API de Google Chat

  2. Haz clic en la pestaña Configuración.
  3. En la sección Funciones interactivas, haz clic en el botón de activación Habilitar funciones interactivas.
  4. En Funcionalidad, selecciona una de las siguientes casillas de verificación o ambas:
    1. Recibir mensajes 1:1: Permite que los usuarios interactúen con tu app de Chat en espacios de mensajes directos (MD). Tu app de Chat recibe eventos de interacción cada vez que un usuario envía un mensaje en el espacio de MD.
    2. Unirse a espacios y conversaciones grupales: Permite que los usuarios agreguen y quiten tu app de Chat en espacios con más de una persona. Tu app de Chat recibe eventos de interacción cada vez que se la agrega al espacio o se quita de este, así como cada vez que los usuarios mencionan @o usan un comando de barra en el espacio.
  5. En Configuración de la conexión, especifica a qué lugar Google Chat envía los eventos de interacción con la app de Chat.
  6. Opcional: En Comandos de barra, agrega y configura uno o más comandos de barra. Para obtener más información, consulta Cómo configurar comandos de barra.
  7. Opcional: En Vistas previas de vínculos, agrega y configura uno o más patrones de URL de los que puede obtener una vista previa tu app de Chat. Si deseas obtener más información, consulta Vista previa de vínculos.
  8. Haz clic en Guardar.

Tu app de Chat ya está configurada para recibir eventos de interacción de Google Chat.

Controla los reintentos de llamada HTTP en tu servicio

Si falla una solicitud HTTPS a tu servicio (como un tiempo de espera, una falla temporal de la red o un código de estado HTTPS que no sea 2xx), Google Chat puede reintentar la entrega algunas veces en pocos minutos (pero esto no está garantizado). Como resultado, una app de Chat podría recibir el mismo mensaje varias veces en situaciones particulares. Si la solicitud se completa correctamente, pero muestra una carga útil de mensaje no válida, Google Chat no reintenta la solicitud.

Procesa eventos de interacción o responde a ellos

En esta sección, se explica cómo las apps de Google Chat pueden procesar y responder a los eventos de interacción.

Cuando tu app de Chat recibe un evento de interacción de Google Chat, puede responder de muchas maneras. En muchos casos, las apps interactivas de Chat responden al usuario con un mensaje. La app de Google Chat también puede buscar información en una fuente de datos, registrar la información del evento de interacción o casi cualquier otra cosa. En esencia, este comportamiento del procesamiento es lo que define la app de Google Chat.

Para cada evento de interacción, las apps de Chat reciben un cuerpo de la solicitud, que es la carga útil de JSON que representa el evento. Puedes usar la información para procesar una respuesta. Para ver ejemplos de cargas útiles de eventos, consulta Tipos de eventos de interacción con la app de Chat.

En el siguiente diagrama, se muestra cómo la app de Google Chat suele procesar o responder a diferentes tipos de eventos de interacción:

Arquitectura de cómo las apps de Google Chat procesan los eventos de interacción.

Ver respuestas en tiempo real

Los eventos de interacción permiten que las apps de Chat respondan en tiempo real o de forma síncrona. Las respuestas síncronas no requieren autenticación.

Para crear respuestas síncronas a los eventos de interacción, consulta las siguientes guías:

Para responder de forma síncrona, una app de Chat debe responder en un plazo de 30 segundos y la respuesta debe publicarse en el espacio donde ocurrió la interacción. De lo contrario, la app de Chat puede responder de forma asíncrona.

Responde de forma asíncrona

En ocasiones, las apps de Chat deben responder a un evento de interacción después de 30 segundos o realizar tareas fuera del espacio en el que se generó el evento de interacción. Por ejemplo, es posible que una app de Chat deba responder al usuario después de completar una tarea de larga duración. En ese caso, las apps de Chat pueden responder de forma asíncrona llamando a la API de Google Chat.

Para crear un mensaje con la API de Chat, consulta Crea un mensaje. Si deseas obtener guías para usar otros métodos de la API de Chat, consulta la Descripción general de la API de Chat.