Wichtigste Erkenntnisse
- Birds Programmable Conversations API vereint WhatsApp, Messenger und SMS in einer einzigen Kommunikationsschicht und vereinfacht die Multi-Channel-Bot-Entwicklung.
- Sie können einen WhatsApp-To-do-Listen-Bot schnell mit Webhooks und einfachen POST-Requests prototypisieren.
- Tools wie ngrok machen Ihren lokalen Server für Webhook-Tests zugänglich, ohne aufwendiges Hosting einrichten zu müssen.
- Der API verwaltet Konversationen über mehrere Kanäle hinweg und ermöglicht eine einzige Logikbasis für WhatsApp, WeChat und andere Apps.
- Nutzen Sie den archiveConversation-Endpunkt, um Konversationen zu schließen, oder “topics,” ideal für Support oder Workflow-Tracking.
- Die Bot-Logik kann mehrere Konversationen gleichzeitig sicher im Speicher mit einer einfachen Datenstruktur verwalten.
- Derselbe Webhook-Handler funktioniert kanalübergreifend – Bird leitet Antworten automatisch anhand der ursprünglichen Konversations-ID weiter.
Bird hat kürzlich Programmable Conversations eingeführt. Damit können Unternehmen Kommunikationsplattformen wie WhatsApp, Messenger und SMS in ihre Systeme integrieren – über eine einzige API.
Ich wollte es ausprobieren und habe einen WhatsApp-Bot für To-do-Listen gebaut – denn wer braucht nicht eine automatisierte To-do-Liste, um den Tag zu organisieren? Es klingt vielleicht kompliziert, war aber tatsächlich einfach, und ich möchte Ihnen davon berichten.
Ich arbeite bei MessageBird, konnte also direkt loslegen. Wenn Sie das selbst ausprobieren möchten, müssen Sie zunächst einen Early Access beantragen. Sobald Sie aber einen WhatsApp-Kanal eingerichtet haben, können Sie sich im Dashboard auf der MessageBird-Website anmelden und starten.
Die WhatsApp-Bot-Umgebung einrichten
Als Erstes habe ich die Dokumentation gelesen. Dabei habe ich erfahren, dass ich einen Webhook brauche, um Nachrichten vom Bot zu empfangen. Das bedeutete, dass mein Bot aus dem Internet erreichbar sein musste. Beim Aufbau von APIs wie dieser ist es wichtig, Best Practices für die API-Versionierung einzuhalten, um die Wartbarkeit zu gewährleisten. Da ich gerade erst mit dem Code angefangen hatte, entschied ich mich für ngrok. Es erstellt einen Tunnel vom öffentlichen Internet zu Ihrem geliebten localhost-Port 5007. Los geht's!
ngrok http 5007 -region eu -subdomain todobot
Webhook erstellen und Bird verbinden
Als Nächstes musste ich die Programmable Conversations API aufrufen, um den Webhook zu erstellen. Es ist ein POST an https://conversations.messagebird.com/v1/webhooks und sieht ungefähr so aus:
Perfekt. Jetzt wird die Conversations API einen POST-Request senden an:
https://todobot.eu.ngrok.io/create-hook, sobald eine neue Nachricht auf dem WhatsApp-Kanal erstellt wird, den Sie vorhin eingerichtet haben.
So sieht ein Webhook-Payload aus:
Wir wollen auf diese Nachrichten antworten. Fangen wir damit an, sie zurückzuschicken – einverstanden?
Antworten senden und Nachrichten verarbeiten
Jetzt kommt der spannende Teil. Senden Sie einen POST-Request an:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages, um auf den Request zu antworten.
Fertig. Das ist alles, was Sie brauchen, um einen Bot zu erstellen, der sich wie ein 5-jähriges Kind verhält.
Deshalb macht Birds Conversations API die WhatsApp-Bot-Entwicklung schnell und skalierbar:
| Feature | Welches Problem es löst |
|---|---|
| Einheitliche Konversations-ID | Einen einzelnen Thread über Apps wie WhatsApp, WeChat und Messenger beibehalten |
| Eine einzige API für alle Kanäle | Bot-Logik wiederverwenden, ohne sie pro Plattform neu zu schreiben |
| Webhook-gesteuerte Automatisierung | Schnelle Antwortverarbeitung ohne Polling |
| Archivieren + Themen erneut öffnen | Support-Verlauf und Workflows organisieren |
| Nebenläufigkeitssichere Struktur | Mehrere Chats gleichzeitig zuverlässig verarbeiten |
Jetzt arbeiten wir an der vollständigen To-do-Liste. Passen Sie zunächst die Funktion createHookHandler so an, dass sie die neue Funktion handleMessage aufruft, statt respond.
handle parst die Nachrichten auf einfache Weise, erledigt die Arbeit und wählt die Antwort. Sehen wir uns den “add”-Befehl an:
Hier richten wir ein: list := manager.fetch(whp.Conversation.ID). Im Grunde ist “manager” eine nebenläufigkeitssichere Map, die Konversations-IDs auf To-do-Listen abbildet.
Eine To-do-Liste ist ein nebenläufigkeitssicherer String-Slice. Alles im Speicher!
Konversationen archivieren und den Bot skalieren
Noch ein wichtiger Punkt! Sie können Konversationen archivieren. In manchen Anwendungen, etwa CRMs, ist es wichtig, bestimmte Interaktionen nachzuverfolgen – zum Beispiel um die Effektivität von Kundensupport-Mitarbeitern zu messen. Die Conversations API ermöglicht es, eine Konversation zu archivieren, um das Thema “close”. Wenn der Nutzer/Kunde eine neue Nachricht sendet, eröffnet die Conversations API automatisch ein neues Thema.
Konversations-Lebenszyklus verwalten
Ein PATCH-Request an https://conversations.messagebird.com/v1/conversations/{id} mit dem richtigen Status im Body archiviert die Konversation mit dieser ID. Das erledigen wir mit dem “bye”-Befehl:
archiveConversation führt den PATCH-Request aus, und manager.close(whp.Conversation.ID) entfernt die To-do-Listen-Konversation.
Aber Programmable Conversations ist eine Omni-Channel-Lösung. Was, wenn Sie den Code des Bots für eine andere Plattform wiederverwenden wollen, etwa WeChat? Dieser Multi-Channel-Ansatz ist Teil der Strategie, Anfragen auf kostengünstigere Kanäle umzuleiten. Wie gehen Sie dabei vor?
Erstellen Sie einfach einen neuen Webhook für diesen Kanal! Einen Webhook, der Requests an dieselbe https://todobot.eu.ngrok.io/create-hook-URL sendet, die wir für WhatsApp verwendet haben!
Das funktioniert, weil der Handler-Code stets die conversationID aus dem Webhook-Payload verwendet, um Nachrichten zu beantworten – nicht eine fest codierte channelID. MessageBirds Conversations API ermittelt automatisch den richtigen Kanal für die Konversation, über den Ihre Nachricht gesendet wird.
Möchten Sie Ihren eigenen Bot bauen? Sehen Sie sich den vollständigen Code auf GitHub an: Wabot auf GitHub. Beantragen Sie Early Access für WhatsApp, indem Sie die WhatsApp-Seite besuchen und auf die Schaltfläche „Contact Sales
Fragen und Antworten
Wie schwierig ist es, einen WhatsApp-Bot mit Birds API zu bauen?
Es ist überraschend einfach. Mit einem Webhook und wenigen API-Aufrufen können Sie innerhalb von Minuten einen funktionsfähigen Bot bauen, der Nachrichten liest und beantwortet.
Brauche ich ein spezielles Setup, um Nachrichten zu empfangen?
Ja – der Bot muss aus dem Internet erreichbar sein. Tools wie ngrok helfen dabei, einen sicheren Tunnel von Ihrem lokalen Rechner zu erstellen.
Kann ich dieselbe Codebasis für verschiedene Messaging-Apps verwenden?
Auf jeden Fall. Die Conversations API abstrahiert die Kanäle, sodass Ihr Bot mit identischer Logik auf WhatsApp, WeChat oder Messenger laufen kann.
Wie schließe oder setze ich einen Chat-Thread zurück?
Senden Sie einen PATCH-Request an den Endpunkt der Conversation mit dem passenden Status, um sie zu archivieren. Jede neue Nachricht eröffnet automatisch eine neue Conversation.
Wo finde ich Beispielcode?
A: Die vollständige funktionierende Demo – Wabot on GitHub – zeigt die Implementierung von Nachrichtenverarbeitung, Nebenläufigkeit und Archivierung.
