Recevoir des interactions utilisateur et y répondre

Cette page décrit comment votre application Google Chat peut recevoir des interactions utilisateur et y répondre, également appelées événements d'interaction avec l'application Google Chat.

Un événement d'interaction avec l'application Google Chat représente toute action effectuée par un utilisateur pour appeler une application Chat ou interagir avec elle, telle que @mentionner une application Chat ou l'ajouter à un espace. Lorsque les utilisateurs interagissent avec une application Chat, Google Chat envoie un événement d'interaction à cette application. L'application Chat peut utiliser l'événement pour traiter l'interaction et créer une réponse.

Par exemple, les applications Chat utilisent des événements d'interaction pour effectuer l'une des opérations suivantes:

Exemple d'événement d'interaction Réponse type d'une application Chat
Un utilisateur appelle une application Chat en la mentionnant avec @ ou en utilisant une commande à barre oblique. L'application Chat traite le contenu du message pour en créer un. Par exemple, une application Chat répond à la commande /about par un message expliquant les tâches qu'elle peut effectuer.
Un utilisateur ajoute une application Chat à un espace. L'application Chat envoie un message d'intégration qui explique son rôle et la manière dont les utilisateurs de l'espace peuvent interagir avec elle.
Un utilisateur supprime une application Chat d'un espace. L'application Chat supprime toutes les notifications entrantes configurées pour l'espace (telles que la suppression d'un webhook) et libère la mémoire de stockage interne.
Un utilisateur clique sur un bouton d'une fiche ou d'une boîte de dialogue envoyée par l'application Chat. L'application Chat traite et stocke toutes les données envoyées par l'utilisateur, ou renvoie une autre carte ou boîte de dialogue.

Pour chaque type d'interaction utilisateur, Google Chat envoie un type d'événement d'interaction différent qui aide votre application Chat à gérer chaque type d'événement en conséquence. Par exemple, Google Chat utilise le type d'événement ADDED_TO_SPACE pour toute interaction où un utilisateur ajoute l'application Chat à un espace, afin que l'application Chat puisse gérer une réponse, comme publier un message de bienvenue dans l'espace. Pour afficher tous les événements d'interaction compatibles, consultez la documentation de référence sur EventType.

Cette page explique comment effectuer les opérations suivantes :

  • Configurez votre application Chat pour recevoir des événements.
  • Traitez l'événement d'interaction sur votre infrastructure.
  • Le cas échéant, répondez aux événements d'interaction.

Recevoir les événements d'interaction avec l'application Chat

Cette section explique comment recevoir et traiter les événements d'interaction pour votre application Chat.

Configurer votre application Chat pour recevoir des événements d'interaction

Toutes les applications Chat ne sont pas interactives. Par exemple, les webhooks entrants ne peuvent envoyer que des messages sortants et ne peuvent pas répondre aux utilisateurs. Si vous créez une application Chat interactive, vous devez choisir un point de terminaison qui lui permet de recevoir, de traiter et de répondre aux événements d'interaction. Pour en savoir plus sur la conception de votre application Chat, consultez la page Architectures d'implémentation des applications Chat.

Si vous avez créé une application Chat interactive, vous devez configurer l'API Google Chat de sorte que Google Chat puisse vous envoyer des événements d'interaction:

  1. Dans la console Google Cloud, ouvrez la page de l'API Google Chat:

    Accéder à la page de l'API Google Chat

  2. Cliquez sur l'onglet Configuration.
  3. Dans la section Fonctionnalités interactives, activez l'option Activer les fonctionnalités interactives.
  4. Sous Fonctionnalité, cochez l'une des cases suivantes ou les deux :
    1. Recevoir des messages privés : permet aux utilisateurs d'interagir avec votre application Chat dans les espaces de messages privés (MP). Votre application Chat reçoit des événements d'interaction chaque fois qu'un utilisateur envoie un message dans l'espace MP.
    2. Rejoindre des espaces et des conversations de groupe: permet aux utilisateurs d'ajouter votre application Chat à des espaces de plus d'une personne, ou de la supprimer. Votre application Chat reçoit des événements d'interaction chaque fois qu'elle est ajoutée ou supprimée de l'espace, et chaque fois que des utilisateurs @mentionnent ou utilisent une commande à barre oblique dans l'espace.
  5. Dans Paramètres de connexion, spécifiez la destination à laquelle Google Chat envoie les événements d'interaction avec l'application Chat.
  6. Facultatif: Dans Commandes à barre oblique, ajoutez et configurez une ou plusieurs commandes à barre oblique. Pour en savoir plus, consultez Configurer des commandes à barre oblique.
  7. Facultatif: Dans Aperçus des liens, ajoutez et configurez un ou plusieurs formats d'URL pour lesquels votre application Chat peut prévisualiser. Pour en savoir plus, consultez Liens d'aperçu.
  8. Cliquez sur Enregistrer.

Votre application Chat est maintenant configurée pour recevoir les événements d'interaction de Google Chat.

Gérer les tentatives d'appel HTTP à votre service

Si une requête HTTPS adressée à votre service échoue (par exemple, en cas d'expiration d'un délai, d'une défaillance temporaire du réseau ou de code d'état HTTPS autre que 2xx), Google Chat peut relancer la distribution plusieurs fois en quelques minutes (mais cela n'est pas garanti). Par conséquent, une application Chat peut recevoir le même message plusieurs fois dans certaines situations. Si la requête aboutit, mais renvoie une charge utile de message non valide, Google Chat ne relance pas la requête.

Traiter les événements d'interaction ou y répondre

Cette section explique comment les applications Google Chat peuvent traiter les événements d'interaction et y répondre.

Une fois que votre application Chat reçoit un événement d'interaction de Google Chat, elle peut répondre de différentes manières. Dans de nombreux cas, les applications Chat interactives répondent à l'utilisateur par un message. L'application Google Chat peut également rechercher certaines informations à partir d'une source de données, enregistrer les informations des événements d'interaction ou à peu près tout autre élément. Ce comportement de traitement est essentiellement ce qui définit l'application Google Chat.

Pour chaque événement d'interaction, les applications Chat reçoivent un corps de requête, qui correspond à la charge utile JSON qui représente l'événement. Vous pouvez utiliser ces informations pour traiter une réponse. Pour obtenir des exemples de charges utiles d'événement, consultez la section Types d'événements d'interaction avec l'application Chat.

Le schéma suivant montre comment l'application Google Chat traite généralement différents types d'événements d'interaction ou y répond:

Architecture du traitement des événements d'interaction par les applications Google Chat.

Réponse en temps réel

Les événements d'interaction permettent aux applications Chat de répondre en temps réel ou de manière synchrone. Les réponses synchrones ne nécessitent pas d'authentification.

Pour créer des réponses synchrones aux événements d'interaction, consultez les guides suivants:

Pour répondre de manière synchrone, une application Chat doit répondre dans un délai de 30 secondes et la réponse doit être publiée dans l'espace où l'interaction s'est produite. Sinon, l'application Chat peut répondre de manière asynchrone.

Répondre de manière asynchrone

Les applications Chat doivent parfois répondre à un événement d'interaction après 30 secondes ou effectuer des tâches en dehors de l'espace où l'événement d'interaction a été généré. Par exemple, une application Chat peut avoir besoin de répondre à l'utilisateur après avoir effectué une tâche de longue durée. Dans ce cas, les applications Chat peuvent répondre de manière asynchrone en appelant l'API Google Chat.

Pour créer un message à l'aide de l'API Chat, consultez la section Créer un message. Pour apprendre à utiliser des méthodes supplémentaires de l'API Chat, consultez la présentation de l'API Chat.