
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 – mittels einer einzigen API.
Ich wollte es ausprobieren und habe deshalb einen WhatsApp-Bot-aufgabenliste erstellt, denn wer braucht nicht eine automatisierte Aufgabenliste, um seinen Tag zu organisieren? Es mag kompliziert klingen, aber es war tatsächlich einfach und ich möchte Ihnen alles darüber erzählen.
Nun, ich arbeite bei MessageBird, also konnte ich einfach loslegen und anfangen zu bauen. Wenn Sie das ausprobieren, müssen Sie frühen Zugang anfordern. Sobald Sie jedoch mit einem WhatsApp-Kanal eingerichtet sind, können Sie sich auf dem Dashboard der MessageBird-Website anmelden und loslegen.
Das Erste, was ich tat, war die Dokumentation zu lesen. Ich erfuhr, dass ich, um Nachrichten vom Bot zu erhalten, einen Webhook verwenden müsste. Das bedeutete, dass mein Bot vom Internet aus zugänglich sein müsste. Bei der Erstellung von APIs wie dieser ist es wichtig, den Best Practices für API-Versionierung zu folgen, um die Wartbarkeit zu gewährleisten. Da ich gerade erst anfing, es zu codieren, entschied ich mich, ngrok zu verwenden. Es erstellt einen Tunnel vom öffentlichen Internet zu Ihrem lokalen Host-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 handelt sich um ein POST an https://conversations.messagebird.com/v1/webhooks
und es sieht ungefähr so aus:
Super. Jetzt wird die Conversations API eine POST-Anfrage an:
https://todobot.eu.ngrok.io/create-hook
stellen, wann immer eine neue Nachricht in dem von Ihnen eingerichteten WhatsApp-Kanal erstellt wird.
So sieht eine Webhook-Payload aus:
Wir möchten diese Nachrichten beantworten. Lassen Sie uns damit beginnen, sie zu wiederholen, was meinen Sie?
Jetzt zum interessanten Teil. Eine POST-Anfrage an:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages
senden, um die Anfrage zu beantworten.
Da. Das ist alles, was Sie brauchen, um einen Bot zu erstellen, der sich wie ein fünfjähriger Mensch verhält.
Machen wir uns jetzt daran, die gesamte Aufgabenliste zu erstellen. Zuerst ändern Sie die createHookHandler-Funktion ein wenig, sodass sie die neue handleMessage-Funktion anstelle von respond aufruft.
handle wird die Nachrichten einfach analysieren, einige Arbeiten ausführen und die Antwort auswählen. Schauen wir uns den „add“-Befehl an:
Hier richten wir ein: liste := manager.fetch(whp.Conversation.ID). Im Grunde ist „manager“ eine threadsichere Karte, die Konversations-IDs auf Aufgabenlisten abbildet.
Eine Aufgabenliste ist ein threadsicherer String-Slice. Alles im Speicher!
Noch etwas Wichtiges! Sie können Konversationen archivieren. In einigen Anwendungen, wie CRMs, ist es wichtig, bestimmte Interaktionen im Auge zu behalten – zum Beispiel, um die Effektivität von Kundenservicemitarbeitern zu verfolgen. Die Conversations API ermöglicht es Ihnen, eine Konversation 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 können Sie mit der richtigen Statusangabe im Body eine PATCH-Anfrage an https://conversations.messagebird.com/v1/conversations/{id}
senden und so die Konversation mit dieser ID archivieren. Wir tun dies mit dem „bye“-Befehl:
archiveConversation wird die PATCH-Anfrage ausführen und manager.close(whp.Conversation.ID) wird die Aufgabenlisten-Konversation entfernen.
Aber hey, Programmable Conversations ist eine Omnichannel-Lösung. Was ist, wenn Sie den Code des Bots für eine andere Plattform wie WeChat wiederverwenden möchten? Dieser Multi-Channel-Ansatz ist Teil der Strategie zur Ablenkung von Anfragen auf kostengünstigere Kanäle. Wie würden Sie das angehen?
Erstellen Sie einfach einen neuen Webhook, um diesen Kanal anzusprechen! Ein Webhook, der Anfragen an dieselbe https://todobot.eu.ngrok.io/create-hook
URL sendet, die wir für WhatsApp verwendet haben!
Das funktioniert, weil der Handler-Code immer die conversationID aus der Webhook-Payload verwendet, um die Nachrichten zu beantworten, anstatt eine fest codierte channelID zu verwenden. MessageBird’s Conversations API wird automatisch den Kanal für die Konversation 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, fordern Sie frühzeitigen Zugang zu WhatsApp an, indem Sie die WhatsApp-Seite besuchen und auf die Schaltfläche „Kontaktieren Sie den Vertrieb“ klicken, um das Formular auszufüllen. Viel Spaß beim Bot-Erstellen!