Share via


Azure Communication SMS-Clientbibliothek für .NET– Version 1.0.1

Dieses Paket enthält ein C#-SDK für Azure Communication Services für SMS und Telefonie.

Quellcode | Paket (NuGet) | Produktdokumentation

Erste Schritte

Installieren des Pakets

Installieren Sie die Azure Communication SMS-Clientbibliothek für .NET mit NuGet:

dotnet add package Azure.Communication.Sms --version 1.0.0

Voraussetzungen

Sie benötigen ein Azure-Abonnement und eine Communication Service-Ressource , um dieses Paket verwenden zu können.

Um einen neuen Communication Service zu erstellen, können Sie das Azure-Portal, die Azure PowerShell oder die .NET-Verwaltungsclientbibliothek verwenden.

Wichtige Begriffe

SmsClient stellt die Funktionalität zum Senden von Nachrichten zwischen Telefonnummern bereit.

Verwenden von Anweisungen

using System;
using Azure.Communication.Sms;

Authentifizieren des Clients

SMS-Clients können mithilfe der Verbindungszeichenfolge authentifiziert werden, die von einer Azure-Kommunikationsressource im Azure-Portal abgerufen wurde.

var connectionString = "<connection_string>"; // Find your Communication Services resource in the Azure portal
SmsClient client = new SmsClient(connectionString);

Alternativ können SMS-Clients auch mit gültigen Tokenanmeldeinformationen authentifiziert werden. Mit dieser Option müssen die Umgebungsvariablen AZURE_CLIENT_SECRET, AZURE_CLIENT_ID und AZURE_TENANT_ID für die Authentifizierung eingerichtet werden.

string endpoint = "<endpoint_url>";
TokenCredential tokenCredential = new DefaultAzureCredential();
SmsClient client = new SmsClient(new Uri(endpoint), tokenCredential);

Beispiele

Senden einer SMS: 1:1

Um eine SMS-Nachricht zu senden, rufen Sie die - oder SendAsync -SendFunktion aus der SmsClientauf.

SmsSendResult sendResult = await smsClient.SendAsync(
    from: "<from-phone-number>", // Your E.164 formatted from phone number used to send SMS
    to: "<to-phone-number>", // E.164 formatted recipient phone number
    message: "Hi");
Console.WriteLine($"Sms id: {sendResult.MessageId}");

Senden einer SMS: 1:N

Um eine SMS-Nachricht an eine Liste von Empfängern zu senden, rufen Sie die Send - oder SendAsync -Funktion von mit SmsClient einer Liste der Telefonnummern des Empfängers auf. Sie können auch pass in ein Optionsobjekt hinzufügen, um anzugeben, ob der Übermittlungsbericht aktiviert werden soll, und benutzerdefinierte Tags festzulegen.

var response = await smsClient.SendAsync(
    from: "<from-phone-number>", // Your E.164 formatted from phone number used to send SMS
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" }, // E.164 formatted recipient phone numbers
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });
foreach (SmsSendResult result in response.Value)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

Problembehandlung

SMS-Vorgänge lösen eine Ausnahme aus, wenn die Anforderung an den Server fehlschlägt. Ausnahmen werden nicht ausgelöst, wenn der Fehler durch eine einzelne Nachricht verursacht wird, nur wenn bei der Gesamtanforderung ein Fehler auftritt. Verwenden Sie das Successful Flag, um jedes einzelne Ergebnis zu überprüfen, um zu überprüfen, ob die Nachricht gesendet wurde.

try
{
    var response = await smsClient.SendAsync(
        from: "<from-phone-number>" // Your E.164 formatted phone number used to send SMS
        to: new string [] {"<to-phone-number-1>", "<to-phone-number-2>"}, // E.164 formatted recipient phone number
        message: "Weekly Promotion!",
        options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
        {
            Tag = "marketing", // custom tags
        });
    foreach (SmsSendResult result in response.Value)
    {
        if (result.Successful)
        {
            Console.WriteLine($"Successfully sent this message: {result.MessageId} to {result.To}.");
        }
        else
        {
            Console.WriteLine($"Something went wrong when trying to send this message {result.MessageId} to {result.To}.");
            Console.WriteLine($"Status code {result.HttpStatusCode} and error message {result.ErrorMessage}.");
        }
    }
}
catch (RequestFailedException ex)
{
    Console.WriteLine(ex.Message);
}

Nächste Schritte

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.