Azure Communication SMS-Clientbibliothek für JavaScript – Version 1.1.0
Azure Communication SMS-Dienste bieten Entwicklern die Möglichkeit, SMS-Nachrichten von einer Telefonnummer zu senden, die über Communication Services erworben werden kann.
Erste Schritte
Voraussetzungen
- Ein Azure-Abonnement.
- Eine vorhandene Communication Services-Ressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure-Portal, die Azure PowerShell oder die Azure CLI verwenden.
- Eine Telefonnummer, die Ihrer Communication Services-Ressource zugewiesen ist. Anweisungen zum Hinzufügen einer Telefonnummer zu Ihrer Communication Services-Ressource finden Sie unter Abrufen einer Telefonnummer .
Installieren von
npm install @azure/communication-sms
Abrufen einer Telefonnummer
Telefonnummern können über das Azure-Portal abgerufen und einer Communication Services-Ressource zugewiesen werden. Anweisungen zum Abrufen einer Telefonnummer über das Azure-Portal finden Sie hier.
Sie können auch eine Telefonnummer erhalten, indem Sie das @azure/communication-phone-numbers
Paket verwenden. Anweisungen zur Verwendung des Pakets finden Sie in der INFODATEI des Pakets.
Browserunterstützung
JavaScript-Bundle
Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zunächst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.
Wichtige Begriffe
SmsClient
SmsClient
ist die primäre Schnittstelle für Entwickler, die diese Clientbibliothek verwenden. Es stellt eine asynchrone Methode zum Senden von SMS-Nachrichten bereit.
Beispiele
Authentication
Sie können einen Schlüssel und/oder Verbindungszeichenfolge aus Ihrer Communication Services-Ressource im Azure-Portal abrufen. Sobald Sie über einen Schlüssel verfügen, können Sie sich mit einer der folgenden Methoden authentifizieren:
Verwenden eines Verbindungszeichenfolge
import { SmsClient } from "@azure/communication-sms";
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);
Erstellen von Anmeldeinformationen mit 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);
Verwenden der verwalteten Azure Active Directory-Identität
Die Client-API-Schlüsselauthentifizierung wird in den meisten Beispielen verwendet, Aber Sie können sich auch mit Azure Active Directory mithilfe der Azure Identity-Bibliothek authentifizieren. Um den unten gezeigten Anbieter DefaultAzureCredential oder andere Anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das @azure/identity
Paket:
npm install @azure/identity
Das @azure/identity
Paket bietet eine Vielzahl von Anmeldeinformationstypen, die Ihre Anwendung dazu verwenden kann. Die INFODATEI für @azure/identity enthält weitere Details und Beispiele für die ersten Schritte.
AZURE_CLIENT_SECRET sind AZURE_CLIENT_ID und AZURE_TENANT_ID Umgebungsvariablen erforderlich, um ein DefaultAzureCredential-Objekt zu erstellen.
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);
Senden einer SMS: 1:N
Um eine SMS-Nachricht zu senden, rufen Sie die send
Funktion über auf SmsClient
. Sie müssen ein SmsSendRequest
Objekt übergeben.
Sie können auch einen Pass in einem Optionsobjekt hinzufügen, um anzugeben, ob der Übermittlungsbericht aktiviert werden soll, und benutzerdefinierte Tags für den Bericht festzulegen.
Ein Array von SmsSendResult
wird zurückgegeben. Ein successful
Flag wird verwendet, um zu überprüfen, ob jede einzelne Nachricht erfolgreich gesendet wurde.
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);
}
}
Problembehandlung
SMS-Vorgänge lösen eine Ausnahme aus, wenn die Anforderung an den Server fehlschlägt.
Ausnahmen werden nicht ausgelöst, wenn der Fehler durch eine einzelne Nachricht verursacht wird, nur wenn bei der Gesamtanforderung ein Fehler auftritt.
Verwenden Sie das successful
Flag, um jedes einzelne Ergebnis zu überprüfen, ob die Nachricht gesendet wurde.
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);
}
Nächste Schritte
- Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .
- Weitere Informationen zu SMS in Azure Communication Services
- Eine grundlegende Anleitung zum Konfigurieren der Übermittlungsberichterstattung für Ihre SMS-Nachrichten finden Sie im Schnellstart verarbeiten von SMS-Ereignissen.
Mitwirken
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Verwandte Projekte
Azure SDK for JavaScript