Enviar mensajes SMS y MMS en Java
En este tutorial, te mostraremos cómo enviar mensajes SMS y MMS desde Java con los SMS programables de Twilio. Los fragmentos de código de esta guía están dirigidos a Java SDK 8 o versiones posteriores y utilizan la biblioteca auxiliar para Java de Twilio.
Si bien es posible enviar mensajes SMS de solo texto en casi cualquier parte del mundo, el envío de contenido multimedia solo está disponible en EE. UU. y Canadá actualmente. Obtén más información en este artículo de soporte.
Inicia sesión en tu cuenta de Twilio (o regístrate para obtener una)
Si tienes una cuenta y un número de teléfono de Twilio con funcionalidades de SMS (y MMS, si es posible), ya estás listo. Puedes pasar directamente al código.
Antes de poder enviar mensajes, deberás registrarte para obtener una cuenta Twilio y adquirir un número de teléfono de Twilio.
Si eres nuevo en Twilio, puedes registrarte para obtener una cuenta de prueba gratuita para comenzar. Una vez que te hayas registrado, dirígete a la consola, y obtén tu Account SID (SID de cuenta) y Auth Token (Token de autenticación). Necesitarás esos valores para los ejemplos de código siguientes.
Obtener un número de teléfono con funcionalidades de SMS (y MMS)
Para enviar mensajes, necesitas un número de teléfono de Twilio con funcionalidades de SMS. Si actualmente no posees un número de teléfono de Twilio con funcionalidades de SMS, deberás comprar uno. Después de explorar la página Buy a Number (Comprar un número), marca la casilla SMS y haz clic en Search (Buscar).
Si vives en EE. UU. o Canadá y deseas enviar mensajes MMS, puedes seleccionar la casilla MMS. En los resultados de búsqueda, aparecen los íconos de funcionalidad en la lista de números disponibles:
Busca un número que te guste y haz clic en "Buy" (Comprar) para agregarlo a tu cuenta.
Si estás utilizando una cuenta de prueba, deberás verificar tu número de teléfono personal a través de la consola para probar el envío de SMS a ti mismo.
Obtén más información sobre cómo usar tu cuenta de prueba gratuita.
Enviar un mensaje SMS mediante la API REST con la biblioteca auxiliar de Java
Para enviar un mensaje SMS saliente, se debe enviar una solicitud HTTP POST al URI del recurso de mensajes. Con la biblioteca auxiliar, puedes crear una instancia nueva del recurso de mensajes y especificar los parámetros To, From y Body del mensaje.
El primer número de teléfono en el siguiente ejemplo es el parámetro To (tu número de Twilio) y el segundo número de teléfono es el parámetro From (tu número celular).
Si quieres enviar un mensaje a varios destinatarios, puedes crear un conjunto de destinatarios e iterar cada número de teléfono de ese conjunto.
Puedes enviar todos los mensajes que quieras con la velocidad que desees y Twilio los pondrá en cola para su entrega según el límite de frecuencia prescrito. Consulta nuestra guía sobre cómo Enviar mensajes SMS masivos para obtener más consejos.
Enviar un mensaje en Java con contenido multimedia (MMS)
Es posible que desees enviar MMS salientes con Twilio. Para enviar un MMS, también se realiza una solicitud HTTP POST al recurso de mensajes, pero, en este caso, se debe especificar un parámetro para la URL del contenido multimedia, como una imagen.
Agregaremos una línea al código del ejemplo anterior que establece la MediaUrl para el mensaje.
Si bien es posible enviar mensajes SMS de solo texto en casi cualquier parte del mundo, el envío de contenido multimedia solo está disponible en EE. UU. y Canadá actualmente.
La invocación del método setMediaUrl()
en este código le indica a Twilio dónde ir para obtener el contenido multimedia que queremos incluir. Debe ser una URL de acceso público. Twilio no podrá acceder a ninguna URL que se encuentre oculta o que requiera autenticación.
Al igual que cuando envías un SMS simple, Twilio enviará datos sobre el mensaje en su respuesta a tu solicitud. La respuesta JSON contendrá el SID y URI únicos de tu recurso de contenido multimedia:
"subresource_uris": {"media": "/2010-04 01/Accounts/ACxxxxxxxx/Messages/SMxxxxxxxxxxxxx/Media.json"}
Cuando la API REST de Twilio cree el recurso de mensajes nuevo, guardará la imagen que se encuentra en la URL del contenido multimedia como un recurso de contenido multimedia. Una vez creado, puedes acceder a este recurso en cualquier momento mediante la API.
Puedes imprimir este valor desde tu código de Java para ver el lugar de almacenamiento de la imagen. Agrega la siguiente línea al final del archivo Example.java
para ver el URI de contenido multimedia recién aprovisionado:
System.out.println(message.getSubresourceUris().get("media"));
¿Qué sigue?
¿Deseas crear más funciones de mensajería en tu aplicación móvil de Java?
Consulta estos recursos detallados para llevar tu mensajería programática al siguiente nivel:
- Monitorea el estado del mensaje para confirmar su entrega.
- Aprende a responder un SMS enviado a tu número de teléfono de Twilio.
- Obtén información sobre cómo administrar el estado de los mensajes para convertir mensajes individuales en una verdadera conversación por SMS.
- Obtén más detalles con nuestra documentación de referencia de la API para mensajes.
- ¿Deseas enviar mensajes de gran volumen? Consulta nuestros servicios de mensajería.
También puedes probar nuestro Inicio rápido para enviar SMS en Java y aprender a recibir y responder mensajes en Java.
¿Necesitas ayuda?
Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.