Share via


Bibliothèque cliente SMS Azure Communication pour .NET - version 1.0.1

Ce package contient un Kit de développement logiciel (SDK) C# pour Azure Communication Services pour les SMS et la téléphonie.

| Code sourcePackage (NuGet) | Documentation produit

Prise en main

Installer le package

Installez la bibliothèque de client SMS Azure Communication pour .NET avec NuGet :

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

Prérequis

Vous avez besoin d’un abonnement Azure et d’une ressource Communication Service pour utiliser ce package.

Pour créer un service communication, vous pouvez utiliser le portail Azure, le Azure PowerShell ou la bibliothèque de client de gestion .NET.

Concepts clés

SmsClient fournit la fonctionnalité permettant d’envoyer des messages entre des numéros de téléphone.

Utilisation d’instructions

using System;
using Azure.Communication.Sms;

Authentifier le client

Les clients SMS peuvent être authentifiés à l’aide de la chaîne de connexion acquise à partir d’une ressource de communication Azure dans le portail Azure.

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

Les clients SMS peuvent également être authentifiés à l’aide d’informations d’identification de jeton valides. Avec cette option, les variables d’environnement AZURE_CLIENT_SECRET, AZURE_CLIENT_ID et AZURE_TENANT_ID doivent être configurées pour l’authentification.

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

Exemples

Envoi d’un message SMS 1:1

Pour envoyer un sms, appelez la Send fonction ou SendAsync à partir de .SmsClient

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}");

Envoyer un message SMS 1:N

Pour envoyer un SMS à une liste de destinataires, appelez la Send fonction ou SendAsync à partir du SmsClient avec une liste des numéros de téléphone du destinataire. Vous pouvez également ajouter un passage dans un objet options pour spécifier si le rapport de remise doit être activé et définir des balises personnalisées.

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}");
}

Dépannage

Les opérations SMS lèvent une exception en cas d’échec de la demande adressée au serveur. Les exceptions ne sont pas levées si l’erreur est due à un message individuel, uniquement en cas d’échec de la demande globale. Utilisez l’indicateur Successful pour valider chaque résultat individuel afin de vérifier si le message a été envoyé.

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);
}

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez cla.microsoft.com.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.