Senden einer WhatsApp-Mediennachricht mit C# in 30 Sekunden

February 19, 2019
Autor:in:

ioc5s81IAy6e0Cqe_VcjmBc5qfB-J1WSRBbtj0sS-A7CaslmfXu6fylG_YRsfJa0OelC0KBBZ2kFSmV32t-Wdl11UXbiGaYBnfYTwmBvIC2zCRWcC6ZBXj95mYFeWgVB5G_mSRzP

Bei ihrer Einführung im Sommer 2018 konnte die Twilio-API für WhatsApp nur textbasierte Nachrichten verarbeiten. Jetzt ist auch das Senden und Empfangen von Mediennachrichten möglich 🎉. Das Senden einer Mediennachricht mit WhatsApp geht genauso schnell wie das Senden einer Textnachricht – hier erfahren Sie in nur 30 Sekunden, wie das geht!

Für einen noch schnelleren Einstieg finden Sie unten den vollständigen Code auf GitHub.

Eine vollständige Integration von Twilio-APIs in einer .NET Core-Anwendung finden Sie in dieser kostenlosen 5-teiligen Videoreihe von mir. Die Videoreihe ist zwar unabhängig von diesem Tutorial, bietet aber eine vollständige Erklärung zahlreicher APIs an einem zentralen Ort.

Wenn Sie mitprogrammieren möchten, benötigen Sie Folgendes:

Nachdem Sie eine neue .NET-Konsolenanwendung erstellt haben, fügen Sie der Lösung das Twilio NuGet-Paket hinzu. Bei Bedarf finden Sie eine Anleitung dazu in diesem Beitrag.

Öffnen Sie die Program.cs-Datei und fügen Sie die using-Anweisung für Twilio hinzu. Initialisieren Sie den Twilio-REST-Client mit der Konto-SID und dem Authentifizierungstoken. Diese Informationen finden Sie in der Twilio-Konsole.

Bei dieser Lösung werden die Konto-SID und das Authentifizierungstoken als Umgebungsvariablen verwendet, aber wir können sie auch über die App-Einstellungen und geheime Benutzerschlüssel hinzufügen.

using System;
using System.Collections.Generic;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

namespace WhatsApp
{
   class Program
   {
       static void Main(string[] args)
       {
           TwilioClient.Init(
               Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"),
               Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")
           );
       }
   }
}

Zum Senden einer Nachricht rufen Sie die MessageResource.Create-Methode auf. Fügen Sie sowohl die Twilio-WhatsApp-Telefonnummer, die zum Aktivieren der Sandbox verwendet wurde, als auch eine für WhatsApp freigeschaltete Telefonnummer ein. Beide müssen im E.164-Format eingegeben werden.

Zum Senden einer textbasierten Nachricht verwenden Sie den body-Parameter. Um Medien zu senden, erstellen Sie eine neue Sammlung von der URI zum Medienelement und setzen diese auf den mediaUrl-Parameter.

TwilioClient.Init(
               Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"),
               Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")
           );

var message = MessageResource.Create(
               from: new PhoneNumber("whatsapp:TWILIO_WHATSAPP_NUMBER"),
               to: new PhoneNumber("whatsapp:YOUR_MOBILE_NUMBER"),
               body: "Ahoy from Twilio!",
               mediaUrl: new List<Uri>{new Uri("URL_TO_IMAGE")}
           );

Console.WriteLine("Message SID: " + message.Sid);

Stellen Sie jetzt die NuGet-Pakete wieder her, um sicherzugehen, dass alle heruntergeladen wurden. Danach können Sie das Projekt neu bauen und ausführen.

Kurz darauf wird eine Mediennachricht auf Ihrem Telefon eintreffen!

screenshot of whatsapp with a photo of a cupcake

Wie geht es weiter?

Es gibt einige Unterschiede zwischen MMS und WhatsApp-Mediennachrichten. Mediennachrichten können nur an WhatsApp-Nutzer gesendet werden, wenn eine aktive Messaging-Sitzung besteht. Messaging-Sitzungen kommen zustande, wenn ein Nutzer auf eine Vorlagennachricht antwortet oder ein Gespräch initiiert. Zudem muss der Nutzer 24 Stunden lang nach der zuletzt gesendeten Nachricht aktiv sein. WhatsApp-Mediennachrichten unterstützen nicht alle Dateitypen, die von MMS unterstützt werden. Weitere Informationen zu den unterstützten Dateitypen finden Sie in den Häufig gestellten Fragen (FAQs).

Möchten Sie sich genauer mit diesem Thema befassen? In diesem Blog erfahren Sie mehr über das Senden und Empfangen von WhatsApp-Mediennachrichten.

Weitere Ideen und nützliche Tipps finden Sie außerdem in den WhatsApp-Schnellstartanleitungen, der Dokumentation zur Twilio-REST-API und den C#/.NET-Hilfebibliotheken.

Ich kann es kaum abwarten, zu sehen, was Sie bauen.