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.
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso activo de Communication Services y una cadena de conexión. Creación de un recurso de Communication Services.
- Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
- La versión más reciente de la CLI de Azure para el sistema operativo.
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 "<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:
- 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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- La versión más reciente del SDK de .NET Core para su sistema operativo.
- Un recurso activo de Communication Services y una cadena de conexión. Creación de un recurso de Communication Services.
- Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
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#
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 nombreSmsQuickstart
. Este comando crea un sencillo proyecto de C#, "Hola mundo", con un solo archivo de origen: program.cs.dotnet new console -o SmsQuickstart
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
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
Agregue la directiva
using
a la parte superior de Program.cs para incluir el espacio de nombresAzure.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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Versiones de Node.js, Active LTS y Maintenance LTS (se recomiendan 8.11.1 y 10.14.1).
- Un recurso activo de Communication Services y una cadena de conexión. Creación de un recurso de Communication Services.
- Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
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
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
Ejecuta el siguiente comando para crear un archivo package.json con la configuración predeterminada.
npm init -y
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:
Cree un archivo llamado send-sms.js.
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Versión 3.7 o superiores de Python.
- Un recurso activo de Communication Services y una cadena de conexión. Creación de un recurso de Communication Services.
- Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
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
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
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Kit de desarrollo de Java (JDK) versión 8 o posterior.
- Apache Maven.
- Un recurso activo de Communication Services y una cadena de conexión. Creación de un recurso de Communication Services.
- Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
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
Vaya al directorio que contiene el archivo pom.xml y compile el proyecto mediante el comando
mvn
.mvn compile
Compilar el paquete.
mvn package
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.
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
Una cuenta de Azure con una suscripción activa o también puede crear una cuenta de Azure de forma gratuita.
Un recurso de Azure Communication Services activo o también puede crear un recurso de Communication Services.
Un recurso de Logic Apps activo (aplicación lógica) o también puede crear una aplicación lógica en blanco, pero con el desencadenador que quiere usar. Actualmente, el conector SMS de Azure Communication Services solo proporciona acciones, por lo que la aplicación lógica requiere un desencadenador, como mínimo.
En esta guía de inicio rápido se usa el desencadenador Cuando llega un nuevo correo electrónico, que está disponible con el conector de Outlook de Office 365.
Un número de teléfono habilitado para SMS, código corto o identificador alfanumérico de remitente. Obtención de un número de teléfono.
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:
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.
En el cuadro de búsqueda Elegir una operación, escriba
Azure Communication Services
. En la lista de acciones, seleccione Enviar SMS.A continuación, cree una conexión al recurso de Communication Services.
Dentro de la misma suscripción:
Proporcione un nombre para la conexión.
Seleccione el recurso de Azure Communication Services.
Seleccione Crear.
Utilizando la cadena de conexión del recurso de Communication Services:
Proporcione un nombre para la conexión.
Seleccione Autenticación de ConnectionString de las opciones desplegables.
Escriba la cadena de conexión del recurso de Communication Services.
Seleccione Crear.
Mediante la entidad de servicio (consulte el artículo sobre la creación de entidades de servicio):
Proporcione un nombre para la conexión.
Seleccione Autenticación de entidad de servicio (aplicación de Microsoft Entra) de las opciones desplegables.
Escriba el identificador del inquilino, el identificador del cliente y el secreto del cliente de la entidad de servicio.
Escriba el valor Dirección URL del punto de conexión de Communication Services de su recurso de Communication Services.
Seleccione Crear.
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:
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, 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: Solicitud de la comprobación de número gratuito. 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 esta guía de inicio rápido, ha aprendido a enviar mensajes de texto mediante Azure Communication Services.