Compartir a través de


Enviar un mensaje SMS

Importante

Las capacidades de SMS dependen del número de teléfono que use y del país o región en el que trabaja, según lo que especifique la dirección de facturación de Azure. Para obtener más información, consulte Elegibilidad de la suscripción.


Para empezar a usar Azure Communication Services, utilice el módulo de Comunicación en la CLI de Azure para enviar mensajes SMS.

Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.

Requisitos previos

Comprobación de requisitos previos

  • En una ventana de terminal o de comandos, ejecute az --version para comprobar que la CLI de Azure está instalada.

Instalación

Instalación del módulo de comunicación

Para instalar el módulo de comunicación, ejecute el siguiente comando en un terminal o ventana de comandos.

az extension add --name communication

Inicio de sesión en la CLI de Azure

Debe iniciar sesión en la CLI de Azure. Para iniciar sesión, ejecute el comando az login desde el terminal y proporcione sus credenciales.

Asegúrese de que está usando la suscripción correcta

Si tiene varias suscripciones en su cuenta, asegúrese de que usa la correcta para este tutorial.

En una ventana de terminal o comando, ejecute el siguiente comando para comprobar la suscripción actual.

az account show

Si necesita cambiar de suscripción, puede ejecutar el siguiente comando para hacerlo.

az account set --subscription "<yourSubscriptionId>"

Debe reemplazar <yourSubscriptionId> por el identificador de suscripción actual, que puede encontrar en la sección Suscripciones de Azure Portal.

(Opcional) Uso de operaciones SMS de la CLI de Azure sin pasar una cadena de conexión

Puede configurar la variable de entorno AZURE_COMMUNICATION_CONNECTION_STRING para usar operaciones de SMS de la CLI de Azure sin tener que usar --connection_string para pasar la cadena de conexión. Para configurar una variable de entorno, abra una ventana de consola y seleccione el sistema operativo en las pestañas siguientes. Reemplace <yourConnectionString> por la cadena de conexión real.

Abra una ventana de consola y escriba el siguiente comando:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Operaciones

Envío de un SMS de un remitente a un solo destinatario

Para enviar un mensaje SMS a un solo destinatario, llame al send método desde el módulo sms con un único número de teléfono de destinatario.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Haga estas sustituciones en el código:

  • Reemplace <fromPhoneNumber> por un número de teléfono habilitado para SMS asociado al recurso de Communication Services.
  • Reemplace <toPhoneNumber> con un número de teléfono al que desea enviar un mensaje.
  • Reemplace <yourConnectionString> por la cadena de conexión.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, por ejemplo, +14255550123. El valor <fromPhoneNumber> también puede ser un código corto, por ejemplo, 23456 o un identificador de remitente alfanumérico, por ejemplo, CONTOSO.

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

Para enviar un mensaje SMS a una lista de destinatarios, llame al send método desde el módulo de sms con varios números de teléfono de destinatarios.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Haga estas sustituciones en el código:

  • Sustituya <fromPhoneNumber> por un número de teléfono habilitado para SMS asociado con su recurso de Communication Services.
  • Reemplace <toPhoneNumberN> por el número de teléfono al que desea enviar un mensaje.
  • Reemplace <yourConnectionString> por la cadena de conexión.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, como +14255550123. El valor <fromPhoneNumber> de también puede ser un código corto, como 23456 o un identificador de remitente alfanumérico, como CONTOSO.

Para empezar a usar Azure Communication Services, utilice el SDK de SMS de Communication Services para C# para enviar mensajes SMS.

Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.

Nota:

Consulte el código finalizado en Ejemplos de Azure GitHub Enviar un mensaje SMS mediante .NET.

Requisitos previos

Comprobación de requisitos previos

  • En una ventana de terminal o de comandos, ejecute el comando dotnet para comprobar que el SDK de .NET está instalado.
  • Para ver los números de teléfono asociados al recurso de Communication Services, inicie sesión en Azure Portal y busque el recurso de Communication Services. En el panel de navegación de la izquierda, seleccione Números de teléfono.

Configuración del entorno de la aplicación

Para configurar un entorno para enviar mensajes, siga los pasos descritos en las secciones siguientes.

Creación de una aplicación de C#

  1. En una ventana de la consola, como cmd, PowerShell o Bash, use el comando dotnet new para crear una aplicación de consola con el nombre SmsQuickstart. Este comando crea un proyecto sencillo de C# "Hola mundo" con un único archivo de código fuente, Program.cs.

    dotnet new console -o SmsQuickstart
    
  2. Cambie el directorio a la carpeta de la aplicación recién creada y use el comando dotnet build para compilar la aplicación.

    cd SmsQuickstart
    dotnet build
    

Instalar el paquete

  1. Mientras sigue en el directorio de la aplicación, instale el paquete del SDK de SMS de Azure Communication Services para .NET con el siguiente comando.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Agregue una using directiva a la parte superior de Program.cs para incluir el Azure.Communication espacio de nombres.

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

Modelo de objetos

Las siguientes clases e interfaces controlan algunas de las características principales del SDK de SMS de Azure Communication Services para C#.

Nombre Descripción
SmsClient Esta clase es necesaria para la funcionalidad de los SMS. Cree una instancia de esta clase con la información de suscripción y úsela para enviar mensajes de texto.
SmsSendOptions Esta clase proporciona opciones para configurar los informes de entrega. Si enable_delivery_report se establece como "Verdadero", se emite un evento cuando la entrega es correcta.
SmsSendResult Esta clase contiene el resultado del servicio SMS.

Autenticar el cliente

Abra Program.cs en un editor de texto y reemplace el cuerpo del método Main por el código para inicializar SmsClient con la cadena de conexión. El siguiente código recupera la cadena de conexión para el recurso de una variable de entorno denominada COMMUNICATION_SERVICES_CONNECTION_STRING. Aprenda a administrar la cadena de conexión del recurso.

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

Envío de un SMS de un remitente a un solo destinatario

Para enviar un SMS a un solo destinatario, llame a la función Send o SendAsync desde SmsClient. Agregue este código al final del Main método en Program.cs:

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por el número de teléfono habilitado para SMS asociado al recurso de Communication Services.
  • Reemplace <to-phone-number> por el número de teléfono al que desea enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, como +14255550123. El valor <from-phone-number> de también puede ser un código corto, como 23456 o un identificador de remitente alfanumérico, como CONTOSO.

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

Para enviar un SMS a una lista de destinatarios, llame a la función Send o SendAsync desde SmsClient con una lista de números de teléfono de destinatarios. También puede proporcionar parámetros opcionales para especificar si el informe de entrega se debe habilitar y establecer etiquetas personalizadas.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por un número de teléfono habilitado para SMS asociado con su recurso de Servicios de Comunicación.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> por números de teléfono a los que le gustaría enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, como +14255550123. El valor <from-phone-number> de también puede ser un código corto, como 23456 o un identificador de remitente alfanumérico, como CONTOSO.

El parámetro enableDeliveryReport es un parámetro opcional que puede usar para configurar los informes de entrega. Esta funcionalidad es útil cuando se quiere enviar eventos al entregar los mensajes SMS. Consulte el inicio rápido Controlar eventos SMS para configurar los informes de entrega de los mensajes SMS.

Puede usar el parámetro Tag para aplicar una etiqueta al informe de entrega.

Ejecución del código

Ejecute la aplicación desde el directorio de la aplicación con el comando dotnet run.

dotnet run

Código de ejemplo

Descargue la aplicación de ejemplo de GitHub de Azure Samples Enviar un mensaje SMS usando .NET.

Introducción a Azure Communication Services mediante el SDK de SMS de JavaScript de Communication Services para enviar mensajes SMS.

Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.

Nota:

Consulte el código finalizado Ejemplos de Azure GitHub Enviar un mensaje SMS mediante JavaScript.

Requisitos previos

Comprobación de requisitos previos

  • En una ventana de terminal o de comandos, ejecute node --version para comprobar que Node.js está instalado.
  • Para ver los números de teléfono asociados al recurso de Communication Services, inicie sesión en Azure Portal y busque el recurso de Communication Services. En el panel de navegación de la izquierda, seleccione Números de teléfono.

Configuración del entorno de la aplicación

Para configurar un entorno para enviar mensajes, siga los pasos descritos en las secciones siguientes.

Creación de una aplicación Node.js

  1. Abra el terminal o la ventana de comandos y, a continuación, ejecute el siguiente comando para crear un directorio en la aplicación y navegar a él.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Ejecute el siguiente comando para crear un archivo package.json con la configuración predeterminada.

    npm init -y
    
  3. Use un editor de texto para crear un archivo denominado send-sms.js en el directorio raíz del proyecto.

En las secciones siguientes, agregue todo el código fuente de este inicio rápido al archivo send-sms.js que creó.

Instalar el paquete

Use el comando npm install para instalar el SDK de SMS de Azure Communication Services para JavaScript.

npm install @azure/communication-sms --save

La --save opción enumera la biblioteca como una dependencia en el archivo package.json .

Modelo de objetos

Las clases e interfaces siguientes controlan algunas de las características principales del SDK de SMS de Azure Communication Services para Node.js.

Nombre Descripción
SmsClient Esta clase es necesaria para la funcionalidad de los SMS. Cree una instancia de esta clase con la información de suscripción y úsela para enviar mensajes de texto.
SolicitudDeEnvioDeSms Esta interfaz es el modelo para crear la solicitud de SMS. Se usa para configurar los números de teléfono de origen y destino y el contenido del SMS.
Opciones de Envío de SMS Esta interfaz proporciona opciones para configurar los informes de entrega. Si enableDeliveryReport se establece como true, se emitirá un evento cuando la entrega se realice correctamente.
SmsSendResult Esta clase contiene el resultado del servicio SMS.

Autenticar el cliente

Para autenticar a un cliente, importe SmsClient del SDK e instancie con la cadena de conexión. Se puede recuperar la cadena de conexión para el recurso desde una variable de entorno. Por ejemplo, el código de esta sección recupera la cadena de conexión de la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING. Aprenda a administrar la cadena de conexión del recurso.

Para importar el cliente y crear una instancia de él:

  1. Cree un archivo denominado send-sms.js.

  2. Agregue el código siguiente a send-sms.js.

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

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

Para enviar un SMS a una lista de destinatarios, llame a la función send desde SmsClient con una lista de números de teléfono de destinatarios. Si desea enviar un mensaje a un solo destinatario, incluya solo un número en la lista. Agregue este código al final de send-sms.js:

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  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);
    }
  }
}

main();

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> con un número de teléfono habilitado para SMS asociado a su recurso de Servicios de Comunicación.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> por los números de teléfono a los que desea enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, por ejemplo, +14255550123. El valor <from-phone-number> también puede ser un código corto, por ejemplo, 23456 o un identificador de remitente alfanumérico, por ejemplo, CONTOSO.

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

También puede proporcionar un objeto de opciones para especificar si el informe de entrega debe estar habilitado y para establecer etiquetas personalizadas.


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  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);
    }
  }
}

main();

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por un número de teléfono que soporte mensajes SMS asociado a sus recursos de servicios de comunicaciones.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> por números de teléfono a los que le gustaría enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, por ejemplo, +14255550123. El valor <from-phone-number> también puede ser un código corto, por ejemplo, 23456 o un identificador de remitente alfanumérico, por ejemplo, CONTOSO.

El parámetro enableDeliveryReport es un parámetro opcional que puede usar para configurar los informes de entrega. Esta funcionalidad es útil cuando se quiere enviar eventos al entregar los mensajes SMS. Consulte el inicio rápido Controlar eventos SMS para configurar los informes de entrega de los mensajes SMS. El tag es opcional. Puede usarlo para aplicar una etiqueta al informe de entrega.

Ejecución del código

Use el node comando para ejecutar el código que agregó al archivo send-sms.js .


node ./send-sms.js

Introducción a Azure Communication Services con SMS SDK de Communication Services para Python para enviar mensajes de texto.

Este inicio rápido supone un pequeño costo en su cuenta de Azure.

Nota:

Para obtener el código finalizado de este artículo, consulte GitHub Azure Samples Manage phone numbers using Python (Administración de números de teléfono mediante Python).

Requisitos previos

Comprobación de requisitos previos

  • En una ventana de terminal o de comandos, ejecute python --version para comprobar que Python está instalado.
  • Para ver los números de teléfono asociados al recurso de Communication Services, inicie sesión en Azure Portal y busque el recurso de Communication Services. En el panel de navegación de la izquierda, seleccione Números de teléfono.

Configuración del entorno de la aplicación

Para configurar un entorno para enviar mensajes, complete las secciones siguientes.

Creación de una nueva aplicación de Python

  1. Abra el terminal o la ventana de comandos. Use el siguiente comando para crear un directorio para la aplicación y navegar a ella.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Use un editor de texto para crear un archivo denominado send-sms.py en el directorio raíz del proyecto y agregar la estructura del programa, incluido el control de excepciones básico.

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

En las secciones siguientes, agregue todo el código fuente de este inicio rápido al archivo send-sms.py que creó.

Instalar el paquete

Mientras sigue en el directorio de la aplicación, instale el paquete del SDK de SMS de Azure Communication Services para Python con el siguiente comando.

pip install azure-communication-sms

Modelo de objetos

Las clases e interfaces siguientes controlan algunas de las características principales de SMS SDK de Azure Communication Services para Python.

Nombre Descripción
SmsClient Esta clase es necesaria para la funcionalidad de los SMS. Cree una instancia con la información de su suscripción y úsela para enviar mensajes SMS.
SmsSendResult Esta clase contiene el resultado del servicio SMS.

Autenticar el cliente

Cree una instancia SmsClient con la cadena de conexión. Aprenda a administrar la cadena de conexión del recurso.

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

Para facilitar las cosas, en este inicio rápido se usan cadenas de conexión, pero en los entornos de producción se recomienda usar entidades de servicio.

Envío de un SMS de un remitente a un solo destinatario

Para enviar un mensaje SMS a un único destinatario, llame al send método desde SmsClient con un solo número de teléfono de destinatario. También puede proporcionar parámetros opcionales para especificar si el informe de entrega se debe habilitar y establecer etiquetas personalizadas. Agregue este código al final del try bloque en send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> con un número de teléfono habilitado para SMS asociado con su servicio de comunicación.
  • Reemplace <to-phone-number> por el número de teléfono al que desea enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, por ejemplo, +14255550123. El valor <from-phone-number> también puede ser un código corto, por ejemplo, 23456 o un identificador de remitente alfanumérico, por ejemplo, CONTOSO.

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

Para enviar un mensaje SMS a una lista de destinatarios, llame al send método desde SmsClient con una lista de números de teléfono de destinatarios. También puede proporcionar parámetros opcionales para especificar si el informe de entrega se debe habilitar y establecer etiquetas personalizadas. Agregue este código al final del try bloque en send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por un número de teléfono habilitado para SMS asociado a su servicio de comunicación.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> por números de teléfono a los que le gustaría enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, como +14255550123. El valor <from-phone-number> de también puede ser un código corto, como 23456 o un identificador de remitente alfanumérico, como CONTOSO.

Parámetros opcionales

El enable_delivery_report parámetro es un parámetro opcional que puede usar para configurar los informes de entrega. Use esta función si desea emitir eventos cuando se entreguen mensajes SMS. Consulte Control de eventos de SMS para configurar los informes de entrega de los mensajes SMS.

El parámetro tag es un parámetro opcional que puede usar para aplicar una etiqueta al informe de entregas.

Ejecución del código

Ejecute la aplicación desde el directorio de la aplicación con el comando python.

python send-sms.py

El script de Python completo debería ser algo parecido al siguiente código:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

Introducción a Azure Communication Services mediante el SDK de SMS de Communication Services para Java para enviar mensajes SMS.

Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.

Nota:

Consulte el código finalizado Ejemplos de Azure GitHub Envío de un mensaje SMS mediante Java.

Requisitos previos

Comprobación de requisitos previos

  • En una ventana de terminal o de comandos, ejecute mvn -v para comprobar que Maven está instalado.
  • Para ver los números de teléfono asociados al recurso de Communication Services, inicie sesión en Azure Portal y busque el recurso de Communication Services. En el panel de navegación de la izquierda, seleccione Números de teléfono.

Configuración del entorno de la aplicación

Para configurar un entorno para enviar mensajes, complete las secciones siguientes.

Creación de una aplicación Java

Abra la ventana Comandos o el terminal y navegue hasta el directorio en el que quiere crear la aplicación de Java. Para generar el proyecto de Java desde la plantilla maven-archetype-quickstart, ejecute el siguiente comando.

  • Símbolo del sistema
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

El objetivo generate crea un directorio con el mismo nombre que el valor artifactId. En este directorio, el directorio src/main/java contiene el código fuente del proyecto, el directorio src/test/java contiene el origen de prueba y el archivo pom.xml es el modelo de objetos de proyecto (POM) del proyecto.

Instalar el paquete

Abra el archivo pom.xml en el editor de texto. Agregue el siguiente elemento de dependencia al grupo de dependencias.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

Instalación del marco de la aplicación

Abra /src/main/java/com/communication/quickstart/App.java en un editor de texto, agregue directivas de importación y quite la System.out.println("Hello world!"); instrucción :

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

Modelo de objetos

Las siguientes clases e interfaces controlan algunas de las características principales del SDK de SMS de Azure Communication Services para Java:

Nombre Descripción
SmsClientBuilder Esta clase crea SmsClient. Se proporciona un punto de conexión, una credencial y un cliente HTTP.
SmsClient Esta clase es necesaria para la funcionalidad de los SMS. que se utiliza para enviar mensajes SMS.
Opciones de envío de SMS Esta clase proporciona opciones para agregar etiquetas personalizadas y configurar informes de entrega. Si "deliveryReportEnabled" se establece en verdadero, se emite un evento cuando la entrega es correcta.
SmsSendResult Esta clase contiene el resultado del servicio SMS.

Autenticar el cliente

Para autenticar un cliente, cree una instancia SmsClient de con la cadena de conexión. Para la credencial, use el Key del Azure Portal. Aprenda a administrar la cadena de conexión del recurso. También puede iniciar el cliente con cualquier cliente HTTP personalizado que implemente la interfaz com.azure.core.http.HttpClient.

Para crear una instancia de un cliente, agregue el siguiente código al método main:

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

También puede proporcionar la cadena de conexión completa mediante la función connectionString en lugar de proporcionar el punto de conexión y la clave de acceso.

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

Envío de un SMS de un remitente a un solo destinatario

Para enviar un SMS a un solo destinatario, llame al método send desde el SmsClient con el número de teléfono de un solo destinatario. También puede proporcionar parámetros opcionales para especificar si el informe de entrega se debe habilitar y establecer etiquetas personalizadas.

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por un número de teléfono habilitado para SMS asociado a su recurso de Communication Services.
  • Reemplace <to-phone-number> con un número de teléfono al que desea enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, como +14255550123. El valor <from-phone-number> de también puede ser un código corto, como 23456 o un identificador de remitente alfanumérico, como CONTOSO.

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

Para enviar un SMS a una lista de destinatarios, llame al método send con una lista de los números de teléfono de los destinatarios. También puede proporcionar parámetros opcionales para especificar si el informe de entrega se debe habilitar y establecer etiquetas personalizadas.

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

Haga estas sustituciones en el código:

  • Reemplace <from-phone-number> por un número de teléfono habilitado para SMS asociado a su recurso de Communication Services.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> por números de teléfono a los que le gustaría enviar un mensaje.

Advertencia

Proporcione números de teléfono en formato estándar internacional E.164, por ejemplo, +14255550123. El valor <from-phone-number> también puede ser un código corto, por ejemplo, 23456 o un identificador de remitente alfanumérico, por ejemplo, CONTOSO.

El método setDeliveryReportEnabled se usa para configurar los informes de entrega. Esta funcionalidad es útil cuando se quiere enviar eventos al entregar los mensajes SMS. Consulte el inicio rápido Controlar eventos SMS para configurar los informes de entrega de los mensajes SMS.

Para aplicar una etiqueta al informe de entrega, use el setTag método .

Ejecución del código

  1. Vaya al directorio que contiene el archivo pom.xml y compile el proyecto mediante el mvn comando .

    
    mvn compile
    
    
  2. Compilar el paquete.

    
    mvn package
    
    
  3. Ejecute el siguiente comando mvn para ejecutar la aplicación.

    • Símbolo del sistema
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

Use el conector sms de Azure Communication Services y Azure Logic Apps para crear flujos de trabajo automatizados que puedan enviar mensajes SMS.

En este artículo se describe cómo enviar automáticamente mensajes de texto en respuesta a un evento de desencadenador, que es el primer paso de un flujo de trabajo de aplicación lógica. Un evento de desencadenador puede ser un mensaje de correo electrónico entrante, una programación de periodicidad, un evento de recursos de Azure Event Grid o cualquier otro desencadenador compatible con Azure Logic Apps.

Captura de pantalla que muestra Azure Portal abierto en el Diseñador de aplicaciones lógicas. Azure Portal muestra una aplicación lógica de ejemplo que usa la acción Enviar SMS para el conector de Azure Communication Services.

Aunque este artículo se centra en el uso del conector para responder a un desencadenador, también puede usar el conector para responder a otras acciones, que son los pasos que siguen el desencadenador en un flujo de trabajo. Si no está familiarizado con Logic Apps, consulte ¿Qué es Azure Logic Apps antes de empezar?

Nota:

Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.

Requisitos previos

Importante

Las capacidades de SMS y RTC dependen del número de teléfono que use y del país o región en el que trabaja, determinado por su dirección de facturación de Azure. Para obtener más información, visite la documentación sobre idoneidad de la suscripción .

Adición de una acción de SMS

Para agregar la acción Enviar SMS como un nuevo paso en el flujo de trabajo mediante el conector sms de Azure Communication Services, siga estos pasos en Azure Portal con el flujo de trabajo de la aplicación lógica abierto en el Diseñador de aplicaciones lógicas:

  1. En el diseñador, en el paso donde desea agregar la nueva acción, seleccione Nuevo paso. Como alternativa, para agregar la nueva acción entre los pasos, mueva el puntero sobre la flecha entre esos pasos, seleccione el signo más (+) y seleccione Agregar una acción.

  2. En el cuadro de búsqueda Elegir una operación , escriba Azure Communication Services. En la lista de acciones, seleccione Enviar SMS.

    Captura de pantalla que muestra el Diseñador de aplicaciones lógicas y el conector de Azure Communication Services con la acción Enviar SMS seleccionada.

  3. A continuación, cree una conexión al recurso de Communication Services.

    1. Dentro de la misma suscripción:

      1. Proporcione un nombre para la conexión.

      2. Seleccione el recurso de Azure Communication Services.

      3. Seleccione Crear.

      Captura de pantalla que muestra la configuración de la acción Enviar SMS con información de ejemplo.

    2. Utilizando la cadena de conexión del recurso de Communication Services:

      1. Proporcione un nombre para la conexión.

      2. Seleccione Autenticación de ConnectionString de las opciones desplegables.

      3. Escriba la cadena de conexión del recurso de Communication Services.

      4. Seleccione Crear.

      Captura de pantalla que muestra la configuración de autenticación de cadena de conexión.

    3. Mediante la entidad de servicio (consulte el artículo sobre la creación de entidades de servicio):

      1. Proporcione un nombre para la conexión.

      2. Seleccione Autenticación de entidad de servicio (aplicación de Microsoft Entra) de las opciones desplegables.

      3. Escriba el identificador del inquilino, el identificador del cliente y el secreto del cliente de la entidad de servicio.

      4. Escriba el valor Dirección URL del punto de conexión de Communication Services de su recurso de Communication Services.

      5. Seleccione Crear.

      Captura de pantalla que muestra la configuración de autenticación del Principal de servicio.

  4. En la acción Enviar SMS , proporcione la siguiente información:

    • Los números de teléfono de origen y de destino. Con fines de prueba, puede usar su propio número de teléfono como el número de teléfono de destino.

    • El contenido del mensaje que desea enviar, por ejemplo, "¡Hola desde Logic Apps!".

    Esta es una acción Enviar SMS con información de ejemplo:

    Captura de pantalla que muestra la acción Enviar SMS con información de ejemplo.

  5. Cuando haya terminado, en la barra de herramientas del diseñador, seleccione Guardar.

A continuación, ejecute el flujo de trabajo para realizar pruebas.

Prueba del flujo de trabajo

Para iniciar manualmente el flujo de trabajo, en la barra de herramientas del diseñador, seleccione Ejecutar. O bien, puede esperar a que se active el desencadenador. En ambos casos, el flujo de trabajo debe enviar un mensaje SMS al número de teléfono de destino especificado. Para más información, revise cómo ejecutar el flujo de trabajo.

Limpieza de recursos de flujo de trabajo

Para limpiar el flujo de trabajo de la aplicación lógica y los recursos relacionados, revise cómo limpiar los recursos de Logic Apps.

Solución de problemas

Para solucionar problemas relacionados con la entrega de SMS, puede habilitar los informes de entrega con Event Grid para capturar los detalles de entrega.

Limpieza de recursos

Si quiere limpiar y quitar una suscripción a Communication Services, puede eliminar el recurso o grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él. Obtenga más información sobre la limpieza de recursos.

Comprobación gratuita

Para usar un nuevo número gratuito para enviar mensajes SMS, debe completar un proceso de comprobación de número gratuito. Para obtener instrucciones sobre cómo completar la comprobación de su número gratuito, consulte el inicio rápido para enviar una comprobación gratuita. Solo los números gratuitos totalmente comprobados se autorizan para enviar tráfico SMS. Se bloqueará cualquier tráfico SMS de números gratuitos no comprobados dirigidos a números de teléfono de EE. UU. y Canadá.

Pasos siguientes

En este artículo se describe cómo enviar mensajes SMS mediante Azure Communication Services.