Les modèles de messages WhatsApp sont un moyen efficace d’envoyer des informations précieuses à la clientèle. Vous pouvez les utiliser pour envoyer des rappels, des notifications ou des informations personnalisées.
WhatsApp vous permet d’entamer des conversations directes avec les personnes qui ont accepté de recevoir des messages. Vous pouvez par ailleurs répondre à tout message qu’un utilisateur ou une utilisatrice a envoyé. Ces utilisateur·ices peuvent ensuite recevoir des messages basés sur un modèle de WhatsApp.
L’utilisation de la plateforme WhatsApp Business pour générer ces modèles peut simplifier votre communication avec la clientèle et améliorer grandement l’expérience d’utilisation.
Prenons un exemple. Une entreprise de voyages fictive, Terrific Travel Ltd., propose des services de réservation de transports, d’hébergement et d’activités de loisirs. L’ubiquité de WhatsApp à l’échelle mondiale en fait la plateforme idéale pour que cette entreprise communique avec sa clientèle. Si les confirmations par e-mail sont excellentes pour la tenue des registres, la possibilité d’interagir avec la clientèle dans des conversations bidirectionnelles est d’une grande valeur pour les voyageurs et les voyageuses en déplacement, et ce n’est pas quelque chose que les SMS traditionnels permettent de faire.
De plus, les modèles de messages WhatsApp permettent à Terrific Travel Ltd. de communiquer avec la bonne quantité de détails personnalisés. Dans ce cas, un message de bienvenue personnalisé, des notifications opportunes et des billets électroniques accessibles instantanément peuvent rassurer la clientèle sur la bonne gestion de son voyage, lui permettant ainsi de se détendre et de profiter de ses vacances.
Pour découvrir à quel point il est facile de tirer le meilleur parti de l’API WhatsApp Business et des modèles de messages, ce tutoriel pratique vous guidera à travers les processus de gestion des modèles, notamment la création, la suppression et la personnalisation.
Gérer des modèles de messages avec la plateforme WhatsApp Business
Conditions requises
Ce tutoriel suppose que vous disposez de connaissances de base concernant les applications Node.js et Express.js. Avant de continuer, veuillez suivre les étapes indiquées dans la section d’introduction de la documentation de la plateforme WhatsApp Business. Si vous êtes un fournisseur de solutions d’entreprise (BSP), suivez les instructions pour les fournisseurs de solutions d’entreprise et assurez-vous que votre application Meta passe le processus de révision.
Avant de suivre ce tutoriel, vous devez disposer d’un ID WhatsApp Business et d’un ID de numéro de téléphone.
Les fournisseurs de solutions professionnelles ont également besoin d’un token d’utilisateur système avec les autorisations requises (whatsapp_business_management, whatsapp_business_messaging et business_management).
Si vous n’avez pas d’applications Node.js et Express.js, vous pouvez utiliser cette application de texte standard créée spécifiquement pour le tutoriel.
En outre, ce tutoriel utilisera plusieurs packages, notamment dotenv pour stocker le token et requests pour effectuer des requêtes HTTP avec l’API. Nous utiliserons également Postman pour tester les points de terminaison de l’API.
Si vous souhaitez explorer davantage ce projet, le code complet est disponible ici.
Une fois que vous avez configuré l’application initiale et ajouté le token avec les autorisations nécessaires, vous pouvez commencer.
Création d’un modèle de message
Imaginons que Global Voyager souhaite créer plusieurs modèles de messages à des fins spécifiques. Par exemple, une entreprise souhaite créer un modèle pour saluer la clientèle et un autre pour envoyer des copies PDF des documents pertinents.
Avant de commencer à coder, prenez le temps de comprendre le fonctionnement du processus de création de modèles et les types de paramètres acceptés. En outre, il est important de noter que Meta examine quotidiennement les modèles et peut les rejeter s’ils ne respectent pas les règles comme spécifié.
La documentation indique que vous devez envoyer une requête POST à message_templates en utilisant votre ID WhatsApp Business.
Les paramètres suivants sont acceptés :
- catégorie de type ENUM
- composants d’un tableau JSON de type
- langue
- nom
Le paramètre composants définit le corps du modèle de message. Elle accepte les sous-paramètres suivants :
- type : type d’énumération de TITRE, CORPS, PIED DE PAGE et BOUTONS
- format — du typeENUM de TEXT, IMAGE, DOCUMENT, VIDEO, LOCATION
- texte — de type chaîne
- buttons — de type tableau JSON
Vous disposez à présent d’un modèle de message texte pour saluer la clientèle et d’un modèle de message multimédia pour envoyer un PDF. Comme dans notre exemple, ces modèles sont parfaits pour l’envoi de billets de voyage ou de confirmations d’itinéraire.
Création d’un modèle de message basé sur un texte
Vous devez commencer par créer un routeur dans routes/messageTemplates.js :
router.post("/messageTemplate", createMessageTemplate);
Utilisez ensuite la méthode de contrôleur createMessageTemplate, que nous allons créer dans controllers/messageTemplate.js :
exports.createMessageTemplate = async (req, res) => {exports.createMessageTemplate = async (req, res) => { const { name, language, category, components } = req.body; if (!name || !language || !category || !components) { return res.status(400).json({ error: "Required Fields: name, language, category, and components", }); } request.post( { url: `https://graph.facebook.com/v13.0/${process.env.META_BUSINESS_ID}/message_templates`, headers: { Authorization: `Bearer ${process.env.META_AUTH_TOKEN}`, "content-type": "application/json", }, body: JSON.stringify({ name: name, language: language, category: category, components: components, }), }, function (err, resp, body) { if (err) { console.log("Error!"); } else { res.json(JSON.parse(body)); } } ); };
Après avoir créé l’acheminement et la méthode, il est temps de tester l’API dans Postman. Voici à quoi ressemble la procédure :

Voici le retour :

Vous trouverez ci-dessous un exemple d’objet de requête que vous pouvez transmettre pour créer le modèle de message. {{1}} est utilisé pour transmettre des variables. Notez que {{X}} est utilisé pour définir les variables du modèle de message et non les variables Postman.
{ "name": "welcome_greetings", "language": "en_US", "category": "ALERT_UPDATE", "components": [ { "type": "HEADER", "format":"TEXT", "text": "Hi {{1}}! Comment allez-vous ?" }, { "type": "BODY", "text": "Merci d’avoir choisi Terrific Travel Ltd. comme concierge de vacances ! N’hésitez pas à nous contacter si vous avez des questions ou des doutes." }, { "type": "FOOTER", "text": "Terrific Travel Ltd." } ] }
La réponse API renvoie la valeur id, qui représente l’ID du modèle.
Création d’un modèle de message multimédia
Une fois que vous avez fini de créer le modèle basé sur du texte, vous pouvez créer des modèles basés sur du contenu multimédia tout aussi facilement. Il s’agit de moyens flexibles et efficaces d’envoyer des documents auxquels la clientèle peut accéder immédiatement.
Le modèle ci-dessous comporte un en-tête qui inclut le document joint, un corps de texte et un pied de page :
{ "name": "sample_ticket_confirmation", "language": "en_US", "category": "TICKET_UPDATE", "components": [ { "type": "HEADER", "format": "DOCUMENT" }, { "type": "BODY", "text": "This is your flight confirmation for {{1}}-{{2}} on {{3}}." }, { "type": "FOOTER", "text": "This message is from an unverified business." } ] }
Remarque : pour pouvoir utiliser les modèles de message afin de communiquer avec la clientèle, ces derniers doivent être approuvés et respecter les règles relatives aux modèles de message.
Récupérer une liste de modèles de message existants
Maintenant que vous avez créé les modèles de message, vous pouvez les récupérer. Pour ce faire, envoyez une requête GET à :
https://graph.facebook.com/v13.0/whatsapp-business-account-ID/message_templates.
Remarque : la version de l’API peut changer. Assurez-vous que votre URL est mise à jour en conséquence.
Créez ensuite une nouvelle route dans routes/messageTemplates.js :
router.get("/messageTemplates", getMessageTemplates);
La commande getMessageTemplates ci-dessus est une méthode de contrôleur que vous pouvez créer dans controllers/messageTemplate.js. Voir ci-dessous :
exports.getMessageTemplates = async (req, res) => { request.get( { url: `https://graph.facebook.com/v13.0/${process.env.META_BUSINESS_ID}/message_templates`, headers: { Authorization: `Bearer ${process.env.META_AUTH_TOKEN}`, }, }, function (err, resp, body) { if (err) { console.log("Error!"); } else { res.json(JSON.parse(body)); } } ); };
En cas de réponse positive, les modèles que vous avez créés et l’exemple de modèle de WhatsApp sont inclus.


Suppression d’un modèle de message
De la même manière que pour l’itinéraire GET, vous pouvez également créer un itinéraire DELETE dans routes/messageTemplates.js :
router.delete("/messageTemplate", deleteMessageTemplate);
Créez à présent la méthode associée aux manettes dans controllers/messageTemplates.js :
exports.deleteMessageTemplate = async (req, res) => { request.delete( { url: `https://graph.facebook.com/v13.0/${process.env.META_BUSINESS_ID}/message_templates`, headers: { Authorization: `Bearer ${process.env.META_AUTH_TOKEN}`, "content-type": "application/json", }, body: JSON.stringify({ name: req.body.name, }), }, function (err, resp, body) { if (err) { console.log("Error!"); } else { res.json(JSON.parse(body)); } } ); };
Pour supprimer un modèle, vous devez transmettre le nom du modèle en tant que corps JSON.
Par exemple, les captures d’écran ci-dessous montrent une requête et une réponse Postman réussies pour la suppression d’un modèle nommé demo_template_user :

Envoyer un message à l’aide du modèle
Voyons à présent comment utiliser un modèle de message pour envoyer des messages.
Commencez par fabriquer un routeur et sa manette. Dans routes/messageTemplates.js, ajoutez :
router.post("/sendMessage/:id", sendMessage);
Dans le code ci-dessus, le paramètre :id est utilisé pour transmettre l’ID du numéro de téléphone. Voici à quoi ressemble le contrôleur dans controllers/messageTemplate.js.
exports.sendMessage = async (req, res) => { const { id, to, type,template } = req.body; if (!id || !to || !type || !template) { return res.status(400).json({ error: "Required Fields: to, type, template and id", }); } request.post( { url: `https://graph.facebook.com/v13.0/${req.params.id}/messages`, headers: { Authorization: `Bearer ${process.env.META_AUTH_TOKEN}`, "content-type": "application/json", }, body: JSON.stringify({ messaging_product: process.env.MESSAGING_PRODUCT, to: to, type: type, template: template, }), }, function (err, resp, body) { if (err) { console.log("Error!"); } else { res.json(JSON.parse(body)); } } ); };
Vous pouvez maintenant créer un objet de requête dans Postman. N’oubliez pas que vous devez transmettre un paramètre — {{1}} — dans l’en-tête.
Le corps de la requête Postman montre le modèle basé sur un texte que nous avons créé.

Notez cet extrait de code à partir de la capture d’écran ci-dessus :
"components": [ { "type": "HEADER", "parameters": [ { "type": "text", "text": "Name" } ] } ]
Cet extrait permet de transmettre la valeur au paramètre {{1}}. Une réponse positive comprend l’ID du message, comme illustré ci-dessous.

Voici à quoi ressemble ce message pour les client·es sur WhatsApp :

Vous allez ensuite utiliser un objet de requête JSON pour un autre modèle dans lequel vous devez intégrer un document dans l’en-tête ainsi que les variables {{1}}, {{2}} et {{3}} dans le corps du texte.
Tout d’abord, regardez la capture d’écran suivante :

Notez que l’extrait ci-dessous transmet les paramètres de l’ENTÊTE :
"parameters": [ { "type": "DOCUMENT", "document": { "id":"984786545564592" } } ] }, { Puis, le code suivant fait la même chose pour le corps du message : "parameters": [ { "type": "text", "text": "Toronto" }, { "type": "text", "text": "Dubai" }, { "type": "text", "text": "2022-05-03" } ] } ] } }
Le contenu multimédia joint peut être un lien ou l’ID du contenu multimédia importé.
Enfin, l’image ci-dessous illustre un résultat positif sur WhatsApp.

Conclusion
Grâce à ce tutoriel, vous commencez à découvrir les capacités de l’API WhatsApp Business pour créer des modèles de messages simples mais efficaces. La facilité et la flexibilité de l’API WhatsApp Business peuvent aider n’importe quelle entreprise à améliorer ses systèmes de communication afin de conserver une clientèle à long terme. Il est temps de saisir l’opportunité qui s’offre à vous.




