SMS mit Twilio versenden
Lesezeit: 3 Minuten
SMS ist eine einfache und etablierte Technologie mit der Unternehmen mit Ihren Kunden kommunizieren. Weltweit gibt es rund 7,2 Milliarden Mobiltelefone die SMS empfangen können, damit ist es sicherlich eine der verbreitetsten Technologien unserer Zeit.
Im nachfolgenden Artikel wollen wir eine SMS aus einer einfachen Applikation über die Twilio API versenden. Die Integration ist einfach und mit jeder Programmiersprache möglich, in diesem Beispiel wollen wir die Twilio API mit PHP ansprechen.
Vorbereitung
Für die nächsten Schritte benötigen wir die folgende vier Dinge:
Abhängige Pakete Installieren und Composer Konfigurieren
Bevor wir den eigentlichen PHP Code schreiben, müssen wir die abhängige Pakete installieren und Composer konfigurieren. Dafür benötigen wir nur zwei Pakete, zum einen das Twilio Client SDK, also die Schnittstelle zu Twilio. Das zweite Paket ist PHP dotenv, mit diesem Paket werden wir die nötigen Umgebungsvariablen konfigurieren.
Zum Installieren der zwei Pakete führen wir den folgenden Befehl aus:
Nachdem beide Pakete installiert sind, müssen wir composer.json
aktualisieren. Composer ist ein Framework für das Dependency Management in PHP-Anwendungen, wir müssen uns also nicht an die Kommandozeilen Syntax erinnern, sondern der Autoloader wird die Klassen automatisch initialisieren.
In composer.json
fügen wir nach oder vor dem require
folgenden Eintrag ein.
Nachdem wir die composer.json geändert haben, legen wir die Ordner für unsere Applikation an. Unsere Struktur sieht aus wie folgt.
Wir brauchen nur wenige Dateien und Ordner, um die Projektstruktur anzulegen führen wir folgenden Befehl aus.
SMSManager.php als Kern der Applikation
Wir haben die Ordner und die zwei PHP Klassen erstellt. Als aller erstes werden wir jetzt die SMSManager.php
programmieren, diese Datei wird später über Twilio die SMS versenden und enthält den Großteil der Logik
Natürlich wäre es auch möglich, die Logik in public/index.php
zu haben und darüber die SMS zu versenden, mit einer eigenen Klasse können wir unsere Programmcode aber später besser erweitern und testen.
Unsere Klasse hat nur eine Methode, sendSMS
. Wird die Methode ausgeführt, wird ein Twilio\Rest\Api\V2010\Account\MessageInstance
Objekt zurückgegeben und in unsere $message variable geschrieben. Das Objekt ist vom Typ MessageInstance
und stellt eine eingehende oder ausgehende Nachricht dar.
Das Objekt enthält Attribute mit allen Informationen zur SMS die wir versendet haben, beispielsweise den Status (status
), die Nachricht (body
), die Telefonnummer des Absenders (from
), die Telefonnummer des Empfängers (to
), den Preis (price
), das Erstellungsdatum (date_created
), und das Versanddatum (date_sent
).
Die Methode sendSMS
braucht noch folgende Variablen
- $sid: die Twilio Account SID.
- $token: der Twilio Authentifizierungstoken
- $twilioPhoneNumber: die Twilio Telefonnummer, also den Absender
- $recipientPhoneNumber: die Telefonnummer des Empfängers
- $message: der SMS Text die Sie an die Empfänge senden
Nachdem diese fünf Variablen initialisiert sind, müssen wir noch zwei weitere Variablen hinzufügen; $twilio
und $message
. Die Variable $twilio
ist ein Twilio\Rest\Client
Objekt und wird mit $sid
und $token
initialisiert. Über diese Objekt kommuniziert unsere Applikation mit der Twilio Messaging API, und versendet letztendlich die SMS.
Die Variable $message
ist der Rückgabewert der create
Methode und vom Type \Twilio\Rest\Api\V2010\Account\MessageList
, diese Klasse stellt uns ein Interface zur Verfügung um ein MessageInterface
Objekte zu lesen oder zu erstellen.
Das Bootstrap-Skript
Als nächstes schreiben wir das Bootstrap Script (public/index.php
), unser Script ist sehr kurz und erledigte nur drei Dinge:
- Es macht die Umgebungsvariablen für unsere Script verfügbar
- Es führt die
sendSMS
Methode des SMSManager aus, versendet die SMS und gibt dieMessageInstance
zurück - Die Details unserer SMS werden auf der Kommandozeile ausgegeben
Die Umgebungsvariablen
Es gibt noch eine Datei die wir ausfüllen müssen: .env
. Diese Datei enthält die Umgebungsvariablen die wir für unserer Applikation brauchen, erst mit diesen Variablen für die Authentifizierung kann unsere Applikation mit Twilio kommunizieren. Wir kopieren das Beispiel unten in unsere .env
Datei. Danach fügen wir die entsprechenden Variablen von der Twilio Console ein.
Testen
Nachdem wir mit den vier Dateien fertig sind, wollen wir unser Applikation natürlich das erste Mal testen, dazu führen wir die folgenden Befehle aus.
Wenn die Applikation richtig funktioniert, sollten zwei Dinge passieren. Als erste sehen wir die Message sids auf der Konsole, kurz danach erhalten wir eine SMS. Das sollte ähnlich wie auf dem Bild unten ausschauen.
Zusammenfassung
SMS ist eine etablierte und günstige Technologie, und vor allem eine einfache Möglichkeit für viele Firmen, mit Ihren Kunden in Kontakt zu bleiben. Es gibt sehr viele Anwendungen, in denen SMS schnell und einfach die Kundenkommunikation verbessern kann, beispielsweise durch Versandbenachrichtigungen, Terminerinnerungen oder direkte Kommunikation bei Produktfragen mit dem Kundenservice.
In diesem Artikel haben wir eine SMS mit PHP und Twilio’s Programmable Messaging API versendet. Es gibt viele Möglichkeiten, aus PHP eine SMS zu schicken die, meisten Anwendungen werden mit einem Framework wie Laravel, Mezzio, oder Symfony entwickelt. Aber auch ohne Framework, also mit „Plain Old PHP“, und einem kostenlose Twilio Konto kann man nach kurzer Zeit SMS versenden.
Matthew Setter is einer PHP Entwickler und PHP Editor bei Twilio Voices. Matthew hat unter anderem das Buch Mezzio Essentials verfasst (Englisch), ein unterhaltsamer und entspannter Einstieg in das PHP Mezzio Framework. Wenn er gerade keinen Code in PHP schreibt, editiert er tolle PHP Artikel für Twilio. Er ist erreichbar unter:
- Email: matthew@matthewsetter.com
- Twitter: @settermjd
- GitHub: https://github.com/settermjd
Verwandte Posts
Ähnliche Ressourcen
Twilio Docs
Von APIs über SDKs bis hin zu Beispiel-Apps
API-Referenzdokumentation, SDKs, Hilfsbibliotheken, Schnellstarts und Tutorials für Ihre Sprache und Plattform.
Ressourcen-Center
Die neuesten E-Books, Branchenberichte und Webinare
Lernen Sie von Customer-Engagement-Experten, um Ihre eigene Kommunikation zu verbessern.
Ahoy
Twilios Entwickler-Community-Hub
Best Practices, Codebeispiele und Inspiration zum Aufbau von Kommunikations- und digitalen Interaktionserlebnissen.