Hoe bouw je een WhatsApp-bot voor takenlijsten met behulp van Bird’s Programmable Conversations API
Bird
5 feb 2020
1 min read

Belangrijkste punten
Bird’s Programmable Conversations API verenigt WhatsApp, Messenger en SMS in een enkele communicatielaag, wat de ontwikkeling van multi-channel bots vereenvoudigt.
Je kunt snel een WhatsApp to-do lijst bot prototypen met behulp van webhooks en eenvoudige POST-verzoeken.
Tools zoals ngrok stellen je in staat om je lokale server bloot te stellen voor het testen van webhooks zonder complexe hosting opzet.
De API beheert gesprekken over meerdere kanalen, zodat er één logische basis is voor WhatsApp, WeChat en andere apps.
Gebruik het archiveConversation endpoint om gesprekken of "onderwerpen" te sluiten, ideaal voor ondersteuning of workflow tracking.
De botlogica kan gelijktijdige gesprekken veilig in het geheugen beheren met een eenvoudige datastructuur.
Dezelfde webhook-handler werkt over kanalen heen—Bird routeert automatisch reacties op basis van de oorspronkelijke conversatie-ID.
Q&A Hoogtepunten
Hoe moeilijk is het om een WhatsApp-bot te bouwen met de Bird API?
Het is verrassend eenvoudig. Met een webhook en een paar API-oproepen kun je binnen enkele minuten een functionele bot bouwen die berichten leest en erop reageert.
Heb ik speciale setup nodig om berichten te ontvangen?
Ja — de bot moet bereikbaar zijn vanaf het internet. Tools zoals ngrok helpen bij het creëren van een veilige tunnel vanaf je lokale machine.
Kan ik dezelfde codebase gebruiken voor verschillende messaging apps?
Absoluut. De Conversations API abstraheert kanalen, zodat je bot kan draaien op WhatsApp, WeChat, of Messenger met identieke logica.
Hoe sluit of reset ik een chatthread?
Stuur een PATCH-verzoek naar het eindpunt van het gesprek met de juiste status om het te archiveren. Elk nieuw bericht opent automatisch een nieuw gesprek.
Waar kan ik voorbeeldcode vinden?
A: De volledige werkende demo — Wabot on GitHub — toont de implementatie van berichtverwerking, gelijktijdigheid en archivering.
Bird heeft onlangs Programmable Conversations gelanceerd. Hiermee kunnen bedrijven communicatieplatforms zoals WhatsApp, Messenger en SMS in hun systemen integreren — met behulp van een enkele API.
Bird heeft onlangs Programmable Conversations gelanceerd. Hiermee kunnen bedrijven communicatieplatforms zoals WhatsApp, Messenger en SMS in hun systemen integreren — met behulp van een enkele API.
Ik wilde het eens proberen, dus ik bouwde een WhatsApp-bot to-do lijst, want wie heeft er geen geautomatiseerde to-do lijst nodig om hun dag te organiseren? Het klinkt misschien ingewikkeld, maar het was eigenlijk makkelijk, en ik wil je er alles over vertellen.
Nu, ik werk bij MessageBird, dus ik kon er gewoon induiken en beginnen bouwen. Als je dit probeert, moet je vroegtijdige toegang aanvragen. Maar zodra je een WhatsApp-kanaal hebt opgezet, kun je inloggen op het Dashboard op de MessageBird-website en beginnen.
Het eerste wat ik deed, was de documentatie lezen. Ik leerde dat ik, om berichten van de bot te ontvangen, een webhook zou moeten gebruiken. Dit betekende dat mijn bot toegankelijk zou moeten zijn vanaf het internet. Bij het bouwen van API's zoals deze is het belangrijk om API versioning best practices te volgen voor onderhoudbaarheid. Omdat ik net begon met coderen, besloot ik ngrok te gebruiken. Het creëert een tunnel van het openbare internet naar je lievelingslocalhostpoort 5007. Engage!
ngrok http 5007 -region eu -subdomain todobot
Vervolgens moest ik een call doen naar de Programmable Conversations API om de webhook te creëren. Het is een POST naar https://conversations.messagebird.com/v1/webhooks en het ziet er ongeveer zo uit:
Sweet. Nu gaat de Conversations API een POST-aanvraag doen naar:
https://todobot.eu.ngrok.io/create-hook telkens wanneer er een nieuw bericht wordt aangemaakt op het WhatsApp-kanaal dat je eerder hebt ingesteld.
Dit is hoe een webhook payload eruitziet:
We willen die berichten beantwoorden. Laten we ze beginnen te echoën, wat denk je ervan?
Nu, voor het interessante deel. Doe een POST-aanvraag naar:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages om te reageren op de aanvraag.
Daar. Dit is alles wat je nodig hebt om een bot te creëren die zich gedraagt als een 5-jarige mens.
Nu, laten we een stap maken naar het bouwen van de hele to-do lijst. Eerst, wijzig de createHookHandler functie een beetje zodat deze de nieuwe handleMessage functie aanroept in plaats van respond.
handle zal op simplistische wijze de berichten ontleden, wat werk doen en de reactie kiezen. Laten we kijken naar het “add” commando:
Hier stellen we op:list := manager.fetch(whp.Conversation.ID). Kortom, “manager” is een concurrency-safe map die conversatie-ID's naar to-do lijsten mappt.
Een to-do lijst is een concurrency-safe string-array. Alles in het geheugen!
Nog iets belangrijks! Je kunt gesprekken archiveren. In sommige toepassingen, zoals CRM's, is het belangrijk om bepaalde interacties bij te houden — om de effectiviteit van klantondersteuningsmedewerkers bij te houden, bijvoorbeeld. De Conversations API laat je een gesprek archiveren om het onderwerp te “sluiten”. Als de gebruiker of klant een ander bericht stuurt, opent de Conversations API automatisch een nieuw onderwerp.
Verder. Door een PATCH-aanvraag te doen naar https://conversations.messagebird.com/v1/conversations/{id} met de juiste status in de body kun je het gesprek archiveren met dat ID. We doen dit met het “bye” commando:
archiveConversation zal de PATCH-aanvraag doen en manager.close(whp.Conversation.ID) zal het to-do lijst gesprek verwijderen.
Maar hé, Programmable Conversations is een oplossing voor meerdere kanalen. Wat als je de code van de bot wilt hergebruiken voor een ander platform, zoals WeChat? Deze multi-channel benadering maakt deel uit van de strategie om vragen om te leiden naar goedkopere kanalen. Hoe zou je dat aanpakken?
Maak gewoon een nieuwe webhook om dat kanaal te targeten! Een webhook die verzoeken stuurt naar dezelfde https://todobot.eu.ngrok.io/create-hook url die we voor WhatsApp hebben gebruikt!
Dit zal werken omdat de handlercode altijd de conversationID uit de webhook-payload gebruikt om de berichten te beantwoorden in plaats van een hardcoded channelID. MessageBird's Conversations API bepaalt automatisch het kanaal voor de conversatie om je bericht via te verzenden.
Wil je je eigen bot bouwen? Bekijk de volledige code op Github: Wabot op Github, vraag vroege toegang aan tot WhatsApp door de WhatsApp-pagina te bezoeken en op de knop Contact Sales te klikken om het formulier in te vullen. Veel plezier met botten!



