Dela via


Azure Communication SMS-klientbibliotek för JavaScript – version 1.1.0

Azure Communication SMS-tjänster ger utvecklare möjlighet att skicka SMS från ett telefonnummer som kan köpas via Communication Services.

Komma igång

Förutsättningar

Installation

npm install @azure/communication-sms

Skaffa ett telefonnummer

Telefonnummer kan hämtas och tilldelas till en Communication Services-resurs från Azure-portalen. Anvisningar om hur du hämtar ett telefonnummer med hjälp av Azure Portal finns här.

Du kan också få ett telefonnummer med hjälp @azure/communication-phone-numbers av paketet. Instruktioner för hur du använder paketet finns i paketets README.

Stöd för webbläsare

JavaScript-paket

Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.

Viktiga begrepp

Smsclient

SmsClient är det primära gränssnittet för utvecklare som använder det här klientbiblioteket. Den tillhandahåller en asynkron metod för att skicka SMS.

Exempel

Autentisering

Du kan hämta en nyckel och/eller anslutningssträng från din Communication Services-resurs i Azure-portalen. När du har en nyckel kan du autentisera med någon av följande metoder:

Använda en anslutningssträng

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

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

Skapa en autentiseringsuppgift med 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);

Använda hanterad identitet i Azure Active Directory

Nyckelautentisering för klient-API:et används i de flesta exempel, men du kan också autentisera med Azure Active Directory med hjälp av Azure Identity-biblioteket. Om du vill använda DefaultAzureCredential-providern som visas nedan eller andra leverantörer av autentiseringsuppgifter som medföljer Azure SDK installerar @azure/identity du paketet:

npm install @azure/identity

Paketet @azure/identity innehåller en mängd olika typer av autentiseringsuppgifter som programmet kan använda för att göra detta. README för @azure/identity innehåller mer information och exempel för att komma igång. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID och AZURE_TENANT_ID miljövariabler behövs för att skapa ett DefaultAzureCredential-objekt.

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

Skicka ett 1:N SMS-meddelande

Om du vill skicka ett SMS anropar du send funktionen från SmsClient. Du måste skicka in ett SmsSendRequest objekt. Du kan också lägga till ett alternativobjekt för att ange om leveransrapporten ska aktiveras och ange anpassade taggar för rapporten. En matris med SmsSendResult returneras. En successful flagga används för att verifiera om varje enskilt meddelande har skickats.

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

Felsökning

SMS-åtgärder utlöser ett undantag om begäran till servern misslyckas. Undantag utlöses inte om felet orsakas av ett enskilt meddelande, endast om något misslyckas med den övergripande begäran. successful Använd flaggan för att verifiera varje enskilt resultat för att kontrollera om meddelandet har skickats.

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ästa steg

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden för att lära dig mer om hur du skapar och testar koden.

Visningar