Azure Communication SMS-clientbibliotheek voor JavaScript - versie 1.1.0
Azure Communication SMS-services bieden ontwikkelaars de mogelijkheid om sms-berichten te verzenden vanaf een telefoonnummer dat kan worden gekocht via Communication Services.
Aan de slag
Vereisten
- Een Azure-abonnement.
- Een bestaande Communication Services-resource. Als u de resource wilt maken, kunt u de Azure-portal, de Azure PowerShell of de Azure CLI gebruiken.
- Een telefoonnummer dat is toegewezen aan uw Communication Services-resource. Zie Een telefoonnummer verkrijgen voor instructies over het toevoegen van een telefoonnummer aan uw Communication Services-resource.
Installeren
npm install @azure/communication-sms
Een telefoonnummer verkrijgen
Telefoonnummers kunnen worden verkregen en toegewezen aan een Communication Services-resource vanuit Azure Portal. Instructies voor het verkrijgen van een telefoonnummer via Azure Portal vindt u hier.
U kunt ook een telefoonnummer krijgen met behulp van het @azure/communication-phone-numbers
pakket. Instructies voor het gebruik van het pakket vindt u in de LEESMIJ van het pakket.
Browserondersteuning
JavaScript-bundel
Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze documentatie voor bundeling voor meer informatie over hoe u dit doet.
Belangrijkste concepten
SmsClient
SmsClient
is de primaire interface voor ontwikkelaars die deze clientbibliotheek gebruiken. Het biedt een asynchrone methode om sms-berichten te verzenden.
Voorbeelden
Verificatie
U kunt een sleutel en/of verbindingsreeks ophalen uit uw Communication Services-resource in Azure Portal. Zodra u een sleutel hebt, kunt u zich verifiëren met een van de volgende methoden:
Een verbindingsreeks gebruiken
import { SmsClient } from "@azure/communication-sms";
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);
Een referentie maken met 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);
Beheerde identiteit van Azure Active Directory gebruiken
Client-API-sleutelverificatie wordt in de meeste voorbeelden gebruikt, maar u kunt zich ook verifiëren met Azure Active Directory met behulp van de Azure Identity-bibliotheek. Als u de DefaultAzureCredential-provider wilt gebruiken die hieronder wordt weergegeven, of andere referentieproviders die bij de Azure SDK worden geleverd, installeert u het @azure/identity
pakket:
npm install @azure/identity
Het @azure/identity
pakket biedt verschillende referentietypen die uw toepassing kan gebruiken om dit te doen. Leesmij voor @azure/identity biedt meer details en voorbeelden om u op weg te helpen.
AZURE_CLIENT_SECRET zijn AZURE_CLIENT_ID- en AZURE_TENANT_ID omgevingsvariabelen nodig om een DefaultAzureCredential-object te maken.
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);
Een sms-bericht van 1:N verzenden
Als u een sms-bericht wilt verzenden, roept u de send
functie aan vanuit de SmsClient
. U moet een SmsSendRequest
object doorgeven.
U kunt ook pass toevoegen in een optieobject om op te geven of het leveringsrapport moet worden ingeschakeld en aangepaste tags voor het rapport in te stellen.
Er wordt een matrix van SmsSendResult
geretourneerd. Er wordt een successful
vlag gebruikt om te controleren of elk afzonderlijk bericht is verzonden.
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);
}
}
Problemen oplossen
Sms-bewerkingen genereren een uitzondering als de aanvraag naar de server mislukt.
Uitzonderingen worden niet gegenereerd als de fout wordt veroorzaakt door een afzonderlijk bericht, alleen als er iets mislukt met de algehele aanvraag.
Gebruik de successful
vlag om elk afzonderlijk resultaat te valideren om te controleren of het bericht is verzonden.
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);
}
Volgende stappen
- Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek.
- Meer informatie over sms in Azure Communication Services
- Raadpleeg de quickstart Sms-gebeurtenissen verwerken voor een basishandleiding voor het configureren van bezorgingsrapportage voor uw sms-berichten.
Bijdragen
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.
Verwante projecten
Azure SDK for JavaScript