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
- Una sottoscrizione di Azure.
- Una risorsa di Servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure, il Azure PowerShell o l'interfaccia della riga di comando di Azure.
- Numero di telefono assegnato alla risorsa di Servizi di comunicazione. Per istruzioni su come aggiungere un numero di telefono alla risorsa di Servizi di comunicazione, vedere come acquisire un numero di telefono .
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
- Per esempi dettagliati su come usare questa libreria, vedere la directory degli esempi .
- Altre informazioni sugli SMS in Servizi di comunicazione di Azure
- Per una guida di base su come configurare la creazione di report di recapito per i messaggi SMS, vedere la guida introduttiva Gestire gli eventi SMS.
Contributo
Per contribuire a questa libreria, leggere la guida ai contributi per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript