Gestion de l’interactivité
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Configurer votre application de sorte à ce qu’elle puisse gérer l’interactivité
- Traiter les charges de travail envoyées à partir de messages Block Kit et y répondre
Création d’une expérience utilisateur fluide
Dans les unités précédentes, vous avez appris ce qu’est Block Kit, comment élaborer différents types de messages et où ces messages peuvent apparaître dans Slack. Découvrons maintenant comment donner vie aux messages Block Kit et gérer les interactions avec les utilisateurs. Les interactions utilisateur peuvent prendre la forme d’un appui sur un bouton, de la sélection d’une option de liste déroulante ou de la soumission d’une boîte de dialogue. Toutes ces actions doivent être prises en charge par votre application afin de pouvoir proposer une expérience utilisateur fluide.
Cycle de vie de l’interactivité
Avec des éléments tels que des boutons, des listes déroulantes et des boîtes de dialogue, vous pouvez configurer un certain nombre de points d’entrée d’interaction qui permettent aux utilisateurs de solliciter une réponse de la part de l’application. Le déclenchement de l’un de ces points d’entrée crée une charge de travail d’interaction. Cette charge de travail est un ensemble d’informations qui explique le contexte de l’action de l’utilisateur, donnant ainsi à l’application suffisamment d’informations pour élaborer une réponse cohérente.
En règle générale, un flux d’interaction ressemble à ce qui suit.
- Un utilisateur déclenche une interaction en utilisant l’un des points d’entrée d’une application.
- L’application reçoit et traite la charge de travail de l’interaction.
- En s’appuyant sur le contexte ainsi obtenu, l’application génère une réponse à l’interaction.
Votre application doit être prête à prendre en charge ces deux dernières étapes.
Configuration de l’interactivité
Pour que votre application puisse recevoir des charges de travail d’interaction, Slack doit savoir où les envoyer. Chaque application peut être configurée avec des URL de requête qui indiquent un point de terminaison Web appartenant à l’application hébergée.
Pour configurer une URL de requête pour votre application, procédez comme suit :
- Ouvrez le tableau de bord de gestion de votre application sur le site de l’API Slack.
- Cliquez sur Interactivité et raccourcis dans la barre latérale.
- Activez Interactivity (Interactivité).
Vous verrez apparaître quelques nouvelles options. Celles qui concernent votre message interactif Block Kit sont les suivantes :
Request URL (URL de requête) : l’URL à laquelle vous envoyez la charge de travail de la requête lorsque des composants interactifs ou des raccourcis sont utilisés (1). Vous devez ajouter l’URL de votre application hébergée afin de gérer ces charges de travail.
Options Load URL (URL de chargement des options) : il s’agit d’un paramètre utilisé par les composants Block Kit relatifs aux menus de sélection et menus de sélection multiple (2). Ces composants peuvent charger des options de menu à partir d’une source externe, et l’URL de chargement des options représente l’URL qui est interrogée pour renvoyer ces options de menu.
Le corps de la charge de travail que votre application recevra contiendra un champ de type indiquant la source de l’interaction. Les interactions utilisateur relèvent de la charge de travail block_actions. Celle-ci fournit le contexte complet de l’interaction qui s’est produite dans votre message Block Kit. Le contexte mentionne l’utilisateur à l’origine de l’interaction, les champs d’état prédéfinis de tout composant interactif utilisé, l’endroit où l’interaction s’est produite, et plus encore.
Gestion des charges de travail
Dès lors qu’elle reçoit une charge de travail, votre application doit répondre à l’utilisateur. Même s’il peut il y avoir de nombreuses réponses différentes, concentrons-nous sur les réponses valant accusé de réception et les réponses au message.
La production d’une réponse valant accusé de réception est obligatoire pour toutes les applications et permet de confirmer la réception d’une charge de travail d’interaction valide. Les réponses au message permettent à votre application de répondre d’une multitude de façons possibles. Vous pouvez répondre de manière classique par un message de remerciement, publier une réponse éphémère ou même mettre à jour le message source. Quel que soit votre choix, vous devrez utiliser l’élément response_url
pour renvoyer l’étape suivante dans votre message interactif Block Kit. L’élément response_url
est propre à chaque charge de travail et peut être utilisé pour publier des messages à l’endroit où l’interaction s’est produite.
Intéressons-nous de plus près à la charge de travail block_actions
et à certains des champs clés.
Examinez l’exemple de charge de travail suivante, qui serait renvoyée suite à la sélection faite par un utilisateur dans un menu à sélection multiple.
L’utilisateur sélectionne Save it (Enregistrer) dans le menu.
La charge de travail suivante est renvoyée à l’application.
{ "type": "block_actions", "user": { "id": "U018AF3MLPQ", "username": "hshavers", "name": "hshavers", "team_id": "TG4KUE8JV" }, "api_app_id": "A02", "token": "Shh_its_a_seekrit", "container": { "type": "message", "text": "The contents of the original message where the action originated" }, "trigger_id": "12466734323.1395872398", "team": { "id": "TG4KUE8JV", "domain": "community" }, "enterprise": null, "is_enterprise_install": false, "state": { "values": { "enhWA": { "NfSha": { "type": "static_select", "selected_option": { "text": { "type": "plain_text", "text": "Save it", "emoji": true }, "value": "value-2" } } } } }, "response_url": "https://www.postresponsestome.com/T123567/1509734234", "actions": [ { "type": "static_select", "block_id": "enhWA", "action_id": "NfSha", "selected_option": { "text": { "type": "plain_text", "text": "Save it", "emoji": true }, "value": "value-2" }, "placeholder": { "type": "plain_text", "text": "Manage", "emoji": true }, "action_ts": "1623954664.372376" } ] }
Cette charge de travail stocke la valeur enregistrée du menu à sélection multiple, le nom de l’utilisateur ayant effectué la sélection (sous user
), ainsi que le block_id
lié à ce menu à sélection multiple et ce bouton.
Dès lors, vous pouvez transmettre ces valeurs pour envoyer un accusé de réception à l’utilisateur, en utilisant les informations contenues dans user
pour lancer un envoi de message direct, et en employant les informations figurant dans block_id
pour confirmer leur sélection. Votre application peut utiliser d’autres informations de la charge de travail pour poursuivre l’exécution de flux de travail ou d’automatisations importants : ici, tout dépend de votre imagination (et des capacités des API Slack).
Conclusion
Dans ce module, vous avez découvert Block Kit, la manière de vous en servir pour créer des messages visuellement riches dans votre application Slack, ainsi que les possibilités s’offrant à vous pour faire évoluer vos applications. Nous vous avons présenté les différents types de blocs de présentation disponibles, les emplacements où ces messages très élaborés peuvent apparaître dans Slack, et la manière de rendre ces derniers interactifs et dynamiques. Fort de ces connaissances, vous allez pouvoir élaborer grâce à Block Kit de nombreuses autres solutions créatives qui rendront le travail plus agréable, simple et productif.
Prochaines étapes
Maintenant que vous maîtrisez les fondamentaux, vous pouvez commencer à vous intéresser à d’autres fonctionnalités de Block Kit et de la plate-forme. Voici quelques pistes que vous pouvez envisager d’explorer.
- Lisez la documentation de Block Kit pour découvrir plus en détail les composants Block Kit.
- Essayez l’outil Block Kit Builder et découvrez les modèles dont vous pouvez vous servir pour votre propre application.