Biblioteca cliente de SMS de Azure Communication para .NET: versión 1.0.1
Este paquete contiene un SDK de C# para Azure Communication Services para SMS y telefonía.
Código | fuente Paquete (NuGet) | Documentación del producto
Introducción
Instalar el paquete
Instale la biblioteca cliente de SMS de Azure Communication para .NET con NuGet:
dotnet add package Azure.Communication.Sms --version 1.0.0
Requisitos previos
Necesita una suscripción de Azure y un recurso de Communication Service para usar este paquete.
Para crear un servicio de comunicación, puede usar Azure Portal, la Azure PowerShell o la biblioteca cliente de administración de .NET.
Conceptos clave
SmsClient
proporciona la funcionalidad para enviar mensajes entre números de teléfono.
Uso de las instrucciones
using System;
using Azure.Communication.Sms;
Autenticar el cliente
Los clientes sms se pueden autenticar mediante la cadena de conexión adquirida desde un recurso de comunicación de Azure en Azure Portal.
var connectionString = "<connection_string>"; // Find your Communication Services resource in the Azure portal
SmsClient client = new SmsClient(connectionString);
Como alternativa, los clientes sms también se pueden autenticar mediante una credencial de token válida. Con esta opción, las variables de entorno AZURE_CLIENT_SECRET
AZURE_CLIENT_ID
y AZURE_TENANT_ID
deben configurarse para la autenticación.
string endpoint = "<endpoint_url>";
TokenCredential tokenCredential = new DefaultAzureCredential();
SmsClient client = new SmsClient(new Uri(endpoint), tokenCredential);
Ejemplos
Envío de un SMS de un remitente a un solo destinatario
Para enviar un mensaje SMS, llame a la Send
función o SendAsync
desde .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}");
Envío de un SMS de un remitente a varios destinatarios
Para enviar un mensaje SMS a una lista de destinatarios, llame a la Send
función o SendAsync
desde SmsClient
con una lista de números de teléfono del destinatario.
También puede agregar un objeto de opciones para especificar si el informe de entrega debe habilitarse y establecer etiquetas personalizadas.
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}");
}
Solución de problemas
Las operaciones de SMS producirán una excepción si se produce un error en la solicitud al servidor.
Las excepciones no se producirán si el error se debe a un mensaje individual, solo si se produce un error en algo con la solicitud general.
Use la Successful
marca para validar cada resultado individual para comprobar si se envió el mensaje.
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);
}
Pasos siguientes
- Obtenga más información sobre SMS en Azure Communication Services
- Para obtener una guía básica sobre cómo configurar informes de entrega para los mensajes SMS, consulte el inicio rápido Controlar eventos SMS.
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para obtener más información, visite cla.microsoft.com.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.
Azure SDK for .NET