https://a.storyblok.com/f/270183/1368x665/96682d800c/java-sms_24.png

Cómo enviar mensajes SMS con Java y la API de Vonage

Publicado el August 29, 2023

Tiempo de lectura: 5 minutos

Este artículo se actualizó en abril de 2025

La SMS API de Vonage es un servicio que te permite enviar y recibir mensajes SMS. Si eres desarrollador Java, puedes usar la API de Vonage para enviar mensajes SMS desde aplicaciones Java.

En este tutorial, te mostraremos cómo enviar mensajes SMS con Java usando la API de Vonage.

Requisitos previos

Usar Java para enviar mensajes SMS es relativamente simple. Una vez que tengas la SMS API de Vonage, solo necesitarás algunas herramientas adicionales y un conocimiento práctico de Java.

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

Para comprar un número de teléfono virtual, vaya a su panel API y siga los pasos que se indican a continuación.

Steps on how to purchase a phone number from the dashboard, from selecting the number and confirming the selection.Purchase a phone number

  1. Vaya a su Panel API

  2. Vaya a CONSTRUIR Y GESTIONAR > Numbers > Comprar Numbers.

  3. Elija los atributos necesarios y haga clic en Buscar

  4. Pulse el botón Comprar junto al número que desee y valide su compra

  5. Para confirmar que ha adquirido el número virtual, vaya al menú de navegación de la izquierda, en CONSTRUIR Y GESTIONAR, haga clic en Numbers y, a continuación, en Sus Numbers.

También necesitarás lo siguiente:

  • JDK (17 o superior) o su equivalente de código abierto OpenJDK

  • Gradle

Instrucciones

A continuación, te guiaremos por cada uno de los pasos que debes seguir para enviar un mensaje SMS en Java con la API de Vonage.

  1. Cree su aplicación Java

  2. Configurar el SDK Java de Vonage

  3. Envíe su mensaje SMS en Java

1. Cree su aplicación Java

Para empezar, configure su proyecto Gradle y descargue el Vonage Java SDK.

Crea un directorio para tu proyecto. Entre en su directorio y ejecute gradle init. Si no estás familiarizado con Gradle, no te preocupes - ¡no vamos a profundizar en nada demasiado complejo!

Seleccione 1: básico como el tipo de proyecto a generar. 1: Groovy como DSL del script de compilación. En este punto, el nombre de su proyecto-o pulse Intro para la opción por defecto.

Una vez hecho esto, abra el archivo build.gradle archivo. A continuación, sustituya el contenido del archivo por el siguiente fragmento de código:

// We're creating a Java Application:
    plugins {
        id 'application'
        id 'java'
    }
    
    // Download dependencies from Maven Central:
    repositories {
        mavenCentral()
    }
    
    // Install the Vonage Java SDK
    dependencies {
        implementation 'com.vonage:client:7.7.0'
    }
    
    // We'll create this class to contain our code:
    application {
        mainClass = 'getstarted.SendSMS'
    }

A continuación, abra la consola en el directorio que contiene el archivo build.gradle archivo. A continuación, ejecute el siguiente comando:

gradle build

Este comando descargará el Vonage Java SDK y lo almacenará para más tarde. Si tuvieras código fuente, también lo compilaría, pero aún no lo has escrito. ¡Vamos a arreglar eso!

2. Configurar el SDK Java de Vonage

Debido a la mainClass que establecimos en el archivo de construcción de Gradle, necesitarás crear una clase llamada SendSMS en el paquete getstarted.

(Nota: En código de producción, querrías que el paquete fuera algo como com.mycoolcompany.smstoolpero esto no es código de producción, así que con getstarted es suficiente).

Gradle utiliza la misma estructura de directorios que Maven, por lo que necesitas crear la siguiente estructura de directorios dentro del directorio de tu proyecto: src/main/java/getstarted.

En macOS y Linux, puede crear esta ruta ejecutando:

mkdir -p src/main/java/getstarted

Dentro del directorio getstarted cree un archivo llamado SendSMS.java. Una vez que lo tengas abierto en tu IDE favorito, añade este código:

package getstarted;

import com.vonage.client.VonageClient;
import com.vonage.client.sms.MessageStatus;
import com.vonage.client.sms.SmsSubmissionResponse;
import com.vonage.client.sms.messages.TextMessage;

static String API_KEY = "YOUR_API_KEY";
static String API_SECRET = "YOUR_API_SECRET";

public class SendSMS {

    public static void main(String[] args) throws Exception {
    // Our code will go here!
    }
}

Esto importa las partes necesarias del SDK de Vonage y crea un método para nuestro código.

A continuación, almacenamos nuestra API Key y API secret como variables. Rellenamos YOUR_API_KEY y YOUR_API_SECRET con los valores que copiaste del Panel de API de Vonage.

Si ejecutas gradle rundebería ejecutar tu método principal. Sin embargo, como todavía no tenemos nada ahí, no hará nada. ¡Cambiemos eso!

3. Envíe su mensaje SMS en Java

Ya estamos casi listos para enviar un SMS con nuestra aplicación Java.

En primer lugar, añada este fragmento a su main método:

VonageClient client = VonageClient.builder()
    
    .apiKey(YOUR_API_KEY)
    .apiSecret(YOUR_API_SECRET)
    .build();

El siguiente código crea un objeto VonageClient que puede utilizarse para enviar mensajes SMS. Ahora que su objeto cliente está configurado, puede enviar un mensaje SMS:

TextMessage message = new TextMessage(VONAGE_BRAND_NAME,
                    TO_NUMBER,
                    "A text message sent using the Vonage SMS API"
            );
    
            SmsSubmissionResponse response = client.getSmsClient().submitMessage(message);
    
            if (response.getMessages().get(0).getStatus() == MessageStatus.OK) {
                System.out.println("Message sent successfully. " + response.getMessages());
            } else {
                System.out.println("Message failed with error: " + response.getMessages().get(0).getErrorText());
            }

De nuevo, deberá sustituir VONAGE_BRAND_NAME por el número virtual que ha adquirido y TO_NUMBER por tu propio número de teléfono móvil. Ambos deben escribirse como cadenas. Asegúrese de proporcionar el TO_NUMBER en formato E.164-por ejemplo, 447401234567.

Por último, guarde y ejecute gradle run. Si has seguido los pasos de este tutorial correctamente, esto enviará un mensaje SMS desde Java usando la API SMS de Vonage.

En este punto, deberías ver algo como esto:

Message sent successfully.[com.vonage.client.sms.SmsSubmissionResponseMessage@f0f0675[to=447401234567,id=13000001CA6CCC59,status=OK,remainingBalance=27.16903818,messagePrice=0.03330000,network=23420,errorText=<null>,clientRef=<null>]]

...¡y un mensaje de texto enviado a tu teléfono!

Si no funciona, puede que haya algún texto después de ERR:. Corrige el problema e inténtalo de nuevo.


NOTA

En algunos países (EE. UU.), VONAGE_BRAND_NAME debe ser uno de tus números virtuales de Vonage. En otros países (Reino Unido), puedes elegir un valor de cadena alfanumérica, por ejemplo, el nombre de tu marca como AcmeInc. Lee sobre las funciones de SMS específicas de cada país en el portal dev.


Conclusión

¡Ahora ya sabes cómo enviar un SMS en Java usando la API de Vonage! Para obtener más información, consulta los enlaces de documentación que se proporcionan a continuación.

¿Tienes alguna pregunta o algo que compartir? Únete a la conversación en Slack de la comunidad de Vonagey mantente actualizado con el Boletín para desarrolladoressíguenos en X (antes Twitter)suscríbete a nuestro canal de YouTube para ver tutoriales en video, y sigue la página de página para desarrolladores de Vonage en LinkedInun espacio para que los desarrolladores aprendan y se conecten con la comunidad. Mantente conectado, comparte tu progreso y entérate de las últimas noticias, consejos y eventos para desarrolladores.

Lecturas complementarias

Compartir:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamDefensor del Desarrollador

Diana es desarrolladora de Vonage. Le gusta comer ostras frescas.