
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. Damit können Unternehmen Kommunikationsplattformen wie WhatsApp, Messenger und SMS in ihre Systeme integrieren — mit einer einzigen API.
Ich wollte es ausprobieren, also habe ich einen WhatsApp-Bot To-Do-Liste gebaut, denn wer braucht nicht eine automatisierte To-Do-Liste, um seinen Tag zu organisieren? Es mag kompliziert klingen, aber es war eigentlich einfach, und ich möchte Ihnen alles darüber erzählen.
Nun, ich arbeite bei MessageBird, also konnte ich einfach loslegen und mit dem Bauen anfangen. Wenn Sie es selbst ausprobieren wollen, müssen Sie frühzeitig Zugang beantragen. Aber sobald Sie einen WhatsApp-Kanal eingerichtet haben, können Sie sich auf dem Dashboard der MessageBird-Website anmelden und loslegen.
Das Erste, was ich tat, war die Dokumentation zu lesen. Ich habe erfahren, dass ich, um Nachrichten vom Bot zu empfangen, einen Webhook verwenden müsste. Das bedeutete, dass mein Bot über das Internet zugänglich sein musste. Wenn man APIs wie diese entwickelt, ist es wichtig, die besten Praktiken für API-Versionsverwaltung für die Wartbarkeit zu befolgen. Da ich gerade erst anfing, es zu programmieren, entschied ich mich für ngrok. Es erstellt einen Tunnel vom öffentlichen Internet zu Ihrem lokalen localhost-Port 5007. Legen wir los!
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 an https://conversations.messagebird.com/v1/webhooks
und sieht ungefähr so aus:
Super. Jetzt wird die Conversations API eine POST-Anfrage an:
https://todobot.eu.ngrok.io/create-hook
senden, wann immer eine neue Nachricht im zuvor eingerichteten WhatsApp-Kanal erstellt wird.
So sieht eine Webhook-Nutzlast aus:
Wir wollen diese Nachrichten beantworten. Fangen wir damit an, sie zurückzumelden, was meinen Sie?
Nun zum interessanten Teil. Machen Sie eine POST-Anfrage an:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
, um die Anfrage zu beantworten.
Da. Das ist alles, was Sie brauchen, um einen Bot zu erstellen, der wie ein fünfjähriger Mensch agiert.
Lassen Sie uns jetzt einen Schritt vorwärts machen und die gesamte To-Do-Liste erstellen. Zuerst modifizieren Sie die createHookHandler-Funktion ein wenig, sodass sie die neue handleMessage-Funktion aufruft, anstatt zu antworten.
handle wird die Nachrichten einfach 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). Grundsätzlich ist „manager“ eine konkurenzsichere Map, die Gesprächs-IDs auf To-Do-Listen abbildet.
Eine To-Do-Liste ist ein konkurenzsicherer String-Abschnitt. Alles im Speicher!
Eine weitere wichtige Sache! Sie können Gespräche archivieren. In einigen Anwendungen, wie z.B. CRMs, ist es wichtig, bestimmte Interaktionen zu verfolgen — um z.B. die Effektivität von Kundensupportmitarbeitern nachzuverfolgen. 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: Eine PATCH-Anfrage an https://conversations.messagebird.com/v1/conversations/{id}
mit dem richtigen Status im Body ermöglicht es Ihnen, das Gespräch mit dieser ID zu archivieren. Wir tun dies mit dem „bye“-Befehl:
archiveConversation führt die PATCH-Anfrage aus und manager.close(whp.Conversation.ID) wird das To-Do-Listen-Gespräch entfernen.
Aber hey, Programmable Conversations ist eine Omni-Channel-Lösung. Was ist, wenn Sie den Code des Bots für eine andere Plattform wiederverwenden möchten, wie zum Beispiel WeChat? Dieser Multi-Channel-Ansatz ist Teil der Strategie zur Abwehr von Anfragen an kostengünstigere Kanäle. Wie würden Sie das angehen?
Erstellen Sie einfach einen neuen Webhook, um diesen Kanal anzusteuern! Ein Webhook, der Anfragen an dieselbe https://todobot.eu.ngrok.io/create-hook
-URL 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 eine hartcodierte channelID. Die Conversations API von MessageBird wird automatisch den Kanal für das Gespräch bestimmen, um Ihre Nachricht zu senden.
Möchten Sie Ihren eigenen Bot erstellen? Werfen Sie einen Blick auf den vollständigen Code auf Github: https://github.com/marcelcorso/wabot, beantragen Sie frühzeitig Zugang zu WhatsApp über diesen Link und fangen Sie direkt mit dem Erstellen an. Viel Spaß beim Botten!