So konfigurieren Sie eingehenden SMS-Support
So konfigurieren Sie eingehenden SMS-Support
Sie möchten die SMS-Kommunikation im Rahmen Ihres Supports nutzen?
Wir haben bereits früher beschrieben, welche Vorteile dies mit sich bringt. Hier erhalten Sie eine Schritt-für-Schritt-Anleitung zur Implementierung in Ihrem System. Der Leitfaden ist in drei Abschnitte unterteilt:
- Im ersten Abschnitt konzentrieren wir uns auf die Konfiguration von GatewayAPI und Zendesk.
- Im zweiten Abschnitt konzentrieren wir uns darauf, dass Kunden SMS-Nachrichten zurücksenden können, um Supportfälle zu erstellen und zu aktualisieren.
- Abschließend konzentrieren wir uns darauf, wie Zendesk so konfiguriert wird, dass Antworten auf Supportfälle als SMS-Nachrichten versendet werden.
1. Konfigurieren von GatewayAPI und Zendesk
Damit das System SMS-Nachrichten empfangen kann, müssen einige Konfigurationen in Zendesk und auf dem GatewayAPI-Konto vorgenommen werden.
Zendesk
Beginnen Sie, indem Sie im Menü links auf Settings klicken und unter Manage auf Ticket Fields gehen. Klicken Sie auf Add custom field und wählen Sie Text field aus.
Geben Sie Ihrem neuen Feld einen Namen, z. B. ‚Telefon‘ und notieren Sie sich die benutzerdefinierte Field ID. Sie werden sie später brauchen.
GatewayAPI
Um GatewayAPI für den Empfang von Nachrichten zu aktivieren, müssen Sie zunächst eine Telefonnummer haben, die Nachrichten empfangen kann. Dies kann auf verschiedene Weise erfolgen. In diesem Leitfaden verwenden wir eine virtuelle Nummer, die über uns gemietet werden kann.
Sobald Sie eine Nummer bereit haben, erstellen Sie eine URL, die verwendet werden kann, um HTTP-POST-Anfragen für die empfangenen Nachrichten zu empfangen. Die Anfrage wird eine Menge Daten enthalten: Unter anderem die Telefonnummer und den Textinhalt der Nachricht.
In diesem Beispiel verwenden wir localhost tunnel tool ngrok, Python und Flask library, um den Code auszuführen und eine Public URL zu ergänzen, die wir für unseren Webhook verwenden können.
In einer Produktionsumgebung müssen Sie es natürlich auf einem echten Server laufen lassen. Zendesk unterstützt eine Vielzahl verschiedener Programmiersprachen, darunter PHP. Eine vollständige Übersicht über die Sprachen, für die es Bibliotheken gibt, finden Sie hier.
Um das Setup abzuschließen, gehen Sie im Backend von GatewayAPI auf settings -> dann webhooks -> und klicken Sie abschließend auf Add a new REST webhook. Geben Sie Ihrem Webhook einen Namen und fügen Sie Ihre URL ein.
Jetzt sind GatewayAPI und Zendesk bereit für den nächsten Schritt, bei dem wir uns genauer ansehen werden, wie wir es Ihren Kunden ermöglichen, SMS-Nachrichten an Sie zu senden.
2. Ermöglichung der Rücksendung von SMS-Nachrichten durch Kunden
Jetzt ist es an der Zeit, den Webhook mit echten Funktionen zu verknüpfen. Wie bereits erwähnt, verwenden wir Python, aber es steht Ihnen frei, die von Ihnen bevorzugte Programmiersprache zu verwenden. Sie können auch direkt mit der API von Zendesk kommunizieren, die sehr gut dokumentiert ist.
Wir verwenden die folgenden Bibliotheken, um die verschiedenen Aufgaben auszuführen:
Zunächst müssen Sie eine Funktion definieren, die eine SMS an den Kunden zurücksendet, um zu bestätigen, welche Maßnahmen aufgrund seines Inputs ergriffen wurden. Es kann auch eine Nachricht sein, die anzeigt, dass sein Input nicht verstanden wurde oder nicht erlaubt ist.
Sie müssen jetzt eine Reihe von Befehlen erstellen, damit Benutzer Support per SMS erhalten können. Verwenden Sie den Befehl casefolder, sodass Input korrekt verarbeitet wird können, unabhängig davon, ob Groß- oder Kleinbuchstaben verwendet werden. Alle Befehle außer „Hilfe“ suchen zunächst nach dem Keyword, gefolgt von einer Meldung, dass der Supportfall erstellt oder aktualisiert wurde. Eine Liste von Befehlen könnte lauten:
- Hilfe
- Neu
- [ID] – Heltal ID für den zu aktualisierenden Supportfall.
Diese Liste kann mit allem erweitert werden, was Ihnen bei der Verwendung der Zendesk API nützlich erscheinen könnte.
Jetzt kommen wir zum spannenden Teil, wo wir unserer Lösung einige echte Zendesk-Funktionen hinzufügen werden. Zunächst müssen Sie sich für die Art der Authentifizierungsmethode entscheiden, die Sie verwenden möchten. In diesem Beispiel wird die tokenbasierte Authentifizierung verwendet. Erstellen Sie dazu in Zendesk ein API-Token, indem Sie im Menü auf Settings und unter Channels auf API klicken. Jetzt können Sie das Token verwenden, um einen Zenpy-Client in Python zu erstellen.
Im obigen Codebeispiel sorgt ‚**credentials dafür, dass die Inhalte der Bibliothek als keywords arguments an Zenpy übertragen werden. Definieren Sie anschließend eine Route in Flask, die die URL sein sollte, die Sie für den Webhook in GatewayAPI gewählt haben. Sie sollte so konfiguriert werden, dass sie nur POST-Anfragen akzeptiert, da eingehende Nachrichten auf diese Weise gesendet werden.
Holen Sie zunächst den JSON Body der eingehenden Anfrage und holen Sie die Nachricht, teilen Sie dann den String in Leerzeichen auf und prüfen Sie, ob das erste Wort mit dem Keyword „new“ übereinstimmt. Wenn dies der Fall ist, können Sie das Kennwort verwerfen, da Sie es nicht mehr benötigen.
Überprüfen Sie anschließend, ob nach „new“ noch andere Wörter stehen. Ist dies nicht der Fall, schreiben Sie dem Kunden zurück und fordern ihn auf, eine eigentliche Nachricht zusammen mit dem Keyword zu senden. Wenn es mehrere Wörter gibt, verbinden Sie sie wieder zu einem String und erstellen Sie einen Supportfall mit den ersten 40 Zeichen als Betreff und der vollständigen Nachricht als Text.
Anschließend setzen Sie den Anforderer auf einen anonymen Benutzer. Legen Sie dazu einen Benutzer mit Name und external_id an, die beide auf die Telefonnummer eingestellt sind, die die SMS gesendet hat. Wenn dies nicht konfiguriert ist, werden die Anmeldedaten aus dem API-Anruf verwendet, sodass alle SMS-Supportfälle so aussehen, als ob sie von Ihrem Entwickler stammen.
Legen Sie dann das benutzerdefinierte Feld „Telefon zur Telefonnummer“ fest. Denken Sie daran, dass wir die benutzerdefinierte Feld-ID gleich zu Beginn gespeichert haben. Das benutzerdefinierte Feld wird auch benötigt, damit wir später den Zendesk-Platzhalter verwenden können.
Es wird nun geprüft, ob der Kunde einen bestehenden Supportfall aktualisieren möchte.
Laden Sie zunächst den vorhandenen Supportfall herunter. Überprüfen Sie dann, ob der Supportfall von derselben Telefonnummer aus aktualisiert wird, unter der er erstellt wurde. Ist dies nicht der Fall, wird die Aktualisierung des Supportfalls nicht zugelassen. Dadurch wird verhindert, dass Supportfälle zufällig aktualisiert werden. Verwerfen Sie dann den Keyword-Teil der Nachricht und überprüfen Sie, ob es einen Kommentartext gibt, mit dem Sie den Supportfall aktualisieren können, setzen Sie den Status des Supportfalls auf „offen“ und aktualisieren Sie ihn mit der Kommentarnachricht.
Jetzt brauchen Sie einen Befehl, um Ihren Kunden zu zeigen, was sie Ihnen schreiben können. Geben Sie den Befehl „Hilfe“ ein.
Dies sendet einfach eine Antwort zurück, die zeigt, was sie tun können. Schließlich können Sie ein Sicherheitsnetz erstellen, das alle anderen Inputs erfasst und eine Antwort zurücksendet, die anzeigt, dass die Anfrage nicht verstanden wurde.
Ihre Kunden können nun mit Ihnen und Ihrem Support-Team per SMS in Kontakt treten. Im letzten Teil des Leitfadens sehen wir uns an, wie Sie Zendesk so konfigurieren können, dass Antworten auf Supportfälle als SMS-Nachrichten gesendet werden.
3. Beantwortung von Supportfällen per SMS
Um dies zu erreichen, verwenden wir die Target and Trigger-Funktionen von Zendesk.
Erstellen eines Ziels
Zunächst benötigen Sie ein API-Token von GatewayAPI. Sie erhalten es unter Settings -> API Keys -> klicken Sie dann auf die Schaltfläche mit dem Schlüsselsymbol.
Gehen Sie nun ins Backend von Zendesk -> klicken Sie links auf das Menü -> klicken Sie auf Settings. Klicken Sie unter Settings auf Extensions -> klicken Sie auf Add Target und wählen Sie HTTP Target aus.
Jetzt müssen Sie Ihr Ziel/Target erstellen. Füllen Sie die Eingabefelder wie folgt aus:
Title: Name Ihres Ziels/Targets.
URL: https://gatewayapi.com/rest/mtsms
Method: POST
Content type: JSON
Basic Authentication: Aktiviert, fügen Sie Ihr API-Token in den User Name ein und lassen Sie das Password leer.
Sie können die Funktion Test Target verwenden, um sicherzustellen, dass alles ordnungsgemäß funktioniert, und sich selbst eine SMS senden. Test Target fordert Sie auf, den JSON Body zu definieren. Sie können JSON unten kopieren und zum Testen Ihrer Ziele verwenden. Denken Sie daran, Ihre eigene Telefonnummer in die Empfängerliste einzutragen und an die Ländervorwahlen zu denken.
Wenn alles funktioniert, erstellen Sie das Ziel.
Sie haben jetzt ein Ziel, das Sie verwenden können, um SMS-Nachrichten an Ihre Kunden zu senden, wenn ein Supporter auf Support-Anfragen reagiert, indem er das benutzerdefinierte Field phone verwendet, das wir am Anfang des Leitfadens hinzugefügt haben.
Das Target kann auch für andere Auslöser verwendet werden, um Personen in Ihrem Team zu benachrichtigen, aber leider kann dies nur für eine vordefinierte Liste von Empfängern geschehen und nicht auf dynamische Weise, um bestimmte Supporter zu benachrichtigen. Es kann jedoch möglicherweise verwendet werden, Warnmeldungen zu versenden, wenn ein Supportfall nicht innerhalb einer Stunde, eines Tages oder innerhalb eines anderen für Sie passenden Zeitraums beantwortet wurde.
Einrichten eines Triggers
Um einen Trigger zu erstellen, gehen Sie im Zendesk-Backend zu Settings -> klicken Sie unter Business Rules auf Triggers -> dann Add Trigger oder bearbeiten Sie einen Ihrer vorhandenen Trigger.
Wählen Sie die Bedingungen aus, auf die Ihr Trigger reagieren soll. Hier können Sie einfach den Standardauslöser bearbeiten namens Notify Requester of Comment Update. Alles, was Sie hier tun müssen, ist eine Benachrichtigung hinzuzufügen, um die ausgewählte Target Action zum Trigger hinzuzufügen.
Um den JSON-Body für diesen Trigger zu definieren, können Sie die Placeholders von Zendesk in der Nachricht verwenden. Alle verfügbaren Placeholders finden Sie, indem Sie auf View Available Placeholders klicken. Ihr JSON-Body kann so aussehen:
Sie können jetzt Supportfälle per SMS empfangen und beantworten.
Voilà!