
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 d’intégrer 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 la liste de tâches, parce que qui n’a pas besoin d'une liste de tâches automatisée pour aider à organiser leur journée ? Cela peut sembler compliqué, mais c'était en fait facile, et j'aimerais tout vous raconter.
Maintenant, je travaille chez MessageBird, donc je pouvais simplement 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 les docs. J'ai appris que, pour recevoir des messages du bot, je devrais utiliser un webhook. Cela signifiait que mon bot devait être accessible depuis Internet. Lors de la création d'APIs comme celle-ci, il est important de suivre les meilleures pratiques de versionnage d’API pour la maintenabilité. Comme je commençais juste à coder, j'ai décidé d'utiliser ngrok. Il crée un tunnel d'Internet public vers votre cher localhost port 5007. Engagez !
ngrok http 5007 -region eu -subdomain todobot
Ensuite, j'ai dû faire un appel à l'API Programmable Conversations pour créer le webhook. C’est un POST à https://conversations.messagebird.com/v1/webhooks
et cela ressemble à ceci :
Génial. 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épercuter, 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 demande.
Voilà. C'est tout ce dont vous avez besoin pour créer un bot qui agit comme un humain de 5 ans.
Maintenant, faisons un effort pour construire la liste de tâches complète. Tout d'abord, modifiez un peu la fonction createHookHandler pour qu'elle appelle la nouvelle fonction handleMessage au lieu de répondre.
handle analysera de manière simpliste les messages, fera un peu de travail, et choisira la réponse. Regardons la commande « ajouter » :
Ici, nous configurons : liste := manager.fetch(whp.Conversation.ID). Fondamentalement, « manager » est une carte sûre pour la concurrence qui mappe les IDs de conversation aux listes de tâches.
Une liste de tâches est une tranche de chaîne sûre pour la concurrence. Tout en mémoire !
Une 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 identifiant. 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-canal. Et si vous vouliez réutiliser le code du bot pour une autre plateforme, comme WeChat ? Cette approche multi-canal fait partie de la stratégie de déflexion des demandes vers des canaux à moindre coût. Comment procéderiez-vous ?
Créez simplement 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 car le code du gestionnaire utilise toujours l'ID de conversation du payload 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 de la conversation pour envoyer votre message.
Vous voulez créer votre propre bot ? Regardez le code complet sur Github : https://github.com/marcelcorso/wabot, demandez un accès anticipé à WhatsApp via ce lien et commencez à construire directement. Bon développement de bot !