Dieses Tutorial ist für Sie, wenn Sie dringende Nachrichten an Ihre Kunden oder Mitarbeiter senden müssen, aber noch kein eingerichtetes Benachrichtigungssystem haben. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie ein Bash-Skript erstellen, um schnell SMS-, Sprach- oder E-Mail-Benachrichtigungen an mehrere Empfänger in einem CSV zu senden.
Verlinkungen im Text führen häufig zu Englisch-sprachigen Webseiten
Voraussetzungen
Wenn Sie Nachrichten per SMS, Voice und E-Mail versenden, benötigen Sie sowohl ein Twilio-Konto (SMS und Voice) als auch ein Sendgrid-Konto (E-Mail). Hier erfahren Sie, wie Sie anfangen können:
- Ein Twilio-Konto (Registrieren Sie sich für ein kostenloses Testkonto und erhalten Sie eine Gutschrift von $10)
- Ein SendGrid-Konto (Registrieren Sie sich für ein kostenloses Testkonto, versenden Sie 40.000 E-Mails für 30 Tage, dann bis zu 100/Tag) - wird benötigt, um E-Mail-Benachrichtigungen zu versenden.
- Homebrew (für Mac-Nutzer) oder Node.js (für Windows-Nutzer) zur Installation von Twilio CLI
Einrichten des SendGrid-Kontos
Wenn Sie dies noch nicht getan haben, gehen Sie zu sendgrid.com und melden Sie sich für ein kostenloses Konto an oder loggen Sie sich in Ihr bestehendes Konto ein.
Sie müssen eine E-Mail-Domäne besitzen oder die Kontrolle über diese Domäne haben, damit dieser Prozess erfolgreich ablaufen kann. Wir empfehlen dringend, den Domain-Authentifizierungsprozess abzuschließen, um die Zustellbarkeit von E-Mails zu erhöhen. Der Abschnitt "Senden Sie keine E-Mails von Domains, die Sie nicht kontrollieren" erklärt, warum dies notwendig ist. Ein Best Practice ist das Aufwärmen Ihrer IP-Adresse, um Ihre Absenderreputation zu verbessern.
Wählen Sie unter den API-Schlüsseln die Option API-Schlüssel erstellen:
Wählen Sie einen API-Schlüsselnamen (z.B. Notifications App), wählen Sie "Eingeschränkter Zugriff", aktivieren Sie "Voller Zugriff beim Mailversand", erstellen und sehen Sie:
Notieren Sie sich den erstellten API-Schlüssel. Kopieren Sie ihn und fügen Sie ihn an einen sicheren Ort ein, da Sie ihn nicht mehr sehen können, wenn Sie diese Seite verlassen.
Einrichten der Twilio CLI
Wenn Sie dies noch nicht getan haben, gehen Sie zu twilio.com und melden Sie sich für ein kostenloses Konto an, oder loggen Sie sich in Ihr bestehendes Konto ein. Notieren Sie sich Ihre Konto-SID und Ihr Auth Token, da Sie diese für die Anmeldung über die CLI in den folgenden Schritten benötigen.
Sie finden Ihre Konto-SID und Ihr Auth Token auf Ihrer Konsole:
Twilio CLI ist ein Kommandozeilen-Schnittstellen-Tool, mit dem Sie Ihre Twilio-Ressourcen direkt von Ihrem Terminal oder Ihrer Eingabeaufforderung aus verwalten können. Dies ist hilfreich, um zu verhindern, dass wir zwischen dem Browser und unserem Terminal hin- und herschalten, da wir die Eingabeaufforderung zur Entwicklung unserer Anwendung verwenden werden. Installieren Sie Twilio CLI für Ihr jeweiliges Betriebssystem, indem Sie dieser Anleitung folgen.
Um E-Mails zu versenden, benötigen wir die Funktion '--no-attachment', die an 'email:send' angehängt wird. Diese ist in Twilio CLI 2.0.0 oder neueren Versionen verfügbar.
Sobald Twilio CLI installiert ist, melden Sie sich bei Ihrem Konto an, indem Sie diesen Befehl in Ihrem Terminal ausführen:
$ twilio login
Sie werden aufgefordert, eine lokale ID für die Anmeldedaten einzugeben, die als Shorthand Identifier bekannt ist, gefolgt von Ihrer Konto-SID und dem Auth Token:
Als nächstes installieren Sie die CLI-Autovervollständigung, um Unterstützung für die Bash-Vervollständigung hinzuzufügen:
$ twilio autocomplete bash
Lassen Sie uns die CLI testen, indem wir die zum Kauf verfügbaren Telefonnummern nach Vorwahlen auflisten. Achten Sie darauf, den --area-code
durch den Wert der gewünschten Region zu ersetzen.
$ twilio api:core:available-phone-numbers:local:list \
--area-code="222" --country-code US
Kaufen Sie jetzt eine verfügbare Telefonnummer, indem Sie das Attribut --phone-number
durch eine Nummer aus dem vorherigen Befehl ersetzen:
$ twilio api:core:incoming-phone-numbers:create \
--phone-number="+ 12223334444"
Nachdem Sie den Eintrag und Kauf einer Telefonnummer über die CLI getestet haben, überprüfen Sie Ihre Telefonnummern mit einem Filter für die Vorwahl:
$ twilio api:core:incoming-phone-numbers:list --phone-number="+1222"
Es gibt 3 Arten von Nummern für A2P-Nachrichten (Application-to-Person) (Short Code, Toll-free, Long Code) mit jeweils unterschiedlichen Eigenschaften. Bitte lesen Sie dieses Dokument, um die Unterschiede zwischen Short Code und Toll-free besser zu verstehen.
In diesem Blog zur SMS-Performance werden auch die Unterschiede und bewährten Verfahren für den Versand von SMS über die verschiedenen Rufnummerntypen skizziert.
In diesem Blog werden wir einen Long Code für eine einfache Anwendung mit nicht mehr als 200 Empfängern und nicht mehr als einer Nachricht pro Sekunde verwenden. Wenn Sie vorhaben, mehr als 7.200 Nachrichten pro Tag zu versenden, wenden Sie sich bitte an Twilio.
Für einen höheren Durchsatz und Umfang sollten Sie stattdessen eine Kurzwahlnummer - Short Code (nur Nachrichten) oder eine gebührenfreie Nummer - Toll-free - mit hohem Durchsatz in Betracht ziehen.
Testen Sie, ob die CLI richtig funktioniert, indem Sie eine einfache Nachricht an Ihr mobiles Gerät senden:
$ twilio api:core:messages:create \
--from "+12223334444" \ --to "+15556667777" \
--body "Hello from Twilio!"
Das --from
attribut ist die Twilio-Nummer, die Sie gekauft haben, und das --to
attribut ist Ihre Test-Handynummer.
Um E-Mail-Benachrichtigungen zu testen, setzen Sie die Umgebungsvariable SENDGRID_API_KEY mit einem Twilio SendGrid API-Schlüssel:
$ export SENDGRID_API_KEY=SG.xyz.abc
Testen Sie, ob die CLI richtig funktioniert, indem Sie eine einfache E-Mail-Nachricht senden:
$ twilio email:send --to='to@mail.com' --from='from@mail.com' --subject='My first Twilio SendGrid Email' --text='Yes it works!' --no-attachment
Ihr Ergebnis sollte den unten aufgeführten Daten ähnlich sein:
Your email contains the message "Yes it works!" sent from "from@mail.com" to "to@mail.com" with the subject line "My first Twilio SendGrid Email" has been sent!
Das --from
attribut ist Ihre E-Mail-Adresse und das --to
attribut ist eine Test-E-Mail-Adresse.
Sie können mit Hilfe des Activity Feeds überprüfen, ob Ihre E-Mail erfolgreich zugestellt wurde:
Erstellen Sie Ihre Mitarbeiter- oder Kundenliste
Wie oben erwähnt, muss eine Liste der Empfänger in einer einfachen Tabelle (.csv-Datei) erstellt werden, die die Informationen enthält, die Sie für den Versand von Benachrichtigungen verwenden werden. Für jeden Anwendungsfall (SMS vs. Telefonie vs. E-Mail) werden die Felder unterschiedlich sein. Wir werden Ihnen ein einfaches Beispiel zeigen, in dem wir SMS-, Sprach- und E-Mail-Grüße an unsere Kunden namentlich versenden und sie über die Ladenöffnungszeiten an einem bestimmten Datum informieren wollen. Wir gehen davon aus, dass die Kunden OPTED IN sind, um solche Benachrichtigungen zu erhalten. Diese Beispiele könnten auch leicht modifiziert werden, um Informationen an Mitarbeiter zu senden, die über eine Büroschließung benachrichtigt werden, an Schüler und Eltern über die Schulzeiten oder über alle Nachrichten, die wichtig sind und eine sofortige Reaktion erfordern.
Erstellen Sie in diesem Beispiel eine kleine Datei notification.csv
mit den folgenden Spalten und speichern Sie sie auf Ihrem Computer:
Wenn Sie Vi oder einen anderen CLI-Editor bevorzugen, sollte es wie folgt aussehen:
Channel,Date,HoursStart,HoursStop,From,To,Name
voice,4/15/20,8:00,17:00,1222333444,15556667777,Twilio Voice
sms,4/15/20,8:00,17:00,1222333444,18889990000,Twilio SMS
email,4/15/20,8:00,17:00,from@mail.com,to@mail.com,Twilio Email
Achten Sie darauf, die Spalten From
und To
durch die richtigen Telefonnummern oder E-Mail-Adressen zu ersetzen.
Erstellen Sie ein einfaches Bash-Skript zum Senden der Benachrichtigungen
Wir werden nun ein Bash-Skript (oder eine einfache Textdatei mit einer Reihe von Befehlen) erstellen, um unser CSV zu analysieren und die Empfänger entsprechend zu kontaktieren. Wenn Sie neu im Programmieren sind, lesen Sie bitte diese Anleitung, um mehr über Bash-Skripte zu erfahren.
Erstellen Sie in Ihrem Terminal eine neue Datei namens CliNotifications.sh
:
$ touch CliNotifications.sh
Öffnen Sie nun die Datei in einem CLI-Editor Ihrer Wahl und fügen Sie den folgenden Code ein:
INPUT=notification.csv
OLDIFS=$IFS
IFS=,
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read channel date hoursStart hoursStop from to name
do
if [[ $channel = "sms" ]];
then
echo "Date : $date"
echo "HoursStart : $hoursStart"
echo "HoursStop : $hoursStop"
echo "From : $from"
echo "Name : $name"
echo "To : $to"
echo "Channel : $channel"
body="Hello "$name". Our working hours on "$date" will be from "$hoursStart" to "$hoursStop". Thank you!"
echo $body
twilio api:core:messages:create --to $to --from $from --body $body -o json
fi
if [[ $channel = "voice" ]];
then
echo "Date : $date"
echo "HoursStart : $hoursStart"
echo "HoursStop : $hoursStop"
echo "From : $from"
echo "Name : $name"
echo "To : $to"
echo "Channel : $channel"
body="Hello "$name". Our working hours on "$date" will be from "$hoursStart" to "$hoursStop". Thank you!"
echo $body
twilio api:core:calls:create --twiml "<Response><Say>$body</Say></Response>" --to $to --from $from
fi
if [[ $channel = "email" ]];
then
echo "Date : $date"
echo "HoursStart : $hoursStart"
echo "HoursStop : $hoursStop"
echo "From : $from"
echo "To : $to"
echo "Name : $name"
echo "Channel : $channel"
body="Hello "$name". Our working hours on "$date" will be from "$hoursStart" to "$hoursStop". Thank you!"
echo $body
twilio email:send --to $to --from $from --subject='Our working hours update' --text $body --no-attachment
fi
sleep 1
done < $INPUT
IFS=$OLDIFS
Testen Sie das Skript
Stellen Sie sicher, dass Sie beide Dateien im gleichen Verzeichnis gespeichert haben.
Führen Sie Ihr Skript aus, indem Sie ./CliNotifications.sh
ausführen und überprüfen Sie die Ergebnisse.
Sie sollten eine SMS-Nachricht auf Ihrer ersten Nummer, eine Sprachnachricht auf Ihrer zweiten Nummer und eine E-Mail-Benachrichtigung erhalten haben, wie im Screenshot unten dargestellt.
Falls es nicht funktioniert, befolgen Sie diese Schritte zur Fehlerbehebung:
- Wenn Sie eine Bash erhalten:
bash: ./CliNotifications.sh: Permission denied
- geben Sie den folgenden Befehl ein, um die Berechtigungen zu ändern:chmod 755 CliNotifications.sh
- Prüfen Sie den Debugger auf Fehlermeldungen
- Überprüfen Sie das Anrufprotokoll auf Fehlermeldungen (Aktive Nummern => Registerkarte Anrufprotokoll)
Schauen Sie auf die Registerkarten Details und Zusammenfassung der Einsichten:
- Überprüfen Sie das Meldungsprotokoll auf Fehlermeldungen (Aktive Nummern => Registerkarte Meldungsprotokoll)
- Wenn der E-Mail-Test fehlschlägt (das Bash-Skript lädt diese Zeile nicht), hat Excel der Datei möglicherweise zusätzliche Formatierungsinformationen hinzugefügt. Versuchen Sie, die Datei mit einem CLI-Editor wie
vi
odernano
zu öffnen und erneut zu speichern. - Überprüfen Sie auf dem SendGrid Dashboard den Aktivitäts-Feed. Zum Beispiel:
Erweitern Sie mit Ihren tatsächlichen Telefonnummern
Wenn alles gut funktioniert hat, können Sie alle echten Kunden-, Mitarbeiter- oder Studenteninformationen zu Ihrer Liste hinzufügen. Sie können die Nachrichten auch modifizieren, indem Sie Folgendes in Ihrem Code entfernen oder auskommentieren:
# echo "Date : $date"
# echo "HoursStart : $hoursStart"
# echo "HoursStop : $hoursStop"
# echo "From : $from"
# echo "Name : $name"
# echo "To : $to"
# echo "Channel : $channel"
Fazit
In diesem Blog haben Sie gelernt, wie Sie Twilio CLI und ein Bash-Skript verwenden können, um den Versand von Benachrichtigungen an Kunden, Mitarbeiter oder Studenten zu automatisieren.
Hinweis: Es ist wichtig, die richtigen Sicherheits- und HIPAA-Compliance-Maßnahmen zu beachten, wenn Sie Twilio Programmable Messaging, Voice und E-Mail verwenden, um Patienten über ihren individuellen Gesundheitszustand/-symptome zu informieren. Kontaktieren Sie Twilio, wenn Sie Fragen haben.
Wenn Ihre Organisation weitere Unterstützung bei der Entwicklung von Lösungen oder eine Partnerschaft bei der Bekämpfung des COVID-Ausbruchs wünscht, stehen wir Ihnen gerne zur Verfügung. Füllen Sie das Formular auf dieser Seite aus.
Mögliche Verbesserungen
Hier sind ein paar Vorschläge, wie Sie das, was wir gerade aufgebaut haben, erweitern können:
- Senden Sie Benachrichtigungen über Twilio APIs.
- Verbessern Sie das Skript, um 2 Dateien zu laden, eine für statische Felder (date, hoursStart, hoursStop, from) und eine weitere für diejenigen, die pro Kunde oder Mitarbeiter variieren (name, to).
- Verwenden Sie TwiML-Bins, um die Erfahrung zu verbessern, indem Sie einfach eine einfache Antwort hinzufügen, falls jemand auf Ihre Nachricht antwortet.
- Fügen Sie mit Twilio Studio ein Conversational IVR hinzu.
Kontaktieren Sie uns für Sie weitere Informationen und sprechen Sie mit einem Experten.
Der englische Original-Post https://www.twilio.com/blog/create-simple-notification-system-twilio-cli-programmable-voice-messaging-email wurde von auekermann [at] twilio.com übersetzt.
Zusätzliche Ressourcen
Die folgenden Artikel bieten Ihnen ausführliche Informationen zu einigen der in diesem Beitrag erwähnten Themen (auf Englisch):