Compartir a través de


Biblioteca cliente de SMS de Azure Communication para JavaScript: versión 1.1.0

Azure Communication SMS Services ofrece a los desarrolladores la posibilidad de enviar mensajes SMS desde un número de teléfono que se puede comprar a través de Communication Services.

Introducción

Requisitos previos

Instalación de

npm install @azure/communication-sms

Cómo adquirir un número de teléfono

Los números de teléfono se pueden adquirir y asignar a un recurso de Communication Services desde Azure Portal. Puede encontrar instrucciones sobre cómo obtener un número de teléfono mediante Azure Portalaquí.

También puede obtener un número de teléfono mediante el @azure/communication-phone-numbers paquete. Encontrará instrucciones sobre cómo usar el paquete en el archivo Léame del paquete.

Compatibilidad con exploradores

Paquete de JavaScript

Para usar esta biblioteca cliente en el explorador, primero debe usar un empaquetador. Para más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.

Conceptos clave

SmsClient

SmsClient es la interfaz principal para los desarrolladores que usan esta biblioteca cliente. Proporciona un método asincrónico para enviar mensajes SMS.

Ejemplos

Authentication

Puede obtener una clave o cadena de conexión del recurso de Communication Services en Azure Portal. Una vez que tenga una clave, puede autenticarse con cualquiera de los métodos siguientes:

Uso de un cadena de conexión

import { SmsClient } from "@azure/communication-sms";

const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);

Creación de una credencial con 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);

Uso de la identidad administrada de Azure Active Directory

La autenticación de clave de API de cliente se usa en la mayoría de los ejemplos, pero también puede autenticarse con Azure Active Directory mediante la biblioteca de identidades de Azure. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el paquete @azure/identity:

npm install @azure/identity

El paquete @azure/identity proporciona una variedad de tipos de credenciales que la aplicación puede usar para hacerlo. El archivo LÉAME para @azure/identity proporciona más detalles y ejemplos para empezar. AZURE_CLIENT_SECRET, se necesitan AZURE_CLIENT_ID y AZURE_TENANT_ID variables de entorno para crear un objeto 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);

Envío de un SMS de un remitente a varios destinatarios

Para enviar un mensaje SMS, llame a la send función desde .SmsClient Debe pasar un SmsSendRequest objeto . También puede agregar un objeto de opciones para especificar si el informe de entrega debe habilitarse y establecer etiquetas personalizadas para el informe. Se devuelve una matriz de SmsSendResult . Se usa una successful marca para validar si cada mensaje individual se envió correctamente.

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);
  }
}

Solución de problemas

Las operaciones de SMS producirán una excepción si se produce un error en la solicitud al servidor. Las excepciones no se producirán si el error se debe a un mensaje individual, solo si se produce un error en algo con la solicitud general. Use la successful marca para validar cada resultado individual para comprobar si se envió el mensaje.

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);
}

Pasos siguientes

Contribuciones

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones