Delen via


Azure Communication SMS-clientbibliotheek voor JavaScript - versie 1.1.0

Azure Communication SMS-services bieden ontwikkelaars de mogelijkheid om sms-berichten te verzenden vanaf een telefoonnummer dat kan worden gekocht via Communication Services.

Aan de slag

Vereisten

Installeren

npm install @azure/communication-sms

Een telefoonnummer verkrijgen

Telefoonnummers kunnen worden verkregen en toegewezen aan een Communication Services-resource vanuit Azure Portal. Instructies voor het verkrijgen van een telefoonnummer via Azure Portal vindt u hier.

U kunt ook een telefoonnummer krijgen met behulp van het @azure/communication-phone-numbers pakket. Instructies voor het gebruik van het pakket vindt u in de LEESMIJ van het pakket.

Browserondersteuning

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze documentatie voor bundeling voor meer informatie over hoe u dit doet.

Belangrijkste concepten

SmsClient

SmsClient is de primaire interface voor ontwikkelaars die deze clientbibliotheek gebruiken. Het biedt een asynchrone methode om sms-berichten te verzenden.

Voorbeelden

Verificatie

U kunt een sleutel en/of verbindingsreeks ophalen uit uw Communication Services-resource in Azure Portal. Zodra u een sleutel hebt, kunt u zich verifiëren met een van de volgende methoden:

Een verbindingsreeks gebruiken

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

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

Een referentie maken met 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);

Beheerde identiteit van Azure Active Directory gebruiken

Client-API-sleutelverificatie wordt in de meeste voorbeelden gebruikt, maar u kunt zich ook verifiëren met Azure Active Directory met behulp van de Azure Identity-bibliotheek. Als u de DefaultAzureCredential-provider wilt gebruiken die hieronder wordt weergegeven, of andere referentieproviders die bij de Azure SDK worden geleverd, installeert u het @azure/identity pakket:

npm install @azure/identity

Het @azure/identity pakket biedt verschillende referentietypen die uw toepassing kan gebruiken om dit te doen. Leesmij voor @azure/identity biedt meer details en voorbeelden om u op weg te helpen. AZURE_CLIENT_SECRET zijn AZURE_CLIENT_ID- en AZURE_TENANT_ID omgevingsvariabelen nodig om een DefaultAzureCredential-object te maken.

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

Een sms-bericht van 1:N verzenden

Als u een sms-bericht wilt verzenden, roept u de send functie aan vanuit de SmsClient. U moet een SmsSendRequest object doorgeven. U kunt ook pass toevoegen in een optieobject om op te geven of het leveringsrapport moet worden ingeschakeld en aangepaste tags voor het rapport in te stellen. Er wordt een matrix van SmsSendResult geretourneerd. Er wordt een successful vlag gebruikt om te controleren of elk afzonderlijk bericht is verzonden.

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

Problemen oplossen

Sms-bewerkingen genereren een uitzondering als de aanvraag naar de server mislukt. Uitzonderingen worden niet gegenereerd als de fout wordt veroorzaakt door een afzonderlijk bericht, alleen als er iets mislukt met de algehele aanvraag. Gebruik de successful vlag om elk afzonderlijk resultaat te valideren om te controleren of het bericht is verzonden.

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

Volgende stappen

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.

Weergaven