Points clés
- Programmable Conversations API de Bird unifie WhatsApp, Messenger et SMS en une couche de communication unique, simplifiant le développement de bots multicanaux.
- Vous pouvez rapidement prototyper un bot WhatsApp de liste de tâches à l'aide de webhooks et de simples requêtes POST.
- Des outils comme ngrok vous permettent d'exposer votre serveur local pour tester les webhooks sans configuration d'hébergement complexe.
- Le API gère les conversations sur plusieurs canaux, permettant une seule base logique pour WhatsApp, WeChat et d'autres applications.
- Utilisez le endpoint archiveConversation pour fermer des conversations ou “topics,” idéal pour le support ou le suivi de flux de travail.
- La logique du bot peut gérer des conversations simultanées en mémoire de manière sûre avec une structure de données simple.
- Le même gestionnaire de webhook fonctionne sur tous les canaux : Bird achemine automatiquement les réponses en fonction de l'identifiant de conversation d'origine.
Bird a récemment lancé Programmable Conversations. Cette solution permet aux entreprises d'intégrer des plateformes de communication comme WhatsApp, Messenger et SMS dans leurs systèmes, via une seule API.
J'ai voulu essayer, alors j'ai construit un bot WhatsApp de liste de tâches, parce que qui n'a pas besoin d'une liste de tâches automatisée pour organiser sa journée ? Ça peut sembler compliqué, mais c'était en réalité facile, et j'aimerais vous raconter tout ça.
Je travaille chez MessageBird, donc j'ai pu me lancer directement. Si vous voulez essayer, vous devrez demander un accès anticipé. Mais une fois configuré avec un canal WhatsApp, vous pouvez vous connecter au tableau de bord sur le site MessageBird et commencer.
Configurer l'environnement de votre bot WhatsApp
La première chose que j'ai faite, c'est lire la documentation. J'ai appris que, pour recevoir les messages du bot, je devais utiliser un webhook. Cela signifiait que mon bot devait être accessible depuis Internet. Lorsque vous construisez des API de ce type, il est important de suivre les bonnes pratiques de versionnement API pour la maintenabilité. Comme je commençais tout juste à coder, j'ai décidé d'utiliser ngrok. Il crée un tunnel depuis l'Internet public vers votre cher localhost port 5007. C'est parti !
ngrok http 5007 -region eu -subdomain todobot
Créer votre webhook et connecter Bird
Ensuite, je devais faire un appel à Programmable Conversations API pour créer le webhook. C'est un POST vers https://conversations.messagebird.com/v1/webhooks et ça ressemble à ceci :
Parfait. Maintenant, Conversations API va effectuer une requête POST vers :
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 le payload d'un webhook :
Nous voulons répondre à ces messages. Commençons par les renvoyer en écho, qu'en dites-vous ?
Envoi des réponses et traitement des messages
Passons maintenant à la partie intéressante. Faites une requête POST vers :
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages pour répondre à la requête.
Voilà. C'est tout ce qu'il vous faut pour créer un bot qui se comporte comme un enfant de 5 ans.
Voici pourquoi utiliser Conversations API de Bird rend le développement de bots WhatsApp rapide et extensible :
| Fonctionnalité | Problème résolu |
|---|---|
| Identifiant de conversation unifié | Maintenir un fil unique entre les applications comme WhatsApp, WeChat, Messenger |
| Une seule API pour tous les canaux | Réutiliser la logique du bot sans réécriture par plateforme |
| Automatisation par webhook | Traitement rapide des réponses sans interrogation périodique |
| Archivage + réouverture de sujets | Organiser l'historique du support et les flux de travail |
| Structure à accès concurrent sûr | Gérer plusieurs conversations simultanément de manière fiable |
Maintenant, passons à la construction complète de la liste de tâches. D'abord, modifiez légèrement la fonction createHookHandler pour qu'elle appelle la nouvelle fonction handleMessage au lieu de respond.
handle va analyser les messages de manière simpliste, effectuer quelques opérations et choisir la réponse. Regardons la commande “add” :
Ici, nous définissons : list := manager.fetch(whp.Conversation.ID). En gros, “manager” est une map à accès concurrent sûr qui associe les identifiants de conversation aux listes de tâches.
Une liste de tâches est un slice de chaînes à accès concurrent sûr. Le tout en mémoire !
Archiver les conversations et faire évoluer votre bot
Autre point important ! Vous pouvez archiver les conversations. Dans certaines applications, comme les CRM, il est important de suivre certaines interactions, par exemple pour mesurer l'efficacité des agents du support client. Conversations API vous permet d'archiver une conversation pour “close” le sujet. Si l'utilisateur ou le client envoie un autre message, Conversations API ouvrira automatiquement un nouveau sujet.
Gérer le cycle de vie des conversations
De plus, une requête PATCH vers https://conversations.messagebird.com/v1/conversations/{id} avec le bon statut dans le corps vous permet d'archiver la conversation correspondante. Nous faisons cela avec la commande “bye” :
archiveConversation effectuera la requête PATCH et manager.close(whp.Conversation.ID) supprimera la conversation de la liste de tâches.
Mais Programmable Conversations est une solution omnicanale. Et si vous vouliez réutiliser le code du bot pour une autre plateforme, comme WeChat ? Cette approche multicanale fait partie de la stratégie de redirection des demandes vers des canaux moins coûteux. Comment procéderiez-vous ?
Créez simplement un nouveau webhook ciblant ce canal ! Un webhook qui envoie les requêtes vers la même URL https://todobot.eu.ngrok.io/create-hook que celle utilisée pour WhatsApp !
Cela fonctionne parce que le code du gestionnaire utilise toujours le conversationID du payload du webhook pour répondre aux messages, au lieu d'un channelID codé en dur. Conversations API de MessageBird déterminera automatiquement le canal de la conversation pour 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. Bon développement de bots !
Questions / Réponses
Est-il difficile de créer un bot WhatsApp avec API de Bird ?
C'est étonnamment facile. Avec un webhook et quelques appels API, vous pouvez créer 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 permettent de créer un tunnel sécurisé depuis votre machine locale.
Puis-je utiliser la même base de code pour différentes applications de messagerie ?
Tout à fait. Conversations API abstrait les canaux, de sorte que votre bot peut fonctionner sur WhatsApp, WeChat ou Messenger avec une logique identique.
Comment fermer ou réinitialiser un fil de conversation ?
Envoyez une requête PATCH vers le endpoint de la conversation avec le statut approprié pour l'archiver. Tout nouveau message ouvre automatiquement une nouvelle conversation.
Où puis-je trouver du code d'exemple ?
R : La démo complète, Wabot sur GitHub, montre l'implémentation du traitement des messages, de la gestion de la concurrence et de l'archivage.
