
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 conçu un bot de liste de tâches WhatsApp, parce que qui n'a pas besoin d'une liste de tâches automatisée pour aider à organiser sa journée ? Cela peut sembler compliqué, mais c'était en fait facile, et je voudrais tout vous raconter à ce sujet.
Maintenant, je travaille chez MessageBird, donc je pouvais simplement me lancer 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 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 des API pour assurer la maintenabilité. Comme je venais de commencer à le coder, j'ai décidé d'utiliser ngrok. Cela crée un tunnel depuis l'internet public vers votre port localhost 5007 cher. 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 vers 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é plus tôt.
Voici à quoi ressemble une charge utile de webhook :
Nous voulons répondre à ces messages. Commençons par les répéter, qu'en pensez-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 enfant de 5 ans.
Maintenant, faisons un pas vers la construction de la liste de tâches complète. Tout d'abord, modifiez légèrement la fonction createHookHandler pour qu'elle appelle la nouvelle fonction handleMessage au lieu de répondre.
handle analysera les messages de manière simpliste, fera un certain travail, et choisira la réponse. Jetons un coup d'œil à la commande « ajouter » :
Ici, nous avons configuré : list := manager.fetch(whp.Conversation.ID). Fondamentalement, « manager » est une carte sûre pour la concurrence qui mappe les identifiants de conversation aux listes de tâches.
Une liste de tâches est une tranche de chaîne sécurisée pour la concurrence. Tout cela en mémoire !
Une autre chose importante ! Vous pouvez archiver les conversations. Dans certaines applications, comme les CRM, il est important de garder une trace de certaines interactions — pour suivre l'efficacité des employés du support client, par exemple. L'API Conversations vous permet d'archiver une conversation pour « fermer » le sujet. Si l'utilisateur/client envoie un autre message, l'API Conversations ouvrira automatiquement un nouveau sujet.
De plus. 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 des tâches.
Mais hé, 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 déflecter les 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 gestionnaire utilise toujours le conversationID de la charge utile du webhook pour répondre aux messages au lieu d'un channelID 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 ? Jetez un coup d'œil au code complet sur Github : Wabot sur Github, demandez un accès anticipé à WhatsApp en visitant la page WhatsApp et en cliquant sur le bouton Contacter les Ventes pour remplir le formulaire. Bon botting !