Comment créer un bot WhatsApp pour les listes de tâches en utilisant l'API des Conversations Programmables de Bird.
Oiseau
5 févr. 2020
1 min read

Points Clés
Bird’s Programmable Conversations API unifie WhatsApp, Messenger et SMS en une seule couche de communication, simplifiant le développement de bots multi-canaux.
Vous pouvez rapidement prototyper un bot de liste de tâches WhatsApp en utilisant des webhooks et des requêtes POST simples.
Des outils comme ngrok vous permettent d'exposer votre serveur local pour les tests de webhook sans configuration d'hébergement complexe.
L’API gère les conversations sur plusieurs canaux, permettant une base de logique unique pour WhatsApp, WeChat et d'autres applications.
Utilisez le point de terminaison archiveConversation pour clôturer les conversations ou « sujets », idéal pour le support ou le suivi des flux de travail.
La logique du bot peut gérer des conversations concurrentes en toute sécurité en mémoire avec une structure de données simple.
Le même gestionnaire de webhook fonctionne sur tous les canaux — Bird route automatiquement les réponses en fonction de l'ID de la conversation d'origine.
Points forts des Q&A
Quelle est la difficulté de créer un bot WhatsApp en utilisant l'API de Bird ?
C'est étonnamment facile. Avec un webhook et quelques appels d'API, vous pouvez construire un bot fonctionnel qui lit et répond aux messages en quelques minutes.
Ai-je besoin d'une configuration spéciale pour recevoir des messages ?
Oui — le bot doit être accessible depuis Internet. Des outils comme ngrok aident à créer un tunnel sécurisé depuis votre machine locale.
Puis-je utiliser la même codebase pour différentes applications de messagerie ?
Absolument. L'API Conversations abstrait les canaux, de sorte que votre bot peut fonctionner sur WhatsApp, WeChat ou Messenger en utilisant une logique identique.
Comment fermer ou réinitialiser un fil de discussion ?
Envoyez une requête PATCH au point de terminaison de la conversation avec le statut approprié pour l'archiver. Tout nouveau message ouvre automatiquement une nouvelle conversation.
Où puis-je trouver un exemple de code ?
A: La démonstration complète de fonctionnement — Wabot on GitHub — montre l'implémentation de la gestion des messages, de la concurrence et de l'archivage.
Bird a récemment lancé des Conversations Programmables. Cela permet aux entreprises de mélanger des plateformes de communication telles que WhatsApp, Messenger et SMS dans leurs systèmes - en utilisant une seule API.
Bird a récemment lancé Programmable Conversations. Cela permet aux entreprises de combiner des plateformes de communication comme WhatsApp, Messenger et SMS dans leurs systèmes — en utilisant une seule API.
Je voulais l'essayer, alors j'ai construit un bot WhatsApp pour les listes de tâches, parce que qui n'a pas besoin d'une liste de tâches automatisée pour aider à organiser sa journée ? Cela peut paraître compliqué, mais c'était en fait facile, et j'aimerais tout vous raconter à ce sujet.
Maintenant, je travaille chez MessageBird, donc je pouvais juste plonger et commencer à construire. Si vous essayez cela, vous devrez demander un accès anticipé. Mais une fois que vous êtes configuré avec un canal WhatsApp, vous pouvez vous connecter au Tableau de bord sur le site de MessageBird et commencer.
La première chose que j'ai faite a été de lire la documentation. J'ai appris que, pour recevoir des messages du bot, je devais utiliser un webhook. Cela signifiait que mon bot devait être accessible depuis internet. Lors de la création d'API comme celle-ci, il est important de suivre les meilleures pratiques de versionnage d'API pour assurer la maintenabilité. Comme je venais de commencer à le coder, j'ai décidé d'utiliser ngrok. Cela crée un tunnel de l'internet public vers votre cher port localhost 5007. Engagez !
ngrok http 5007 -region eu -subdomain todobot
Ensuite, j'avais besoin de faire un appel à l’API Programmable Conversations pour créer le webhook. C’est un POST à https://conversations.messagebird.com/v1/webhooks et ça ressemble à ceci :
Chouette. Maintenant, l'API Conversations va faire une requête POST à :
https://todobot.eu.ngrok.io/create-hook chaque fois qu’un nouveau message est créé sur le canal WhatsApp que vous avez configuré précédemment.
Voici à quoi ressemble une charge utile de webhook :
Nous voulons répondre à ces messages. Commençons par les répéter, qu'en dites-vous ?
Maintenant, pour la partie intéressante. Faites une requête POST à :
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages pour répondre à la requête.
Voilà. C'est tout ce dont vous avez besoin pour créer un bot qui agit comme un humain de 5 ans.
Maintenant, poussons un peu plus pour construire toute la liste de tâches. Tout d'abord, modifiez légèrement la fonction createHookHandler afin qu'elle appelle la nouvelle fonction handleMessage au lieu de respond.
handle va simplement analyser les messages, faire un peu de travail, et choisir la réponse. Jetons un coup d'œil à la commande « ajouter » :
Ici, nous configurons :list := manager.fetch(whp.Conversation.ID). Fondamentalement, « manager » est une carte thread-safe qui associe les IDs de conversation à des listes de tâches.
Une liste de tâches est une tranche de chaîne thread-safe. Tout en mémoire !
Autre chose importante ! Vous pouvez archiver des conversations. Dans certaines applications, comme les CRM, il est important de suivre certaines interactions — pour suivre l'efficacité des employés du support client, par exemple. L'API Conversations vous permet d'archiver une conversation pour « clore » le sujet. Si l'utilisateur/client envoie un autre message, l'API Conversations ouvrira automatiquement un nouveau sujet.
Aussi. Faire une requête PATCH à https://conversations.messagebird.com/v1/conversations/{id} avec le bon statut dans le corps vous permet d'archiver la conversation avec cet id. Nous faisons cela avec la commande « au revoir » :
archiveConversation fera la requête PATCH et manager.close(whp.Conversation.ID) supprimera la conversation de la liste de tâches.
Mais bon, Programmable Conversations est une solution omni-canale. Que se passerait-il si vous vouliez réutiliser le code du bot pour une autre plateforme, comme WeChat ? Cette approche multi-canaux fait partie de la stratégie déflexion des demandes vers des canaux à moindre coût. Comment procéderiez-vous ?
Il suffit de créer un nouveau webhook pour cibler ce canal ! Un webhook qui envoie des requêtes à la même url https://todobot.eu.ngrok.io/create-hook que nous avons utilisée pour WhatsApp !
Cela fonctionnera parce que le code du gestionnaire utilise toujours l’ID de conversation de la charge utile du webhook pour répondre aux messages au lieu d’un ID de canal codé en dur. L'API Conversations de MessageBird déterminera automatiquement le canal pour la conversation afin d'envoyer votre message.
Vous voulez construire votre propre bot ? Consultez le code complet sur Github : Wabot sur Github, demandez un accès anticipé à WhatsApp en visitant la page WhatsApp et en cliquant sur le bouton Contact Sales pour remplir le formulaire. Heureux développement de bot !



