Condividi tramite


Libreria client SMS di Comunicazione di Azure per JavaScript - versione 1.1.0

I servizi SMS di comunicazione di Azure offrono agli sviluppatori la possibilità di inviare messaggi SMS da un numero di telefono che può essere acquistato tramite Servizi di comunicazione.

Introduzione

Prerequisiti

Installazione

npm install @azure/communication-sms

Come acquisire un numero di telefono

I numeri di telefono possono essere acquisiti e assegnati a una risorsa di Servizi di comunicazione dal portale di Azure. Le istruzioni su come ottenere un numero di telefono usando il portale di Azure sono disponibili qui.

È anche possibile ottenere un numero di telefono usando il @azure/communication-phone-numbers pacchetto. Le istruzioni su come usare il pacchetto sono disponibili nel file README del pacchetto.

Supporto browser

JavaScript Bundle

Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle.

Concetti chiave

SmsClient

SmsClient è l'interfaccia principale per gli sviluppatori che usano questa libreria client. Fornisce un metodo asincrono per inviare messaggi SMS.

Esempio

Authentication

È possibile ottenere una chiave e/o stringa di connessione dalla risorsa di Servizi di comunicazione nel portale di Azure. Dopo aver ottenuto una chiave, è possibile eseguire l'autenticazione con uno dei metodi seguenti:

Uso di un stringa di connessione

import { SmsClient } from "@azure/communication-sms";

const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);

Creare credenziali con 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);

Uso dell'identità gestita di Azure Active Directory

L'autenticazione con chiave API client viene usata nella maggior parte degli esempi, ma è anche possibile eseguire l'autenticazione con Azure Active Directory usando la libreria di identità di Azure. Per usare il provider DefaultAzureCredential illustrato di seguito o altri provider di credenziali forniti con Azure SDK, installare il @azure/identity pacchetto:

npm install @azure/identity

Il @azure/identity pacchetto offre un'ampia gamma di tipi di credenziali che l'applicazione può usare per eseguire questa operazione. ReadME per @azure/identity fornisce altri dettagli ed esempi per iniziare. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID e AZURE_TENANT_ID variabili di ambiente sono necessarie per creare un oggetto 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);

Inviare un messaggio SMS 1:N

Per inviare un messaggio SMS, chiamare la send funzione da SmsClient. È necessario passare un SmsSendRequest oggetto . È anche possibile aggiungere un oggetto opzioni per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati per il report. Viene restituita una matrice di SmsSendResult . Un successful flag viene usato per convalidare se ogni singolo messaggio è stato inviato correttamente.

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);
  }
}

Risoluzione dei problemi

Le operazioni SMS genereranno un'eccezione se la richiesta al server ha esito negativo. Le eccezioni non verranno generate se l'errore è causato da un singolo messaggio, solo se si verifica un errore con la richiesta complessiva. Usare il successful flag per convalidare ogni singolo risultato per verificare se il messaggio è stato inviato.

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);
}

Passaggi successivi

Contributo

Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.

Impression