Udostępnij za pośrednictwem


Biblioteka klienta programu SMS usługi Azure Communication dla języka JavaScript — wersja 1.1.0

Usługi azure Communication SMS zapewniają deweloperom możliwość wysyłania wiadomości SMS z numeru telefonu, który można kupić za pośrednictwem usług komunikacyjnych.

Wprowadzenie

Wymagania wstępne

Instalowanie

npm install @azure/communication-sms

Jak uzyskać numer telefonu

Numery telefonów można uzyskać i przypisać do zasobu usług komunikacyjnych w witrynie Azure Portal. Instrukcje dotyczące uzyskiwania numeru telefonu przy użyciu witryny Azure Portal można znaleźć tutaj.

Możesz również uzyskać numer telefonu przy użyciu @azure/communication-phone-numbers pakietu. Instrukcje dotyczące korzystania z pakietu można znaleźć w pliku README pakietu.

Obsługa przeglądarki

Pakiet JavaScript

Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć narzędzia bundler. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów.

Kluczowe pojęcia

SmsClient

SmsClient jest podstawowym interfejsem dla deweloperów korzystających z tej biblioteki klienta. Zapewnia metodę asynchroniczną do wysyłania wiadomości SMS.

Przykłady

Authentication

Klucz i/lub parametry połączenia można uzyskać z zasobu usług Communication Services w witrynie Azure Portal. Po utworzeniu klucza możesz uwierzytelnić się przy użyciu dowolnej z następujących metod:

Używanie parametry połączenia

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

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

Tworzenie poświadczeń za pomocą polecenia 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);

Korzystanie z tożsamości zarządzanej usługi Azure Active Directory

W większości przykładów jest używane uwierzytelnianie klucza interfejsu API klienta, ale można również uwierzytelniać się w usłudze Azure Active Directory przy użyciu biblioteki tożsamości platformy Azure. Aby użyć przedstawionego poniżej dostawcy DefaultAzureCredential lub innych dostawców poświadczeń dostarczanych z zestawem Azure SDK, zainstaluj @azure/identity pakiet:

npm install @azure/identity

Pakiet @azure/identity udostępnia różne typy poświadczeń, których aplikacja może użyć do tego celu. Plik README zawiera @azure/identity więcej szczegółów i przykładów, które ułatwiają rozpoczęcie pracy. AZURE_CLIENT_SECRET, zmienne środowiskowe AZURE_CLIENT_ID i AZURE_TENANT_ID są potrzebne do utworzenia obiektu 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);

Wyślij wiadomość SMS 1:N

Aby wysłać wiadomość SMS, wywołaj send funkcję z elementu SmsClient. Musisz przekazać SmsSendRequest obiekt. Możesz również dodać obiekt pass in an options (Przekazywanie) w celu określenia, czy raport dostarczania powinien być włączony, i ustawić tagi niestandardowe dla raportu. Zwracana jest tablica SmsSendResult . Flaga successful służy do sprawdzania, czy poszczególne wiadomości zostały wysłane pomyślnie.

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

Rozwiązywanie problemów

Operacje sms zgłaszają wyjątek, jeśli żądanie do serwera zakończy się niepowodzeniem. Wyjątki nie będą zgłaszane, jeśli błąd jest spowodowany przez pojedynczy komunikat, tylko wtedy, gdy coś nie powiedzie się z ogólnym żądaniem. Użyj flagi , successful aby zweryfikować poszczególne wyniki, aby sprawdzić, czy wiadomość została wysłana.

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

Następne kroki

Współtworzenie

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.

Wrażenia