Compartilhar via


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

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

Contribuição

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber como criar e testar o código.

Impressões