Share via


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

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

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.

Impressions