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:

Voraussetzungen

Damit dieses Tutorial funktioniert, benötigen Sie:

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.

AppVonagePhoneAppVonagePhoneSMS 1WebhookSMS RequestSMS 2

Beginnen Sie mit der Erstellung einer einfachen Anwendung.

rails new customer-support cd customer-support rake db:create db:migrate

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

rails g controller pages index

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

rails server

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.

vonage numbers:buy US --number=15555555555 Number 15555555555 purchased.

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.

vonage number:sms 15555555555 http://[your.domain.com]/support Number updated

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

rails g controller support index rails g model Ticket number rails g model Message text ticket:references rake db:migrate

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.

Ressourcen