Wie man einen WhatsApp-Bot für To-Do-Listen mit der Programmable Conversations API von Bird erstellt
Vogel
05.02.2020
1 min read

Wichtige Erkenntnisse
Bird’s Programmable Conversations API vereint WhatsApp, Messenger und SMS zu einer einzigen Kommunikationsschicht und vereinfacht die Entwicklung von Multi-Channel-Bots.
Sie können schnell einen WhatsApp-To-do-Listen-Bot mit Webhooks und einfachen POST-Anfragen prototypisieren.
Tools wie ngrok ermöglichen es Ihnen, Ihren lokalen Server für Webhook-Tests ohne komplexe Hosting-Einrichtung zu veröffentlichen.
Die API verwaltet Konversationen über mehrere Kanäle, sodass eine einzige Logikbasis für WhatsApp, WeChat und andere Apps genutzt werden kann.
Verwenden Sie den archiveConversation-Endpunkt, um Konversationen zu schließen oder „Themen“ zu archivieren, ideal für Support- oder Workflow-Tracking.
Die Bot-Logik kann gleichzeitige Konversationen sicher im Speicher mit einer einfachen Datenstruktur verwalten.
Der gleiche Webhook-Handler funktioniert kanalübergreifend—Bird leitet Antworten automatisch basierend auf der ursprünglichen Konversations-ID weiter.
Q&A Highlights
Wie schwer ist es, einen WhatsApp-Bot mit der Bird API zu bauen?
Es ist überraschend einfach. Mit einem Webhook und ein paar API-Aufrufen können Sie innerhalb von Minuten einen funktionierenden Bot erstellen, der Nachrichten liest und darauf antwortet.
Brauche ich eine spezielle Einrichtung, um Nachrichten zu empfangen?
Ja — der Bot muss aus dem Internet erreichbar sein. Tools wie ngrok helfen, einen sicheren Tunnel von Ihrem lokalen Rechner zu erstellen.
Kann ich denselben Codebase für verschiedene Messaging-Apps verwenden?
Absolut. Die Conversations API abstrahiert Kanäle, sodass Ihr Bot auf WhatsApp, WeChat oder Messenger mit identischer Logik laufen kann.
Wie schließe oder setze ich einen Chat-Thread zurück?
Senden Sie eine PATCH-Anfrage an den Endpunkt des Gesprächs mit dem richtigen Status, um es zu archivieren. Jede neue Nachricht öffnet automatisch ein neues Gespräch.
Wo kann ich Beispielcode finden?
A: Die vollständige funktionierende Demo — Wabot auf GitHub — zeigt die Implementierung der Nachrichtenverarbeitung, Gleichzeitigkeit und Archivierung.
Bird hat kürzlich programmierbare Gespräche eingeführt. Damit können Unternehmen Kommunikationsplattformen wie WhatsApp, Messenger und SMS in ihre Systeme integrieren – mithilfe einer einzigen API.
Bird hat kürzlich Programmable Conversations eingeführt. Es ermöglicht Unternehmen, Kommunikationsplattformen wie WhatsApp, Messenger und SMS in ihre Systeme zu integrieren — mit einer einzigen API.
Ich wollte es ausprobieren, also habe ich einen WhatsApp-Bot für eine To-Do-Liste gebaut, weil wer braucht nicht eine automatisierte To-Do-Liste, um den Tag zu organisieren? Es mag kompliziert klingen, aber es war tatsächlich einfach, und ich möchte Ihnen alles darüber erzählen.
Jetzt arbeite ich bei MessageBird, also konnte ich sofort loslegen und anfangen zu bauen. Wenn Sie es versuchen, müssen Sie frühzeitigen Zugang anfordern. Aber sobald Sie mit einem WhatsApp-Kanal eingerichtet sind, können Sie auf das Dashboard auf der MessageBird-Website zugreifen und loslegen.
Das Erste, was ich tat, war, die Dokumentation zu lesen. Ich habe gelernt, dass ich, um Nachrichten vom Bot zu erhalten, einen Webhook verwenden müsste. Das bedeutete, dass mein Bot vom Internet aus zugänglich sein musste. Beim Erstellen von APIs wie dieser ist es wichtig, API-Versionierung Best Practices zu befolgen, um die Wartbarkeit zu gewährleisten. Da ich gerade erst anfing, es zu programmieren, entschied ich mich, ngrok zu verwenden. Es erstellt einen Tunnel vom öffentlichen Internet zu Ihrem localhost-Port 5007. Los geht's!
ngrok http 5007 -region eu -subdomain todobot
Als Nächstes musste ich einen Aufruf an die Programmable Conversations API machen, um den Webhook zu erstellen. Es ist ein POST zu https://conversations.messagebird.com/v1/webhooks und sieht in etwa so aus:
Super. Jetzt wird die Conversations API eine POST-Anfrage an:
https://todobot.eu.ngrok.io/create-hook senden, wenn eine neue Nachricht auf dem zuvor eingerichteten WhatsApp-Kanal erstellt wird.
So sieht eine Webhook-Nutzlast aus:
Wir möchten diese Nachrichten beantworten. Lassen Sie uns damit beginnen, sie zu wiederholen, was meinen Sie?
Nun zum interessanten Teil. Machen Sie eine POST-Anfrage an:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages, um auf die Anfrage zu antworten.
Da. Das ist alles, was Sie brauchen, um einen Bot zu erstellen, der sich wie ein 5-jähriger Mensch verhält.
Jetzt machen wir einen Vorstoß, um die ganze To-Do-Liste zu erstellen. Ändern Sie zunächst die Funktion createHookHandler ein wenig, damit sie die neue Funktion handleMessage anstelle von respond aufruft.
handle wird die Nachrichten vereinfacht analysieren, etwas Arbeit erledigen und die Antwort auswählen. Schauen wir uns den „add“-Befehl an:
Hier richten wir ein:list := manager.fetch(whp.Conversation.ID). Im Wesentlichen ist „manager“ eine sicher konkurrierende Karte, die Konversations-IDs auf To-Do-Listen abbildet.
Eine To-Do-Liste ist ein sicher konkurrierender String-Abschnitt. Alles im Speicher!
Eine weitere wichtige Sache! Sie können Gespräche archivieren. In einigen Anwendungen, wie CRM, ist es wichtig, bestimmte Interaktionen zu verfolgen - um die Effektivität von Kundensupportmitarbeitern zu bewerten, zum Beispiel. Die Conversations API ermöglicht es Ihnen, ein Gespräch zu archivieren, um das Thema zu „schließen“. Wenn der Benutzer/Kunde eine weitere Nachricht sendet, öffnet die Conversations API automatisch ein neues Thema.
Außerdem. Durch das Durchführen einer PATCH-Anfrage an https://conversations.messagebird.com/v1/conversations/{id} mit dem richtigen Status im Körper können Sie die Konversation mit dieser ID archivieren. Wir machen das mit dem „bye“-Befehl:
archiveConversation wird die PATCH-Anfrage ausführen und manager.close(whp.Conversation.ID) wird die To-Do-Listen-Konversation entfernen.
Aber hey, Programmable Conversations ist eine Omnichannel-Lösung. Was wäre, wenn Sie den Code des Bots für eine andere Plattform, wie WeChat, wiederverwenden wollten? Dieser Multichannel-Ansatz ist Teil der Abweisungsstrategie bei Anfragen zu kostengünstigeren Kanälen. Wie würden Sie das machen?
Erstellen Sie einfach einen neuen Webhook, der auf diesen Kanal abzielt! Ein Webhook, der Anfragen an dieselbe URL https://todobot.eu.ngrok.io/create-hook sendet, die wir für WhatsApp verwendet haben!
Das wird funktionieren, weil der Handler-Code immer die conversationID aus der Webhook-Nutzlast verwendet, um die Nachrichten zu beantworten, anstatt einer fest kodierten channelID. Die Conversations API von MessageBird wird automatisch den Kanal für die Konversation bestimmen, über den Ihre Nachricht gesendet wird.
Möchten Sie Ihren eigenen Bot erstellen? Schauen Sie sich den vollständigen Code auf Github an: Wabot auf Github, fordern Sie frühzeitigen Zugang zu WhatsApp an, indem Sie die WhatsApp-Seite besuchen und auf den Kontakt-Button klicken, um das Formular auszufüllen. Viel Spaß beim Botten!



