Biblioteca de clientes de SMS de Comunicação do Azure para JavaScript – versão 1.1.0
Os serviços de SMS de Comunicação do Azure dão aos desenvolvedores a capacidade de enviar mensagens SMS de um número de telefone que pode ser comprado por meio dos Serviços de Comunicação.
Introdução
Pré-requisitos
- Uma assinatura do Azure.
- Um recurso existente dos Serviços de Comunicação. Se você precisar criar o recurso, poderá usar o Portal do Azure, o Azure PowerShell ou a CLI do Azure.
- Um número de telefone atribuído ao recurso dos Serviços de Comunicação. Veja como adquirir um número de telefone para obter instruções sobre como adicionar um número de telefone ao recurso dos Serviços de Comunicação.
Instalando o
npm install @azure/communication-sms
Como adquirir um número de telefone
Os números de telefone podem ser adquiridos e atribuídos a um recurso dos Serviços de Comunicação no Portal do Azure. Instruções sobre como obter um número de telefone usando o Portal do Azure podem ser encontradas aqui.
Você também pode obter um número de telefone usando o @azure/communication-phone-numbers
pacote . Instruções sobre como usar o pacote podem ser encontradas no LEIAME do pacote.
Suporte ao navegador
Pacote JavaScript
Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento.
Principais conceitos
SmsClient
SmsClient
é a interface principal para desenvolvedores que usam essa biblioteca de clientes. Ele fornece um método assíncrono para enviar mensagens SMS.
Exemplos
Autenticação
Você pode obter uma chave e/ou cadeia de conexão do recurso dos Serviços de Comunicação no Portal do Azure. Depois de ter uma chave, você poderá se autenticar com qualquer um dos seguintes métodos:
Usando uma cadeia de conexão
import { SmsClient } from "@azure/communication-sms";
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);
Criar uma credencial com AzureKeyCredential
import { AzureKeyCredential } from "@azure/core-auth";
import { SmsClient } from "@azure/communication-sms";
const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new AzureKeyCredential("<Base64-Encoded-Key>");
const client = new SmsClient(endpoint, credential);
Usando a identidade gerenciada do Azure Active Directory
A autenticação de chave de API do cliente é usada na maioria dos exemplos, mas você também pode autenticar com o Azure Active Directory usando a biblioteca de identidade do Azure. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity
pacote:
npm install @azure/identity
O @azure/identity
pacote fornece uma variedade de tipos de credenciais que seu aplicativo pode usar para fazer isso. O arquivo LEIAME para @azure/identity fornece mais detalhes e exemplos para você começar.
AZURE_CLIENT_SECRET, AZURE_CLIENT_ID e AZURE_TENANT_ID variáveis de ambiente são necessárias para criar um objeto DefaultAzureCredential.
import { DefaultAzureCredential } from "@azure/identity";
import { SmsClient } from "@azure/communication-sms";
const endpoint = "https://<resource-name>.communication.azure.com";
let credential = new DefaultAzureCredential();
const client = new SmsClient(endpoint, credential);
Enviar uma mensagem SMS 1:N
Para enviar uma mensagem SMS, chame a send
função do SmsClient
. Você precisa passar um SmsSendRequest
objeto .
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 para o relatório.
Uma matriz de SmsSendResult
é retornada. Um successful
sinalizador é usado para validar se cada mensagem individual foi enviada com êxito.
const sendResults = await client.send(
{
from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
message: "Weekly Promotion!" // The message being sent
},
{
enableDeliveryReport: true,
tag: "marketing"
}
);
for (const sendResult of sendResults) {
if (sendResult.successful) {
console.log("Success: ", sendResult);
} else {
console.error("Something went wrong when trying to send this message: ", sendResult);
}
}
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 {
const sendResults = await client.send({
from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
message: "Hello World via SMS!" // The message being sent
});
for (const sendResult of sendResults) {
if (sendResult.successful) {
console.log("Success: ", sendResult);
} else {
console.error("Something went wrong when trying to send this message: ", sendResult);
}
}
} catch (e) {
console.error(e.message);
}
Próximas etapas
- Dê uma olhada no diretório de exemplos para obter exemplos detalhados sobre como usar essa biblioteca.
- 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
Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.
Projetos relacionados
Azure SDK for JavaScript