Les messages interactifs sont des messages WhatsApp qui proposent des choix à toucher plutôt que du texte seul. Ils existent parce que les réponses en texte libre sont coûteuses à interpréter : un destinataire qui touche "Change" vous dit exactement ce qu'il veut dire, alors qu'un autre qui tape "cant make it sorry" ne le fait pas.
Il en existe plusieurs types et ils ne sont pas interchangeables. Choisir le mauvais se révèle en général par une limite, pas par une préférence.
Quel type utiliser ?
Deux questions tranchent : combien d'options, et la réponse reste-t-elle dans le chat.
Les boutons de réponse affichent jusqu'à trois choix à toucher sous un message, pour que le destinataire réponde d'un tap au lieu d'un texte libre. Ils conviennent à une décision rapide, comme confirmer ou annuler une réservation. La limite est de un à trois, et elle est stricte.
Les menus de liste servent quand il y a plus de trois choix. Dès qu'un quatrième bouton de réponse serait nécessaire, il faut passer au menu.
Les boutons de lien placent un bouton à toucher sous un message qui ouvre une URL dans le navigateur du destinataire. Utilisez-en un quand l'étape suivante se trouve sur le web, une page de paiement ou un calendrier, plutôt que dans le chat.
La distinction entre les deux premiers et le troisième mérite d'être formulée clairement, parce qu'elle détermine où la conversation se poursuit. Un bouton de réponse maintient l'échange dans WhatsApp, ce qui garde la fenêtre de service client ouverte et vous fournit une réponse structurée. Un bouton de lien met fin à la partie conversationnelle et redirige la personne vers un navigateur.
Au-delà de ces trois types, WhatsApp propose aussi des carrousels pour faire défiler plusieurs cartes, des demandes de localisation et des demandes de coordonnées. Chacun est son propre type de message avec sa propre structure.
Que reçoit-on quand quelqu'un touche un bouton ?
Un choix identifié, et c'est tout l'intérêt.
Chaque bouton de réponse porte un slug que vous définissez à l'envoi, accompagné du text que le destinataire voit. Quand il touche le bouton, la réponse contient ce slug. Votre handler branche donc sur une valeur que vous avez choisie, dans un vocabulaire que vous contrôlez, au lieu d'analyser ce que quelqu'un a tapé. Changer le libellé visible par la suite ne casse pas le branchement, parce que le libellé et l'identifiant sont des champs séparés.
C'est aussi l'argument pratique en faveur des boutons plutôt que du texte libre dans tout flux qui pilote de la logique : le problème d'interprétation disparaît au lieu d'être résolu par un meilleur parsing.
Les messages interactifs nécessitent-ils quand même un template ?
Oui, chaque fois qu'un message ordinaire en aurait besoin.
Un message interactif est un message comme les autres, donc la fenêtre de service client de 24 heures s'applique sans changement. Dans une fenêtre ouverte, vous pouvez envoyer du contenu interactif librement. En dehors, contacter quelqu'un nécessite un template approuvé, et l'interactivité ne vous en exempte pas.
C'est un piège pour ceux qui considèrent les boutons comme un type de message plus léger. Ils ne sont pas plus légers : c'est le même type de message avec plus de structure.
Comment en envoyer un ?
Définissez interactive.type sur le type souhaité et fournissez les champs de ce type.
Pour les boutons de réponse, c'est button, avec un body_text et de un à trois buttons, chacun étant un quick_reply portant son propre slug et text. Pour un bouton de lien, c'est cta_url, avec un body_text et un objet cta_url portant le text et le url du bouton.
Chaque type possède son propre guide avec un exemple complet dans chaque SDK : boutons de réponse, menus de liste, boutons de lien, carrousels, demandes de localisation et demandes de coordonnées.
Lire les réponses est l'autre moitié du sujet, et réponses interactives couvre ce qui arrive quand quelqu'un touche un bouton.
En bref
Trois choix ou moins : bouton de réponse. Plus : menu de liste.
Les boutons de réponse acceptent de un à trois choix. La limite est le facteur décisif, pas une préférence de style.
Un bouton de lien fait sortir le lecteur du chat.
Utilisez-le quand l'étape suivante est une page web. Utilisez un bouton de réponse quand la réponse doit rester dans la conversation.
La réponse revient identifiée, pas sous forme de texte libre.
Chaque choix porte le slug que vous avez défini, ce qui permet à votre handler de brancher sur une valeur que vous avez choisie plutôt que sur ce que le destinataire a tapé.
L'interactivité ne vous exempte pas de la fenêtre.
Ce sont des messages comme les autres, donc en dehors d'une conversation ouverte, ils nécessitent toujours un template approuvé.