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
- Předplatné Azure
- Existující prostředek komunikačních služeb. Pokud potřebujete prostředek vytvořit, můžete použít Azure Portal, Azure PowerShell nebo Azure CLI.
- Telefonní číslo přiřazené k vašemu prostředku komunikačních služeb. Pokyny k přidání telefonního čísla do prostředku komunikačních služeb najdete v tématu Jak získat telefonní číslo.
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
- Podrobné příklady použití této knihovny najdete v adresáři samples .
- Přečtěte si další informace o SMS v Azure Communication Services
- Základního průvodce konfigurací zasílání zpráv o doručení pro zprávy SMS najdete v rychlém startu Zpracování událostí SMS.
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.
Související projekty
Azure SDK for JavaScript