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
- En Azure-prenumeration.
- En befintlig Communication Services-resurs. Om du behöver skapa resursen kan du använda Azure Portal, Azure PowerShell eller Azure CLI.
- Ett telefonnummer som tilldelats till din Communication Services-resurs. Se hur du skaffar ett telefonnummer för instruktioner om hur du lägger till ett telefonnummer i din Communication Services-resurs.
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
- Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket.
- Läs mer om SMS i Azure Communication Services
- En grundläggande guide om hur du konfigurerar leveransrapportering för dina SMS finns i snabbstarten Hantera SMS-händelser.
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.
Relaterade projekt
Azure SDK for JavaScript