Biblioteca de clientes de SMS de Comunicação do Azure para .NET – versão 1.0.1
Esse pacote contém um SDK do C# para Serviços de Comunicação do Azure para SMS e Telefonia.
Código-fonte | Pacote (NuGet) | Documentação do produto
Introdução
Instalar o pacote
Instale a biblioteca de clientes de SMS de Comunicação do Azure para .NET com o NuGet:
dotnet add package Azure.Communication.Sms --version 1.0.0
Pré-requisitos
Você precisa de uma assinatura do Azure e um Recurso do Serviço de Comunicação para usar esse pacote.
Para criar um novo Serviço de Comunicação, você pode usar o Portal do Azure, o Azure PowerShell ou a biblioteca de clientes de gerenciamento do .NET.
Principais conceitos
SmsClient
fornece a funcionalidade para enviar mensagens entre números de telefone.
Como usar instruções
using System;
using Azure.Communication.Sms;
Autenticar o cliente
Os clientes SMS podem ser autenticados usando a cadeia de conexão adquirida de um Recurso de Comunicação do Azure no Portal do Azure.
var connectionString = "<connection_string>"; // Find your Communication Services resource in the Azure portal
SmsClient client = new SmsClient(connectionString);
Como alternativa, os clientes SMS também podem ser autenticados usando uma credencial de token válida. Com essa opção, as variáveis de ambiente AZURE_CLIENT_SECRET
, AZURE_CLIENT_ID
e AZURE_TENANT_ID
precisam ser configuradas para autenticação.
string endpoint = "<endpoint_url>";
TokenCredential tokenCredential = new DefaultAzureCredential();
SmsClient client = new SmsClient(new Uri(endpoint), tokenCredential);
Exemplos
Enviar uma mensagem SMS 1:1
Para enviar uma mensagem SMS, chame a Send
função ou SendAsync
do 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}");
Enviar uma mensagem SMS 1:N
Para enviar uma mensagem SMS para uma lista de destinatários, chame a Send
função ou SendAsync
do SmsClient
com uma lista de números de telefone do destinatário.
Você também pode adicionar passagem em um objeto de opções para especificar se o relatório de entrega deve ser habilitado e definir marcas 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}");
}
Solução de problemas
As operações de SMS gerarão uma exceção se a solicitação para o servidor falhar.
Exceções não serão geradas se o erro for causado por uma mensagem individual, somente se algo falhar com a solicitação geral.
Use o Successful
sinalizador para validar cada resultado individual para verificar se a mensagem foi enviada.
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);
}
Próximas etapas
- Leia mais sobre SMS no Serviços de Comunicação do Azure
- Para obter um guia básico sobre como configurar o Relatório de Entrega para suas mensagens SMS, consulte o guia de início rápido Manipular Eventos de SMS.
Contribuição
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.
Azure SDK for .NET