Freigeben über


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

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.

Aufrufe