Compartir a través de


Inicio rápido: Envío de 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 más información, consulte Idoneidad de la suscripción.

Nota:

Comparta su opinión y comentarios sobre Azure Communication Services con nosotros respondiendo a esta breve encuesta.


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

Este inicio rápido supone un pequeño costo 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

Ejecute el siguiente comando en un terminal o ventana de comandos para instalar el módulo de comunicación.

az extension add --name communication

Inicio de sesión en la CLI de Azure

Deberá 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 "<yourSubcriptionId>"

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:

  • Reemplace <fromPhoneNumber> por un número de teléfono habilitado para SMS asociado al 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, 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.

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

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

Nota

Busque el código finalizado de este inicio rápido en GitHub.

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 el Azure Portal y localice el recurso de servicios de comunicación. En el panel de navegación izquierdo, 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 sencillo proyecto de C#, "Hola mundo", con un solo archivo de origen: 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 la directiva using a la parte superior de Program.cs para incluir el espacio de nombres Azure.Communication.

    
    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 método Main 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 un 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, 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

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 al 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 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 Control de eventos SMS a fin de configurar los informes de entrega para 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

Puede descargar la aplicación de ejemplo de GitHub.

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

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

Nota

Busque el código finalizado de este inicio rápido en GitHub.

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 el Azure Portal y localice el recurso de servicios de comunicación. En el panel de navegación izquierdo, 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. Ejecuta 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, agregará todo el código fuente de este inicio rápido al archivo send-sms.js que acaba de crear.

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 opción --save muestra la biblioteca como 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.
SmsSendRequest 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.
SmsSendOptions 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, hay que importar el SmsClient del SDK y crear una instancia de ella 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 llamado send-sms.js.

  2. Agregue el siguiente código 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> por un número de teléfono habilitado para SMS asociado al recurso de Communication Services.
  • Reemplace <to-phone-number-1> y <to-phone-number-2> con los 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.

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 habilitado para SMS asociado al 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 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 Control de eventos SMS a fin de configurar los informes de entrega para los mensajes SMS. El tag es opcional. Puede usarlo para aplicar una etiqueta al informe de entrega.

Ejecución del código

Use el comando node 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

Busque el código finalizado de este inicio rápido en GitHub.

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 el Azure Portal y localice el recurso de servicios de comunicación. En el panel de navegación izquierdo, 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 nueva aplicación de Python

  1. Abra el terminal o la ventana de comandos. A continuación, use el comando siguiente 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 agregue 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, agregará todo el código fuente de este inicio rápido al archivo send-sms.py que acaba de crear.

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 de esta clase con la información de suscripción y úsela para enviar mensajes de texto.
SmsSendResult Esta clase contiene el resultado del servicio SMS.

Autenticar el cliente

Cree una instancia de la clase 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 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. Agregue este código al final del bloque try 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 al 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 SMS a una lista de destinatarios, llame al método send 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 bloque try 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> con un número de teléfono habilitado para SMS asociado al 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, 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.

Parámetros opcionales

El parámetro enable_delivery_report 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 Control de eventos SMS a fin de configurar los informes de entrega para 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.

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

Nota

Busque el código finalizado de este inicio rápido en GitHub.

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 el Azure Portal y localice el recurso de servicios de comunicación. En el panel de navegación izquierdo, 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 Java

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

  • 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 la prueba, y el archivo pom.xml es el modelo de objetos del proyecto (POM).

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 instrucción System.out.println("Hello world!");:

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.
SmsSendOptions 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 al 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, 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

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 al 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 Control de eventos SMS a fin de configurar los informes de entrega para los mensajes SMS.

Puede usar el método setTag para aplicar una etiqueta al informe de entrega.

Ejecución del código

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

    
    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"
    

Con el conector SMS de Azure Communication Services y Azure Logic Apps, puede crear flujos de trabajo automatizados que pueden enviar mensajes SMS. En esta guía de inicio rápido se muestra cómo enviar mensajes de texto automáticamente en respuesta a un evento desencadenador, que es el primer paso de un flujo de trabajo de aplicación lógica. Un evento desencadenador puede ser un mensaje de correo electrónico entrante, una programación periódica, un evento de un recurso de Azure Event Grid o cualquier otro desencadenador admitido por Azure Logic Apps.

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

Aunque esta guía de inicio rápido 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 al desencadenador en un flujo de trabajo. Si no está familiarizado con las aplicaciones lógicas, consulte Introducción: ¿Qué es Azure Logic Apps? antes de comenzar.

Nota

Este inicio rápido supone un pequeño costo 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, consulte 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 en el que desea agregar la nueva acción, seleccione Nuevo paso. Como alternativa, para agregar la nueva acción entre 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 ConnectionString Authentication (Autenticación de ConnectionString) en 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 la autenticación de la 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) en 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 de entidad de servicio.

  4. En 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!".

    A continuación se muestra 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 esté listo, seleccione Guardar en la barra de herramientas del diseñador.

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

Prueba del flujo de trabajo

Para iniciar manualmente el flujo de trabajo, seleccione Ejecutar en la barra de herramientas del diseñador. 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, consulte Limpieza de recursos.

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 la 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, es obligatorio someterse a 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: Solicitud de la comprobación de número gratuito. Tenga en cuenta que solo los números gratuitos que se han comprobado completamente están autorizados 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 esta guía de inicio rápido, ha aprendido a enviar mensajes de texto mediante Azure Communication Services.