Recibe interacciones con tu app de Google Chat y respóndelas

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

Un evento de interacción de la app de Google Chat representa cualquier acción que realiza un usuario 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 envía un evento de interacción a esta app. 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 mediante una @mención o un comando de barra. La app de Chat procesa lo que dice el mensaje para crear un mensaje. Por ejemplo, una app de Chat responde al comando /about con un mensaje que explica las tareas que puede realizar 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 que explica qué 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 enviado por la app de Chat. La app de Chat procesa y almacena los datos que envió el usuario o devuelve 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. Por ejemplo, Google Chat usa el tipo de evento MESSAGE para cualquier interacción en la que un usuario invoque la app de Chat en un mensaje. Para obtener más información, consulta Tipos de eventos de interacción con la app de Google Chat.

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 de la app de Chat

En esta sección, se describe cómo recibir y procesar eventos de interacción en 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 permita a la app de Chat recibir, procesar y responder a 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 compilaste una app de Chat interactiva, debes configurar la API de Google Chat para que Google Chat pueda enviarte eventos de interacción. Para ello, sigue estos pasos:

  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 Habilitar funciones interactivas para que se active.
  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 agrega o quita del espacio, y cada vez que los usuarios @mencionan o usan un comando de barra en el espacio.
  5. En Configuración de la conexión, especifica adónde envía Google Chat 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 Configura comandos de barra.
  7. Opcional: En Vistas previas de vínculos, agrega y configura uno o más patrones de URL de los que se obtenga una vista previa de tu app de Chat. Si quieres obtener más información, consulta Cómo obtener una vista previa de los 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 llamadas HTTP a 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 es 2xx), Google Chat podría 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 algunas veces en ciertas situaciones. Si la solicitud se completa correctamente, pero muestra una carga útil de mensaje no válida, Google Chat no vuelve a intentar la solicitud.

Cómo procesar o responder a eventos de interacción

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

Después de que 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 de una fuente de datos, registrar la información del evento de interacción o casi cualquier otra cosa. En esencia, este comportamiento de procesamiento es lo que define la app de Google Chat.

Para cada evento de interacción, las apps de Chat reciben el 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 de apps 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 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 eventos de interacción, consulta las siguientes guías:

Para responder de forma síncrona, una app de Chat debe responder en 30 segundos, y la respuesta debe publicarse en el espacio en el que 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ó ese evento. Por ejemplo, es posible que una app de Chat necesite responder al usuario después de completar una tarea de larga duración. En este 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. Para obtener guías sobre el uso de métodos adicionales de la API de Chat, consulta la descripción general de la API de Chat.