Biblioteca de cliente SMS do Azure Communication para JavaScript – versão 1.1.0
Os serviços de SMS de Comunicação do Azure permitem aos programadores enviar mensagens SMS a partir de um número de telefone que pode ser comprado através dos Serviços de Comunicação.
Introdução
Pré-requisitos
- Uma subscrição do Azure.
- Um recurso existente do Communication Services. Se precisar de criar o recurso, pode utilizar 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.
Instalaçã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 a partir do Portal do Azure. Pode encontrar instruções sobre como obter um número de telefone com o Portal do Azureaqui.
Também pode obter um número de telefone com o @azure/communication-phone-numbers
pacote. Pode encontrar instruções sobre como utilizar o pacote no README do pacote.
Browser support (Suporte do browser)
Pacote JavaScript
Para utilizar esta biblioteca de cliente no browser, primeiro tem de utilizar um bundler. Para obter detalhes sobre como fazê-lo, veja a nossa documentação de agrupamento.
Conceitos-chave
SmsClient
SmsClient
é a interface principal para programadores que utilizam esta biblioteca de cliente. Fornece um método assíncrono para enviar mensagens SMS.
Exemplos
Autenticação
Pode obter uma chave e/ou cadeia de ligação a partir do recurso dos Serviços de Comunicação no portal do Azure. Assim que tiver uma chave, pode autenticar-se com qualquer um dos seguintes métodos:
Utilizar um cadeia de ligaçã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);
Utilizar a identidade gerida do Azure Active Directory
A autenticação da chave de API de cliente é utilizada na maioria dos exemplos, mas também pode autenticar com o Azure Active Directory com a biblioteca de Identidade do Azure. Para utilizar o fornecedor DefaultAzureCredential mostrado abaixo ou outros fornecedores 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 a sua aplicação pode utilizar para o fazer. O README para @azure/identity fornece mais detalhes e exemplos para começar.
AZURE_CLIENT_SECRET, são necessárias variáveis de ambiente AZURE_CLIENT_ID e AZURE_TENANT_ID 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 função a send
SmsClient
partir de . Tem de transmitir um SmsSendRequest
objeto.
Também pode adicionar pass-in a um objeto de opções para especificar se o relatório de entrega deve ser ativado e definir etiquetas personalizadas para o relatório.
É devolvida uma matriz de SmsSendResult
. É utilizado um successful
sinalizador 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);
}
}
Resolução de problemas
As operações de SMS gerarão uma exceção se o pedido ao servidor falhar.
As exceções não serão emitidas se o erro for causado por uma mensagem individual, apenas se algo falhar com o pedido geral.
Utilize 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);
}
Passos seguintes
- Veja o diretório de exemplos para obter exemplos detalhados sobre como utilizar esta biblioteca.
- Leia mais sobre SMS no Azure Communication Services
- Para obter um guia básico sobre como configurar o Relatório de Entrega para as suas mensagens SMS, veja o início rápido Processar Eventos de SMS.
Contribuir
Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.
Projetos relacionados
Azure SDK for JavaScript