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
- Una suscripción de Azure.
- Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar Azure Portal, el Azure PowerShell o la CLI de Azure.
- Un número de teléfono asignado al recurso de Communication Services. Consulte cómo adquirir un número de teléfono para obtener instrucciones sobre cómo agregar un número de teléfono al recurso de Communication Services.
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
- Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.
- Obtenga más información sobre SMS en Azure Communication Services
- Para obtener una guía básica sobre cómo configurar informes de entrega para los mensajes SMS, consulte el inicio rápido Controlar eventos SMS.
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.
Proyectos relacionados
Azure SDK for JavaScript