Partilhar via


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

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 sendSmsClientpartir 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

Contribuir

Se quiser contribuir para esta biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.

Impressões