Zwei-Wege-SMS zur Kundenbindung
Programmierbare SMS sind nicht nur für einseitige Benachrichtigungen nützlich. Wenn Sie ausgehende Benachrichtigungen mit eingehenden Nachrichten kombinieren, schaffen Sie chatähnliche Interaktionen zwischen Ihrem Unternehmen und Ihren Kunden.
In diesem Lernprogramm
Sie sehen, wie schnell Sie eine Zwei-Wege-Kommunikation in Ihre App einbauen können: Sie senden eine Zustellbenachrichtigung an die Telefonnummer Ihres Kunden und bearbeiten seine Antwort, wenn er einen Zustellungszeitpunkt ändern möchte.
Der Arbeitsablauf für Ihre Anwendung ist folgender:
Um dies zu tun:
- Konfigurieren Sie eine virtuelle Vonage-Nummer - eine virtuelle Nummer mieten und die Webhook-Endpunkte für eingehende Nachrichten festlegen
- Erstellen einer einfachen Webanwendung - Erstellen Sie eine Web-App zur Erfassung der Telefonnummer Ihres Kunden.
- Eine SMS-Benachrichtigung senden - Ihrem Kunden eine Zustellungsbenachrichtigung per SMS schicken und eine Antwort anfordern.
- Verarbeiten Sie die Antwort-SMS - die SMS-Antwort zu verarbeiten und zu quittieren.
Voraussetzungen
Um dieses Tutorial durcharbeiten zu können, benötigen Sie:
- A Vonage-Konto
- Ein öffentlich zugänglicher Webserver, damit Vonage Webhook-Anfragen an Ihre Anwendung stellen kann. Wenn Sie lokal entwickeln, müssen Sie müssen Sie ein Tool wie ngrok
- Der Quellcode für dieses Tutorial stammt von https://github.com/Nexmo/ruby-customer-engagement/.
- Alle in den USA ansässigen Kunden müssen eine Marke und eine Kampagne registrieren, um die 10 DLC-Leitlinien.
Konfigurieren Sie eine virtuelle Vonage-Nummer
Vonage leitet eingehende Nachrichten an den Webhook-Endpunkt weiter, der mit Ihrer virtuellen Vonage-Nummer verbunden ist.
Sie verwalten virtuelle Numbers über die Entwickler-API oder die Vonage CLI. Die folgenden Beispiele verwenden die Vonage CLI, um eine Vonage-Nummer zu mieten:
vonage numbers search US
✅ Searching for numbers
There is 1 number available for purchase in United States
Number Type Features Monthly Cost Setup Cost
----------- ------ --------------- ------------ ----------
16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00
Use vonage numbers buy to purchase.
vonage numbers search US
✅ Searching for numbers
There is 1 number available for purchase in United States
Number Type Features Monthly Cost Setup Cost
----------- ------ --------------- ------------ ----------
16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00
Use vonage numbers buy to purchase.
vonage numbers buy US 16127779311
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y
✅ Purchasing number
Number 16127779311 purchased
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
vonage numbers buy US 16127779311
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y
✅ Purchasing number
Number 16127779311 purchased
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
Dann verknüpfen Sie die virtuelle Nummer mit Ihrem Webhook-Endpunkt, der verarbeitet eingehende SMS:
vonage numbers update US 16127779311 `
--voice-status-callback='https://example.com/voice/status' `
--voice-callback-value='https://example.com/voice/callback' `
--voice-callback-type='sip'
Searching for number to update [======================================] 1/1 100%
Number updated successfully
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: sip
Voice Callback Value: https://example.com/voice/callback
Voice Status Callback:https://example.com/voice/status
vonage numbers update US 16127779311 ^
--voice-status-callback='https://example.com/voice/status' ^
--voice-callback-value='https://example.com/voice/callback' ^
--voice-callback-type='sip'
Searching for number to update [======================================] 1/1 100%
Number updated successfully
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: sip
Voice Callback Value: https://example.com/voice/callback
Voice Status Callback:https://example.com/voice/status
Hinweis: Stellen Sie sicher, dass Ihr Server läuft und öffentlich verfügbar ist, bevor Sie den Webhook-Endpunkt mit Ihrer virtuellen Nummer. Vonage muss für eine erfolgreiche Konfiguration eine 200 OK-Antwort von Ihrem Webhook-Endpunkt erhalten. Wenn Sie lokal entwickeln, verwenden Sie ein Tool wie ngrok um Ihren lokalen Webserver dem Internet zugänglich zu machen.
Nachdem Sie Ihre virtuelle Nummer konfiguriert haben, können Sie nun SMS-Benachrichtigungen versenden.
Erstellen einer einfachen Webanwendung
Verwenden Sie Sinatra um eine einseitige Webanwendung zu erstellen:
Gemfile
source 'https://rubygems.org'
# our web server
gem 'sinatra'
app.rb
# web server and flash messages
require 'sinatra'
# load environment variables
# from .env file
require 'dotenv'
Dotenv.load
# Index
# - collects a phone number
#
get '/' do
erb :index
end
Fügen Sie ein HTML-Formular hinzu, um die Telefonnummer zu erfassen, an die Sie eine Benachrichtigungs-SMS senden wollen:
ansichten/index.erb
<form action="/notify" method="post">
<div class="field">
<label for="number">
Phone number
</label>
<input type="text" name="number">
</div>
<div class="actions">
<input type="submit" value="Notify">
</div>
</form>
Das Formular erfasst die Rufnummer in den Feldern E.164 Format, das von der SMS API erwartet wird:
Eine SMS-Benachrichtigung senden
In diesem Lernprogramm fügen Sie zum Senden einer SMS die Vonage Server SDK für Ruby zu Ihrer App:
Gemfile
# the nexmo library
gem 'vonage'
# a way to load environment
# variables
gem 'dotenv'
Verwenden Sie Ihre Vonage-API Schlüssel und Geheimnis um den Client zu initialisieren:
app.rb
# Vonage library
require 'vonage'
vonage = Vonage::Client.new(
api_key: ENV['VONAGE_API_KEY'],
api_secret: ENV['VONAGE_API_SECRET']
)
Hinweis: Speichern Sie Ihre API-Anmeldedaten nicht in Ihrem Code, sondern verwenden Sie Umgebungsvariablen.
Um Antworten auf Ihre Benachrichtigungs-SMS zu erhalten, legen Sie Ihre virtuelle Nummer als Absender-ID für ausgehende Nachrichten fest, wenn Sie eine Anfrage stellen an SMS API:
app.rb
# Notify
# - Send the user their delivery
# notification, asking them
# to respond back if they
# want to make any changes
#
post '/notify' do
notification = "Your delivery is scheduled for tomorrow between " +
"8am and 2pm. If you wish to change the delivery date please " +
"reply by typing 1 (tomorrow), 2 (Thursday) or 3 (deliver to"
"post office) below.<br/><br/>";
vonage.sms.send(
from: ENV['VONAGE_NUMBER'],
to: params['number'],
text: notification
)
"Notification sent to #{params['number']}"
end
Um zu verifizieren, dass der Kunde diese SMS erhalten hat, überprüfen Sie das Feld Lieferschein. In diesem Lernprogramm werden keine Lieferscheine verifiziert.
Verarbeiten Sie die Antwort-SMS
Wenn Ihr Kunde auf Ihre Benachrichtigungs-SMS antwortet, leitet Vonage die SMS weiter. eingehende Nachricht an den mit der virtuellen Nummer verbundenen Webhook-Endpunkt.
In dieser Tutorial-App verarbeiten Sie den eingehenden Webhook, extrahieren den Text und die Nummer und senden eine Bestätigungsnachricht an den Kunden zurück.
app.rb
# Receive incoming message
#
# - Receives incoming SMS
# message, stores it, and
# notifies sender
#
get '/update' do
choice = params['text']
number = params['msisdn']
# You can store or validate
# the choice made here
message = "Thank you for picking option #{choice}. " +
"Your delivery is now fully scheduled in."
vonage.sms.send(
from: ENV['VONAGE_NUMBER'],
to: number,
text: message
)
body ''
end
Das Speichern und Validieren von Kundeneingaben geht über den Rahmen dieses Tutorials hinaus.
Beantworten Sie nun die SMS, die Sie zuvor erhalten haben. Sie sollten sehen, dass sie von Ihrer App verarbeitet wird und eine Bestätigung Ihrer Wahl innerhalb von Sekunden.
Schlussfolgerung
So schnell können Sie in Ihrer App SMS senden und empfangen. Mit ein paar Zeilen Code haben Sie eine SMS an das Telefon eines Kunden mit der SMS API an das Telefon eines Kunden geschickt, eine Antwort verarbeitet und mit einer Bestätigung geantwortet.
Holen Sie sich den Code
Der gesamte Code für dieses Lernprogramm ist in der Datei Zwei-Wege-SMS zur Kundenbindung GitHub Repo.