SMS-Kundenbetreuung
Die allgemeine Verfügbarkeit von SMS macht sie zu einer vielseitigen Lösung für den Kundensupport. Telefonnummern können ausgedruckt, vorgelesen und auf Websites veröffentlicht werden, so dass jeder, ob online oder offline, mit Ihrem Unternehmen in Kontakt treten kann.
Die Bereitstellung von Kundensupport per SMS ist eine Möglichkeit, jedem, der über ein an ein Mobilfunknetz angeschlossenes Telefon verfügt, ein vollständiges Zwei-Wege-Kommunikationssystem zur Verfügung zu stellen.
In diesem Lernprogramm
Sie erstellen ein System für den SMS-Kundensupport unter Verwendung der APIs und Bibliotheken von Vonage.
Um dies zu tun:
- Erstellen einer einfachen Webanwendung - eine einfache Webanwendung mit einem Link zum Öffnen eines Support-Tickets erstellen.
- Eine Nummer kaufen - eine Vonage-Telefonnummer erwerben, um SMS zu senden und eingehende SMS zu empfangen
- Eine eingehende SMS verarbeiten - Annahme und Verarbeitung eingehender SMS vom Kunden
- Senden einer SMS-Antwort mit einer Ticketnummer - Antwort mit einer neuen Ticketnummer, wenn ein Ticket geöffnet wird
Voraussetzungen
Damit dieses Tutorial funktioniert, benötigen Sie:
- A Vonage-Konto
- Ein öffentlich zugänglicher Webserver, damit Vonage Webhook-Anfragen an Ihre Anwendung stellen kann. Wenn Sie lokal entwickeln, sollten Sie ein Tool wie ngrok
- Der Quellcode für dieses Tutorial stammt von https://github.com/Nexmo/ruby-sms-customer-support/
- Alle in den USA ansässigen Kunden müssen eine Marke und eine Kampagne registrieren, um die 10 DLC-Leitlinien.
Eine grundlegende Web-Anwendung
In diesem Tutorial beginnen Sie mit einer Webanwendung mit einer Seite. Der Benutzer kann auf einen Link klicken, um seine SMS-App zu öffnen und Support anzufordern. Ihre App sammelt die eingehenden SMS und öffnet ein neues Ticket. Schließlich antwortet die App mit einer neuen SMS an den Benutzer, in der sie dessen Ticketnummer bestätigt.
Beginnen Sie mit der Erstellung einer einfachen Anwendung.
Die Seite befindet sich im Stammverzeichnis unserer Anwendung und enthält einen Link zu Ihrer SMS-App mit einem vorausgefüllten Text.
Hinzufügen einer ersten Seite
app/views/pages/index.html.erb
<h1>ACME Support</h1>
<p>
<a href="sms://<%= ENV['VONAGE_NUMBER'] %>?body=Hi ACME, I'd like some help with: " class='button'>
Get support via SMS
</a>
</p>
Nun kann der Server gestartet werden.
Starten des Servers
Eine Telefonnummer kaufen
Bevor die App eine SMS empfangen kann, muss eine Vonage-Telefonnummer gemietet werden. Telefonnummern können über die Website Dashboard oder direkt von der Kommandozeile mit dem Befehl Vonage CLI.
Schließlich muss Vonage über den Webhook-Endpunkt informiert werden, an den eine HTTP-Anfrage gestellt werden soll, wenn eine eingehende SMS empfangen wird. Dies kann mit der Dashboard oder die Vonage CLI.
Hinweis: Stellen Sie sicher, dass Ihr Server läuft und öffentlich verfügbar ist, bevor Sie versuchen, eine neue Callback-URL für Webhooks einzurichten. Wenn Sie einen neuen Webhook einrichten, ruft Vonage Ihren Server an, um zu bestätigen, dass er verfügbar ist.
Eine eingehende SMS verarbeiten
Wenn der Kunde seine SMS sendet, wird sie von Vonage über das Netz des Mobilfunkanbieters empfangen. Vonage stellt anschließend einen Webhook zu Ihrer Anwendung her.
Dieser Webhook enthält den ursprünglich gesendeten Text, die Telefonnummer, von der die Nachricht kam, und einige weitere Parameter. Weitere Details finden Sie in der Eingehende Nachricht Dokumentation.
Ihre App sollte den eingehenden Webhook verarbeiten, den Text und die Nummer extrahieren, ein neues Ticket eröffnen oder ein bestehendes Ticket aktualisieren. Wenn es sich um die erste Anfrage eines Kunden handelt, sollte die App eine Bestätigungsnachricht mit der Ticketnummer an den Kunden zurücksenden.
Dazu wird die eingehende Nachricht gespeichert und ein neues Ticket geöffnet, wenn für die Nummer noch kein Ticket geöffnet ist.
Hinzufügen eines Tickets und eines Nachrichtenmodells
app/controllers/support_controller.rb
class SupportController < ApplicationController
def index
save_message
send_response
render nothing: true
end
private
def ticket
@ticket ||= Ticket.where(
number: params[:msisdn]
).first_or_create
end
def save_message
message = Message.create(
text: params[:text],
ticket: ticket
)
end
Senden einer SMS-Antwort mit einer Ticketnummer
Um die Bestätigung an die SMS des Kunden zu senden, fügen Sie das Vonage Server SDK zu Ihrem Projekt hinzu.
Gemfile
gem 'vonage'
gem 'dotenv-rails'
Hinweis: Um das Server SDK zu initialisieren, müssen Sie ihm Ihre API-Schlüssel und Geheimnis. Wir empfehlen Ihnen dringend, Ihre API-Anmeldedaten nicht in Ihrem Code zu speichern, sondern stattdessen Umgebungsvariablen zu verwenden.
Nach der Initialisierung der Bibliothek kann die Anwendung nun eine SMS versenden. Senden Sie nur dann eine Antwort, wenn dies die erste Nachricht zu diesem Ticket war.
def send_response
return if ticket.messages.count > 1
client = Vonage::Client.new
result = client.sms.send(
from: ENV['VONAGE_NUMBER'],
to: ticket.number,
text: "Dear customer, your support" \
"request has been registered. " \
"Your ticket number is #{ticket.id}. " \
"We intend to get back to any " \
"support requests within 24h."
)
end
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie eine SMS von einem Kundentelefon empfangen und eine SMS-Antwort an den Kunden senden können. Mit diesen Codeschnipseln haben Sie nun eine SMS-Kundensupportlösung, die die Vonage SMS API nutzt.
Holen Sie sich den Code
Der gesamte Code für dieses Lernprogramm und mehr ist verfügbar auf GitHub.