Envío de SMS con Java y Twilio
Tiempo de lectura: 2 minutos
¿Sabía que puede codificar una app Java en menos de 5 minutos para enviar un SMS mediante la API de Twilio? Probablemente más cerca de 2, una vez que haya instalado las herramientas. Necesitará:
- Una instalación de Java 8 o más reciente, yo recomiendo SDKMAN! para instalar y administrar versiones de Java.
- Java IDE (a mí me gusta IntelliJ IDEA, pero si tiene uno favorito también puede utilizarlo).
- Una cuenta Twilio (si aún no tiene una, regístrese aquí para obtener una cuenta gratuita y recibirá un crédito de $10 cuando realice la actualización)
- Un número de teléfono Twilio que pueda enviar y recibir SMS
La manera más sencilla de llamar a la API de Twilio es con la Twilio Java Helper Library. En esta sección, daré ejemplos usando la herramienta de creación Apache Maven, que descargará y administrará la dependencia y el empaque del proyecto. Puede ponerse al día con Maven en 5 minutos y otras herramientas, como Gradle también funcionan, si las prefiere.
Si prefiere ver que leer, eche un vistazo a mi video de demostración de Twilio de 2 minutos:
Creación de un proyecto nuevo
Asumiré que está comenzando desde cero con un directorio vacío, así que el primer paso es crear un proyecto nuevo.
Un proyecto nuevo de Maven
Cree un nuevo proyecto de Maven en IntelliJ IDEA como este:
Me gusta utilizar el asistente integrado de New Project de IDE, pero también es posible crear lo mismo desde la línea de comandos mediante la creación de una carpeta para el código fuente en el diseño de directorio estándar con mkdir -p src/main/java
y la creación de un archivo llamado pom.xml
con este contenido:
Antes de llegar a la codificación, debemos decirle a Maven que utilice Java 8 y que descargue la Twilio Helper Library. Agregue lo siguiente a pom.xml
como lo último antes de </Project>
:
Escribir el código
Maven utiliza src/main/java
como el lugar para colocar el código fuente Java. Adentro, cree un paquete llamado com.example
y una clase ahí llamada TwilioSendSms
. La estructura de su directorio debe ser:
Comience la clase TwilioSendSms
con un método main
:
Adonde dice // code will go in here
(// aquí irá el código), usted debe hacer dos cosas:
- Autenticar el cliente de Twilio
- Llamar a la API para enviar un SMS
Estos tomarán una línea de código cada uno.
Autenticar el cliente de Twilio
Necesitará su ACCOUNT_SID
y AUTH_TOKEN
de su consola Twilio. Para ayudar a mantener esto en forma secreta, siempre recomiendo leerlos de variables de entorno en lugar de tener que codificarlos con dificultad. Uso Plugin EnvFile para IntelliJ IDEA y hay alternativas para otros IDE o puede configurarlos en su sistema operativo. Una vez que se establecen en el entorno, agregue este código en el cuerpo de la función main()
:
Envíe su primer SMS
Por último, ¡el código para enviar un mensaje de texto! Agregue esto al método main
, debajo del código init
que acaba de agregar:
[este código (con importaciones) en GitHub]
Los números de teléfono que pasa a los constructores de PhoneNumber
deben ser números de teléfono reales, en formato E.164. Una vez que los haya agregado, ejecute el código y ¡listo!
🎉🎉🎉 Felicitaciones 🎉🎉🎉
Conclusión
Ahora ya sabe cómo enviar un SMS mediante la API de Twilio, lo siguiente podría ser recibir y responder SMS desde Java.
Es hora de poner a trabajar su imaginación. Puedes enviar recordatorios diarios, pronósticos meteorológicos, alertas de espacios de estacionamiento o cualquier otro elemento que pueda imaginar.
Publicaciones relacionadas
Recursos relacionados
Twilio Docs
Desde API hasta SDK y aplicaciones de muestra
Documentación de referencia de API, SDK, bibliotecas auxiliares, inicios rápidos y tutoriales para su idioma y plataforma.
Centro de Recursos
Los últimos libros electrónicos, informes de la industria y seminarios web
Aprenda de los expertos en participación del cliente para mejorar su propia comunicación.
Ahoy
Centro de la comunidad de desarrolladores de Twilio
Mejores prácticas, ejemplos de códigos e inspiración para crear comunicaciones y experiencias de participación digital.