Sdílet prostřednictvím


Klientská knihovna Azure Communication SMS pro JavaScript – verze 1.1.0

Služby Azure Communication SMS poskytují vývojářům možnost posílat SMS zprávy z telefonního čísla, které je možné zakoupit prostřednictvím komunikačních služeb.

Začínáme

Požadavky

Instalace

npm install @azure/communication-sms

Jak získat telefonní číslo

Telefonní čísla je možné získat a přiřadit k prostředku komunikačních služeb z webu Azure Portal. Pokyny k získání telefonního čísla pomocí webu Azure Portal najdete tady.

Telefonní číslo můžete také získat pomocí @azure/communication-phone-numbers balíčku. Pokyny k použití balíčku najdete v souboru README balíčku.

Podpora prohlížečů

JavaScript Bundle

Pokud chcete tuto klientskou knihovnu používat v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci k sdružování.

Klíčové koncepty

SmsClient

SmsClient je primární rozhraní pro vývojáře používající tuto klientskou knihovnu. Poskytuje asynchronní metodu pro odesílání zpráv SMS.

Příklady

Authentication

Klíč nebo připojovací řetězec můžete získat z prostředku Komunikační služby na webu Azure Portal. Jakmile budete mít klíč, můžete provést ověření pomocí některé z následujících metod:

Použití připojovací řetězec

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

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

Vytvoření přihlašovacích údajů pomocí 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);

Použití spravované identity Azure Active Directory

Ve většině příkladů se používá ověřování pomocí klíče rozhraní API klienta, ale můžete je také ověřit pomocí azure Active Directory pomocí knihovny identit Azure. Pokud chcete použít zprostředkovatele DefaultAzureCredential uvedeného níže nebo jiné poskytovatele přihlašovacích údajů poskytovaného se sadou Azure SDK, nainstalujte @azure/identity balíček:

npm install @azure/identity

Balíček @azure/identity poskytuje různé typy přihlašovacích údajů, které k tomu může vaše aplikace použít. Soubor README pro @azure/identity obsahuje další podrobnosti a ukázky, které vám pomůžou začít. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID a AZURE_TENANT_ID proměnné prostředí jsou potřeba k vytvoření objektu 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);

Odeslání zprávy SMS 1:N

Chcete-li odeslat zprávu SMS, zavolejte send funkci z SmsClient. Musíte předat SmsSendRequest objekt. Můžete také přidat předávací objekt options, abyste určili, jestli má být zpráva o doručení povolena, a nastavit pro sestavu vlastní značky. Vrátí se pole SmsSendResult . Příznak successful slouží k ověření, jestli se každá jednotlivá zpráva úspěšně odeslala.

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

Řešení potíží

Operace SMS vyvolají výjimku, pokud požadavek na server selže. Výjimky nebudou vyvolány, pokud je chyba způsobená jednotlivými zprávami, pouze pokud něco selže s celkovým požadavkem. Pomocí příznaku successful ověřte každý jednotlivý výsledek a ověřte, jestli se zpráva odeslala.

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

Další kroky

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si prosím průvodce přispívání , kde se dozvíte více o tom, jak sestavit a otestovat kód.

Imprese