https://d226lax1qjow5r.cloudfront.net/blog/blogposts/get-sms-delivery-receipt-asp-net-mvc-dr/sms-dlr-net.png

Wie man eine SMS-Zustellungsbestätigung in ASP.NET MVC erhält

Zuletzt aktualisiert am May 18, 2021

Lesedauer: 2 Minuten

Nachdem Sie nun erfolgreich eine eine SMS gesendet und eine SMS empfangen mit Ihrer Vonage-Nummer erfolgreich verschickt und empfangen haben, ist es nun an der Zeit, den Status der Nachricht zu überprüfen, um sicherzustellen, dass sie zugestellt wurde. Dazu müssen wir die Zustellungsbestätigung abrufen, die den Zustellungsstatus der Nachricht zurückgibt.

Anforderungen

  • Ein Visual Studio-Projekt

  • Ein Projekt, das wie im vorherigen Blogbeitrag beschrieben Blog-Beitrag in dieser Tutorial-Serie beschrieben, das Sie auf GitHub.

  • Optional: Vonage CLI

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

In diesem Lernprogramm wird auch eine virtuelle Telefonnummer verwendet. Um eine zu erwerben, gehen Sie zu Rufnummern > Rufnummern kaufen und suchen Sie nach einer Nummer, die Ihren Anforderungen entspricht.

Empfangen Sie Webhooks auf Ihrem lokalen Rechner

Die Vonage SMS-API verwendet Webhooks, um die ASP.NET-Anwendung über den Status der gesendeten Textnachricht zu informieren. Wie in dem vorherigen Tutorialerläutert, werden wir mit ngrok verwenden, um den Port für das Internet freizugeben damit sich die Server von Vonage während der Tests mit ihm verbinden können.

Example of Ngrok running

Gehen Sie zurück zu Visual Studio und führen Sie Ihr Programm aus, dann gehen Sie zum Dashboard von Vonage. Auf der Registerkarte Einstellungen sehen Sie ganz unten auf der Seite Rückruf bei Empfangsbestätigung unter den API-Einstellungen. Fügen Sie die ngrok-URL in das Textfeld ein und fügen Sie /SMS/DLR an das Ende an. Dadurch wird die Nachricht an die Aktion "Empfangen" im SMS-Controller weitergeleitet.

Configuring Nexmo webhooks

Eintauchen in den Code

In dieser Tutorial-Serie haben wir zunächst gelernt, wie man eine SMS versendet.

In diesem ersten Lehrganghaben wir ein ASP.NET MVC-Projekt erstellt und einen Controller namens SMSController.cs. Anschließend haben wir zwei Aktionsmethoden erstellt. Eine davon sollte die Ansicht für die Details der SMS (Zielnummer und Nachrichtentext) darstellen und die andere sollte die Werte aus dem Formular abrufen und eine SMS senden.

Im zweiten Lehrganghaben wir eine weitere Action-Methode erstellt, um die Details einer eingehenden SMS-Nachricht in das Ausgabefenster zu drucken.

Um den Lieferschein zu lesen, erstellen wir eine Aktionsmethode namens DLR in der Datei SMSController.cs.

Code example receiving DLR

Wie Sie im obigen Code sehen können, müssen Sie Folgendes hinzufügen [FromUri] in den Parameter einfügen, um den Lieferschein lesen zu können. Fügen Sie oberhalb dieser Methode ein HTTPGetAttribute hinzu, um die Methode auf die Bearbeitung von GET-Anfragen zu beschränken. Drucken Sie die messageID (Nachrichten-ID), msisdn (Virtuelle Vonage-Nummer), bis (Zielnummer), und der Status (Statusmeldung) mit 'Debug.WriteLine' in das Ausgabefenster übertragen. Sie können können Sie die Liste der Statuscodes hier einsehen.

Jetzt sind Sie startklar! Senden Sie eine SMS mit Ihrer virtuellen Vonage-Nummer und öffnen Sie das Ausgabefenster in Visual Studio. Dort sollten Sie die Empfangsbestätigung für den gesendeten Text sehen! Sie haben nun erfolgreich Ihre virtuelle Nummer so eingerichtet, dass sie einen Status für eine Textnachricht über einen Webhook zurückgibt!

Example output of a DLR

Teilen Sie:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Rabeb OthmaniVonage Ehemalige

Rabeb war Developer Advocate bei Nexmo, wo sie sich auf Cloud-Kommunikations-APIs konzentrierte und Entwicklern half, die bestmögliche Erfahrung bei der Entwicklung ihrer Apps zu machen. Rabeb schreibt nicht nur Code für ihren Lebensunterhalt, sondern setzt sich auch dafür ein, mehr Frauen und Minderheiten in die Technologiebranche zu bringen, und engagiert sich daher bei Women Who Code und verschiedenen Tech-Communities. Sie leitet das Women Who Code Network in Bristol.