
Teilen Sie:
Jẹ́káyinOlúwa is a software craftsman and product manager passionate about technology and its impact on people. He works on product management, backend development, DevOps, technical writing, and community strategy. He enjoys dealing in the intersection of software, design, and human interaction. He likes reading and music.
Wie man SMS-Nachrichten in Python empfängt
Lesedauer: 12 Minuten
Dieser Artikel wurde im August 2025 aktualisiert.
Einführung
Dieses Tutorial zeigt Ihnen, wie Sie mit Hilfe der Vonage API SMS-Nachrichten in Python empfangen können.
Vonage verfügt über zwei verschiedene APIs für den Empfang von SMS: die SMS API, die ausschließlich für SMS-Nachrichten verwendet wird, und die Messages API, mit der Sie andere Kanäle wie WhatsApp nutzen können. In diesem Lernprogramm verwenden wir die Messages API um eingehende SMS-Nachrichten mit Python zu empfangen.
Die eingehenden SMS-Nachrichten werden über einen öffentlich zugänglichen Webhook. In diesem Artikel erfahren Sie, wie Sie diesen Webhook einrichten und mit Ihrem Vonage Account verbinden.
Voraussetzungen
Um eine Python-Anwendung für den Empfang eingehender SMS-Nachrichten zu erstellen, benötigen Sie die folgenden Programme.
Python
Für die Verwendung der Flask-Bibliothek wird Python benötigt. Besuchen Sie die offizielle Python-Download-Seite um eine Python-Version herunterzuladen, die für Sie geeignet ist.
Flachmann
Sie verwenden Flask um Ihren Webhook zu schreiben. Bevor Sie Flask installieren, erstellen Sie Ihr Projektverzeichnis und navigieren Sie wie folgt dorthin:
mkdir receive_sms
cd receive_smsSie können Flask mit dem pip-Paketmanager installieren, der mit Python installiert wird. Verwenden Sie den folgenden Terminalbefehl, um Flask in dem neu erstellten Ordner zu installieren.
pip install flask Vonage-API
Um die Vonage Messages API zu nutzen, benötigen Sie einen Vonage API Account. Greifen Sie auf Ihr Vonage API Dashboard zu, um Ihren API-Schlüssel und Ihr API-Geheimnis zu finden, die Sie oben auf der Seite finden.
Vonage CLI
Die Vonage CLI Paket kann verwendet werden, um eine virtuelle Vonage-Nummer zu erwerben, anstatt den Kauf über die Benutzeroberfläche Ihres Dashboards durchzuführen. Es kann auch zum Senden einer Test-SMS verwendet werden.
Installieren Sie die Vonage CLI global in Ihrem Terminal, indem Sie diesen Befehl ausführen:
Um eine Vonage Telefonnummer über CLI zu erwerben, richten Sie zunächst Ihre API-Anmeldedaten mit vonage config:set --apiKey=XXXXXX --apiSecret=XXXXXXein, suchen Sie dann nach verfügbaren Numbers mit vonage numbers:search [Alpha-2 Country Code] und kaufen Sie eine mit vonage numbers:buy [Number] [Country Code].
Alternativ können Sie eine Nummer auch direkt über die Nummer kaufen in Ihrem Dashboard erwerben.
Empfangen von SMS-Nachrichten in Python mit der Vonage API
Sobald Sie Python, Flask und die Vonage CLI erfolgreich installiert haben, können Sie loslegen. Im Folgenden erklären wir Ihnen, wie Sie diese Tools verwenden, damit Python Textnachrichten von der Vonage API empfangen kann. Um eine Python-Anwendung zu erstellen, die SMS-Nachrichten empfängt, folgen Sie einfach diesen 4 Schritten:
Erstellen Sie einen Webhook für eingehende SMS
Machen Sie die Webhook-URL öffentlich zugänglich
Konfigurieren Sie Ihr Vonage-Konto
Senden und Empfangen einer Test-SMS
1. Erstellen Sie den Webhook für eingehende SMS
Der erste Schritt zum Empfang einer SMS in Python besteht darin, einen Webhook für eingehende Textnachrichten zu erstellen.
Beim Empfang einer SMS-Nachricht auf Ihrem Vonage Account überprüft Vonage, ob Sie einen Webhook eingerichtet haben. Wenn es einen Webhook findet, kann es die Nachricht an Ihre Anwendung weiterleiten. Sie können den Webhook so konfigurieren, dass er entweder für eine einzelne Nummer oder für alle Nummern in Ihrem Account funktioniert.
Um eingehende Nachrichten zu verarbeiten, wird Ihr Webhook-Handler so konzipiert sein, dass er eine POST Anfrage. Um dies zu erleichtern, werden Sie einen Flask-Endpunkt erstellen, der für die Bearbeitung der eingehenden Anfragen zuständig ist.
Erstellen Sie eine sms-receive.py Datei in Ihrem Flask-Projekt und fügen Sie den folgenden Code hinzu:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhooks/inbound-message", methods=['POST'])
def inbound_message():
if request.is_json:
data = request.get_json()
print(data)
else:
data = dict(request.form) or dict(request.args)
print(data)
return "200"
if __name__ == '__main__':
app.run(host="", port=3000)Packen wir das mal aus, um zu sehen, wie dieser Code funktioniert. Im vorherigen Codeausschnitt:
Sie haben einen Webhook-Endpunkt mit dem Namen
/webhooks/inbound-message. Dieser Endpunkt ist für den Empfang und das Parsen der Daten in den Nutzdaten eingehender Nachrichten zuständig.
@app.route("/webhooks/inbound-message", methods=['POST'])
def inbound_message():Die Methode
request.get_json()Methode wird verwendet, um zu überprüfen, ob die Anfrage im JSON-Format vorliegt. Liegt die Anfrage nicht im JSON-Format vor, werden die Schlüssel/Wertpaare im Anfragetrumpf oder im URL-Abfrage-String mitrequest.formundrequest.argsabgerufen.
if request.is_json:
data = request.get_json()Die Anfragedaten werden geparst und in der
dataVariable gespeichert und dann mitprint.
data = request.get_json()
print(data)Schließlich geben Sie an, dass die Anwendung in Port 3000.
if __name__ == '__main__':
app.run(host="", port=3000) Webhook-URL öffentlich zugänglich machen
Um eingehende SMS-Nachrichten zu empfangen, muss der Webhook-Endpunkt Ihrer Python-Anwendung über das öffentliche Internet erreichbar sein. Dadurch kann Vonage eine Anfrage an Ihren Endpunkt stellen, sobald eine SMS empfangen wird.
Normalerweise benötigen Sie im Produktionsmodus einen Server mit einer öffentlichen Domäne, um den Endpunkt anzuhängen. Für Tests im Entwicklungsmodus werden wir jedoch ngrok, um die Serverumgebung zu imitieren.
Sie können ngrok von der offiziellen Website herunterladen oder installieren Website herunterladen oder installieren.. Überprüfen Sie Website von ngrok für Details über die Grenzen des kostenlosen Plans.
Als Nächstes starten Sie ngrok in Ihrem Terminal:
Sobald ngrok gestartet ist, generiert es eine öffentliche URL für Sie, ähnlich der folgenden:
Sie können dann Ihren Endpunkt an die neu generierten ngrok-URLs anhängen, um Ihre Webhook-URLs wie folgt zu bilden:
Diese URL benötigen Sie bei der Erstellung Ihrer Anwendung im nächsten Abschnitt dieses Lernprogramms.
Vonage-Account konfigurieren
Als nächstes müssen Sie Ihren Vonage Account so konfigurieren, dass er die richtige API für SMS-Nachrichten verwendet. Wir verwenden die Messages API für unsere Anwendung anstelle der SMS API.
Um diese Einstellung anzupassen, gehen Sie zu Ihrem Dashboard Einstellungen Seite. Gehen Sie dann zu den SMS-Einstellungen und wählen Sie Messages API.
Messages
Gehen Sie dann zu den Applications um eine Anwendung zu erstellen.
Klicken Sie auf die Schaltfläche + Anwendung erstellen Schaltfläche.
Geben Sie den gewünschten Namen im Feld Name Feld ein.
Wählen Sie im Abschnitt Fähigkeiten Nachrichten und geben Sie Ihren Webhook ein Eingehende URL. Sie können sich unser Lernprogramm nachlesen, wie Sie die Status-URL für die Annahme des Zustellungsstatus ausgehender SMS einrichten.
Messages Webhooks
Klicken Sie auf Neue Anwendung generieren um den Vorgang abzuschließen. Sie werden dann auf die Seite mit dem neu erstellten Antrag weitergeleitet. Auf dieser Seite können Sie Ihre Nummer verknüpfen oder für eine virtuelle Nummer bezahlen.
4. Senden und Empfangen einer Test-SMS
Ihre Anwendung ist nun bereit, eingehende SMS-Nachrichten zu empfangen!! Ihr ngrok-Server läuft auf Port 3000und Sie haben Ihre Anwendung mit einer virtuellen Nummer in Ihrem Vonage Account konfiguriert.
Jetzt können Sie die Flask-Anwendung in einem anderen Terminalfenster starten, damit das vorherige Terminalfenster mit ngrok weiterläuft.
Wenn Sie diesen Befehl ausführen, wird Ihre Flask-Anwendung auf dem lokalen Host-Port gestartet 3000. Dieser Port wird automatisch von ngrok erkannt, so dass Sie Ihre Anwendung über die öffentliche URL von ngrok im Internet bereitstellen können.
Verwenden Sie nun den folgenden Vonage CLI-Befehl, um eine Test-SMS an Ihre Vonage-Nummer auf Ihrem Terminal zu senden.
In dem Terminal-Fenster, in dem Ihre Python-Anwendung läuft, sollten Sie sehen, dass Ihr Webhook die eingehende SMS empfangen hat:
Sie erhalten auch eine SMS-Nachricht auf Ihrem Mobiltelefon, wie auf dem folgenden Screenshot zu sehen ist:
SMS Screenshot
Schlussfolgerung
In diesem Tutorial haben Sie den Prozess des Empfangs eingehender SMS-Nachrichten mit Python kennengelernt. Jetzt können Sie die Vonage Messages API in Ihre Python-Applikationen integrieren und diese Anwendungen zur Verarbeitung eingehender Textnachrichten verwenden.
Haben Sie eine Frage oder möchten Sie etwas mitteilen? Beteiligen Sie sich am Gespräch auf dem Vonage Community Slackund bleiben Sie auf dem Laufenden mit dem Entwickler-Newsletter, folgen Sie uns auf X (früher Twitter), abonnieren Sie unseren YouTube-Kanal für Video-Tutorials, und folgen Sie der Vonage Entwickler-Seite auf LinkedInein Raum für Entwickler, um zu lernen und sich mit der Community zu vernetzen. Bleiben Sie in Verbindung, teilen Sie Ihre Fortschritte und halten Sie sich über die neuesten Nachrichten, Tipps und Veranstaltungen für Entwickler auf dem Laufenden!
Weitere Lektüre
In den Ressourcen von Vonage finden Sie weitere Informationen zur Messages API:
Teilen Sie:
Jẹ́káyinOlúwa is a software craftsman and product manager passionate about technology and its impact on people. He works on product management, backend development, DevOps, technical writing, and community strategy. He enjoys dealing in the intersection of software, design, and human interaction. He likes reading and music.