Bibliothèque cliente SMS Azure Communication pour JavaScript - version 1.1.0
Azure Communication SMS Services permet aux développeurs d’envoyer des SMS à partir d’un numéro de téléphone qui peut être acheté via Communication Services.
Prise en main
Prérequis
- Un abonnement Azure.
- Une ressource Communication Services existante. Si vous avez besoin de créer la ressource, vous pouvez utiliser le portail Azure, le Azure PowerShell ou Azure CLI.
- Numéro de téléphone attribué à votre ressource Communication Services. Découvrez comment acquérir un numéro de téléphone pour obtenir des instructions sur l’ajout d’un numéro de téléphone à votre ressource Communication Services.
Installation de
npm install @azure/communication-sms
Comment acquérir un numéro de téléphone
Les numéros de téléphone peuvent être acquis et attribués à une ressource Communication Services à partir du portail Azure. Vous trouverez des instructions sur la façon d’obtenir un numéro de téléphone à l’aide du portail Azureici.
Vous pouvez également obtenir un numéro de téléphone à l’aide du @azure/communication-phone-numbers
package. Vous trouverez des instructions sur l’utilisation du package dans le fichier README du package.
Prise en charge des navigateurs
Ensemble JavaScript
Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la façon de procéder, reportez-vous à notre documentation sur le regroupement.
Concepts clés
SmsClient
SmsClient
est l’interface principale pour les développeurs qui utilisent cette bibliothèque cliente. Il fournit une méthode asynchrone pour envoyer des messages SMS.
Exemples
Authentification
Vous pouvez obtenir une clé et/ou chaîne de connexion à partir de votre ressource Communication Services dans le portail Azure. Une fois que vous avez une clé, vous pouvez vous authentifier avec l’une des méthodes suivantes :
A l'aide d'une chaîne de connexion
import { SmsClient } from "@azure/communication-sms";
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);
Créer des informations d’identification avec 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);
Utilisation de l’identité managée Azure Active Directory
L’authentification par clé API cliente est utilisée dans la plupart des exemples, mais vous pouvez également vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le kit de développement logiciel (SDK) Azure, installez le package @azure/identity
:
npm install @azure/identity
Le package @azure/identity
fournit divers types d’informations d’identification que votre application peut utiliser à cette fin. Le fichier README pour @azure/identity fournit plus de détails et d’exemples pour vous aider à démarrer.
AZURE_CLIENT_SECRET, AZURE_CLIENT_ID et AZURE_TENANT_ID variables d’environnement sont nécessaires pour créer un objet 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);
Envoyer un message SMS 1:N
Pour envoyer un sms, appelez la send
fonction à partir de .SmsClient
Vous devez passer un SmsSendRequest
objet.
Vous pouvez également ajouter un objet d’options pour spécifier si le rapport de remise doit être activé et définir des balises personnalisées pour le rapport.
Un tableau de SmsSendResult
est retourné. Un successful
indicateur est utilisé pour vérifier si chaque message individuel a été envoyé avec succès.
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);
}
}
Dépannage
Les opérations SMS lèvent une exception si la demande adressée au serveur échoue.
Les exceptions ne sont pas levées si l’erreur est provoquée par un message individuel, uniquement en cas d’échec de la demande globale.
Utilisez l’indicateur successful
pour valider chaque résultat individuel afin de vérifier si le message a été envoyé.
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);
}
Étapes suivantes
- Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.
- En savoir plus sur SMS dans Azure Communication Services
- Pour obtenir un guide de base sur la configuration des rapports de remise pour vos messages SMS, reportez-vous au démarrage rapide Gérer les événements SMS.
Contribution
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Projets associés
Azure SDK for JavaScript