You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Calificar esta página:

Inicio rápido de Programmable Messaging para Java

Ahoy there! All messaging transmitted using Twilio’s messaging channels is treated as Application-to-Person (A2P) messaging and subject to Twilio’s Messaging Policy. For detailed information on policy rules to ensure you remain compliant while using Twilio’s services, please see our Acceptable Use Policy.

¿Estás listo para comenzar a enviar y recibir mensajes de texto con SMS programable de Twilio utilizando Java?

Este inicio rápido de SMS programable para Java te enseñará como hacerlo utilizando nuestra biblioteca auxiliar de Twilio Java para nuestra API REST de comunicaciones.

En este inicio rápido, aprenderás lo siguiente:

  1. Registrarte en Twilio y obtener tu primer número de teléfono habilitado para SMS
  2. Configurar tu entorno de desarrollo para enviar y recibir mensajes
  3. Envíe su primer SMS
  4. Recibir mensajes de texto entrantes
  5. Responder mensajes entrantes con un SMS

¿Prefieres comenzar viendo un video? Mira nuestro video de inicio rápido de SMS en Java en YouTube.

¡Muéstrame cómo se hace!

Regístrate (o inicia sesión) en tu cuenta de Twilio

¿Ya tienes una cuenta de Twilio? Avanza y omite esta sección.

Puedes registrarte en una cuenta de prueba gratuita de Twilio aquí.

  • Cuando te registres, deberás verificar tu número de teléfono personal. Esto ayuda a Twilio a verificar tu identidad y te permite enviar mensajes a tu teléfono desde tu cuenta Twilio mientras estés en el modo de prueba.
  • Una vez que hayas verificado el número, deberás crear un proyecto. En este tutorial, puedes hacer clic en la plantilla "Learn and Explore" (Aprende y explora). Asígnale un nombre al proyecto o simplemente haz clic en "skip remaining steps" (omitir los pasos restantes) para continuar con la opción predeterminada.
  • Después de haber creado el proyecto, accederás al panel de control de esta en la consola de Twilio. Aquí tendrás acceso a tu Account SID (SID de la cuenta) y Auth Token (token de autenticación), podrás buscar un número de teléfono de Twilio y más.
¡Ya tengo una cuenta! ¿Qué sigue?

Instala la CLI de Twilio

Necesitaremos utilizar la CLI (interfaz de línea de comandos) de Twilio para algunas tareas, así que procedamos a instalarla.

La manera recomendada de instalar twilio-cli en macOS es a través de Homebrew. Si aún no lo has instalado, visita el sitio web de Homebrew para ver las instrucciones de instalación y, luego, vuelve aquí.

Una vez que hayas instalado Homebrew, ejecuta el siguiente comando para instalar twilio-cli:

rew tap twilio/brew && brew install twilio

La manera recomendada de instalar twilio-cli es mediante el uso de Scoop, un instalador de línea de comandos para Windows. Si aún no lo has instalado, visita el sitio web de Scoop para ver las instrucciones de instalación y, luego, vuelve aquí.

Ten en cuenta que PowerShell necesitará ejecutarse como administrador para evitar los problemas de permisos habituales con la instalación a través de Scoop.

  1. Agrega el Bucket twilio-cli:
    scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
  2. Instala la app:
    scoop install twilio​

twilio-cli se puede instalar con la Herramienta Avanzada de Empaquetado (apt) que está disponible en la mayoría de las distribuciones, como Debian, Ubuntu y Mint.

Para hacerlo, ejecuta los siguientes comandos en tu terminal:

wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
  | sudo apt-key add -
sudo touch /etc/apt/sources.list.d/twilio.list
echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
  | sudo tee /etc/apt/sources.list.d/twilio.list
sudo apt update
sudo apt install -y twilio

Para conocer otros métodos de instalación, consulta el Inicio rápido de la CLI de Twilio.

Ejecuta twilio login para conectar la CLI de Twilio a tu cuenta. Visita https://www.twilio.com/console y encontrarás tu Account SID (SID de la cuenta) y Auth Token (token de autenticación) únicos para proporcionar la CLI.

Puedes mostrar tu auth token (token de autenticación) haciendo clic en el ícono del ojo:

Reveal Your Auth Token

Ahora a conseguir un número de teléfono…

Consigue un número de teléfono

Si actualmente no posees un número de teléfono de Twilio con la funcionalidad SMS, deberás comprar uno. Con la CLI, ejecuta esto:

twilio phone-numbers:buy:local --country-code US --sms-enabled

Reemplaza US con el código ISO-3166-1 de tu país si deseas tener un número de teléfono en otro lado. Si no encuentras ningún número habilitado para SMS, intenta buscar un número de teléfono celular en lugar de uno local: twilio phone-numbers:buy:mobile --country-code DE --sms-enabled

Selecciona un número de teléfono para agregarlo a tu cuenta.

A continuación, se deben instalar Java y la biblioteca auxiliar de Twilio Java.

¡No hay problema! Guíame a través de la configuración.

Configura tu entorno Java

¿Ya tienes preparado tu entorno de desarrollo Java y has configurado la biblioteca auxiliar de Twilio Java en tu ruta de clase? Puedes omitir las siguientes dos secciones y comenzar a enviar tu primer mensaje de texto con Twilio.

Para enviar tu primer SMS, deberás tener Java Standard Edition (SE) Developement Kit (JDK) instalado. En caso de que no sepas si tienes JDK instalado, ejecuta el siguiente comando para ver cuál versión tienes:

javac -version

Deberías ver algo similar a esto:

javac 1.8.0_92

El SDK de Twilio requiere Java SE versión 8 o superior, que aparecerá como número de versión "1.8" o superior cuando ejecutes el comando anterior.

Si tienes una versión anterior de Java o no tienes JDK, tendrás que instalar el JDK antes de continuar. Sigue las instrucciones a fin de instalar el Java SE Developement Kit para tu plataforma (Windows, Mac, Linux) desde la página de descarga de Java SE.

Descarga la biblioteca auxiliar de Twilio Java independiente

¿Ya tienes Java preparado y listo para usar? ¡Fantástico!

A continuación, descarga la biblioteca auxiliar de Twilio Java independiente. Con esta biblioteca, tendrás acceso a clases en Java que te ayudarán a llamar a la API de Twilio con Java, junto con todas las dependencias que necesitarás para comenzar. Utilizaremos este archivo "fat jar" con todas las dependencias en este inicio rápido de SMS. Cuando descargues el archivo "fat jar", asegúrate de que tenga un nombre similar a twilio-8.x-jar-with-dependencies.jar.

¿Prefieres utilizar Maven, Gradle y otra herramienta de construcción La documentación de la biblioteca auxiliar de Twilio Java cuenta con información sobre cómo realizar la instalación utilizando una herramienta de automatización de construcción.

Esta biblioteca auxiliar de Twilio Java no está diseñada para su uso en aplicaciones Android. Utiliza esta biblioteca para servidores, aplicaciones de línea de comandos y proyectos similares.

Si deseas enviar un SMS desde una aplicación móvil, deberías contar con un componente de servidor con tus credenciales de Twilio al cual tu app envíe una solicitud de HTTP. El envío de tu Account SID (SID de la cuenta) y Auth Token (token de autenticación) de Twilio a usuarios finales representa un riesgo de seguridad de tu cuenta Twilio.

¡Todo listo! Enviemos un mensaje de texto.

Envía un mensaje SMS saliente con Java

Ahora que terminamos de configurar el JDK y descargamos la biblioteca auxiliar de Twilio Java, podemos enviar un mensaje de texto saliente desde el número de teléfono de Twilio que acabamos de comprar con una solicitud de API única. Crea y abre un nuevo archivo denominado SmsSender.java y escribe o pega este ejemplo de código.

Loading Code Sample...
        
        
        
        Este código crea una nueva instancia del recurso de mensaje y envía una solicitud de HTTP POST a una URI de recurso de mensaje.

        Envía un SMS con Twilio y Java

        Este código crea una nueva instancia del recurso de mensaje y envía una solicitud de HTTP POST a una URI de recurso de mensaje.

        Necesitarás editar este archivo un poco más antes de que se envíe el mensaje:

        Reemplaza los valores de las credenciales del marcador de posición

        Intercambia los marcadores de posición para ACCOUNT_SID y AUTH_TOKEN con tus credenciales personales de Twilio. Ve a https://www.twilio.com/console e inicia sesión. En esta página, encontrarás tu Account SID (SID de la cuenta) y Auth Token (token de autenticación) únicos, los cuales necesitarás cada vez que envíes mensajes de esta manera a través de Twilio Client. Puedes mostrar tu auth token (token de autenticación) haciendo clic en el ícono del ojo:

        Abre SmsSender.java y reemplaza los valores de ACCOUNT_SID y AUTH_TOKEN con tus valores únicos.

        Ten en cuenta lo siguiente: está bien codificar de forma fija tus credenciales cuando comiences, pero debes utilizar variables de entorno para mantenerlas en secreto antes de implementarlas en producción. Consulta cómo configurar las variables de entorno para obtener más información.

        Reemplaza el número de teléfono "from"

        ¿Recuerdas el número de teléfono habilitado para SMS que compraste hace unos minutos? Utilízalo para reemplazar el número from (desde) existente, asegurándote de usar el formato E.164:

        [+][código del país][número de teléfono con el código de área]

        Reemplaza el número de teléfono "to"

        Reemplaza el número de teléfono to (para) por tu número de teléfono celular. Este puede ser cualquier número de teléfono que pueda recibir mensajes de texto, pero es una buena idea probar con tu propio teléfono, para que puedas ser testigo de la magia. Según se indicó anteriormente, utiliza el formato E.164 para este valor.

        Guarda los cambios y compila esta clase en Java desde tu terminal:

        javac -cp twilio-8.0.0-jar-with-dependencies.jar SmsSender.java

        Es necesario incluir el archivo JAR de Twilio con las dependencias para compilar nuestra clase desde la línea de comandos. Si estás utilizando un entorno de desarrollo integrado (IDE), como IntelliJ IDEA, Netbeans o Eclipse, puedes simplemente agregar ese archivo JAR de Twilio a tu ruta de clase o a tus bibliotecas de proyectos como cualquier otra dependencia. También puedes utilizar una herramienta de construcción, como Maven o Gradle para construir y ejecutar tu aplicación Java. Simplemente especifica la biblioteca auxiliar de Twilio como una dependencia.

        Una vez que hayas construido la clase en Java, deberás ejecutarla. Si la estás ejecutando desde la línea de comandos en macOs o Linux, el comando se verá así:

        java -cp .:twilio-8.0.0-jar-with-dependencies.jar SmsSender

        En Windows, el comando equivalente se ve así:

        java -cp ".;twilio-8.0.0-jar-with-dependencies.jar" SmsSender

        La diferencia es que en Windows, el separador de la ruta de clase en Java en la línea de comandos es un punto y coma y en macOs o Linux, son dos puntos.

        ¡Eso es todo! En un momento, deberías recibir un SMS desde tu número de Twilio en tu teléfono.

        ¿Tus clientes están en Estado Unidos o Canadá? También puedes enviarles mensajes MMS agregando solo una línea de código. Consulta esta guía para enviar MMS si deseas ver cómo hacerlo.

        Si estás en una cuenta de prueba gratuita de Twilio, tus mensajes SMS salientes están limitados a números de teléfono que hayas verificado con Twilio. Los números de teléfono se pueden verificar a través de la ID de agente de llamada verificado de tu consola de Twilio.

        ¡He enviado un mensaje! ¿Cómo los recibo?

        Recibe y envía mensajes SMS entrantes

        Cuando tu número de Twilio reciba un mensaje entrante, Twilio enviará una solicitud de HTTP a un servidor que tú controles. Este mecanismo de devolución de llamada se conoce como webhook. Cuando Twilio envía una solicitud a tu aplicación, espera una respuesta en formato TwiML XML con la instrucción de cómo responder el mensaje.

        Veamos cómo podríamos crear esto en Java utilizando el marco de aplicación web Spark. Spark es un marco de aplicación web ligero y es completamente diferente del software de macrodatos llamado Apache Spark.

        Spark requiere su propia biblioteca, independiente de la biblioteca auxiliar de Twilio Java, la cual puedes instalar utilizando las indicaciones en la página de descarga de Spark Java. Encontrarás indicaciones para utilizar Spark con Maven, Gradle o como una descarga independiente. Spark no cuenta con una implementación de registro, pero funciona con Simple Logging Facade 4 Java (SLF4J), que también puedes incluir en tu ruta de clase en Java.

        Sin duda, puedes configurar todas tus dependencias en la línea de comandos como lo hicimos anteriormente al momento de enviar un SMS a través de Twilio, pero es un poco más sencillo configurar todo con un entorno de desarrollo integrado (IDE) de Java. Utilizaremos la edición gratuita Community de IntelliJ IDEA, la cual puedes descargar desde JetBrains. Puedes descargar archivos JAR y utilizarlos directamente con IntelliJ IDEA o puedes usar un administrador de dependencias, como Maven o Gradle. Utilizaremos Gradle con IntelliJ IDEA para construir nuestra aplicación.

        Creación de una aplicación web con IntelliJ IDEA y Gradle

        Si no has descargado e instalado la edición Community de IntelliJ IDEA, ¡hazlo ahora! Después de ejecutar IDEA por primera vez, verás una pantalla como esta:

        Start IDEA

        Selecciona “Create New Project” (Crear nuevo proyecto) y se iniciará el asistente del nuevo proyecto:

        New Gradle Project with IntelliJ IDEA

        En el lado izquierdo de la casilla de diálogo, selecciona Gradle (en lugar de Java), con el fin de que IntelliJ IDEA configure que tu proyecto utilice Grade para la administración de dependencias. También podrías escoger Maven en su lugar, ya que el proceso es muy similar.

        Tras haber escogido Gradle, verifica que IntelliJ IDEA cuente con un SDK de proyecto (necesitarás Java 8 o superior, es decir, desde la versión 1.8 en adelante) y, luego, haz clic en Next (Siguiente).

        IntelliJ IDEA Project Name

        En la pantalla del asistente, se solicitará un group id, un artifact id y un version number. Para el group id (id de grupo), puedes utilizar una notación de nombre de dominio de inversa, como com.yourcompany.sms y para el artifact id (id de artefacto), deberías usar tu nombre de proyecto, como sms-quickstart-app. Puedes mantener la versión 1.0 SNAPSHOT. Tras haber rellenado estos campos, haz clic en Next (Siguiente).

        Gradle Settings

        En esta pantalla de configuración de Gradle, puedes mantener los valores predeterminados y, luego, hacer clic en Next (Siguiente).

        IntelliJ IDEA Project Creation

        Por último, puedes confirmar el nombre y directorio del proyecto que vas a utilizar para tu aplicación web de inicio rápido. Aquí, los valores predeterminados posiblemente también estén correctos. Al hacer clic en Finish (Finalizar), accederás a tu nuevo proyecto IntelliJ. Si acabas de instalar IntelliJ IDEA, el IDE descargará Gradle y llevará a cabo la configuración e instalación.

        IntelliJ IDEA Project Created

        Ahora que nuestro proyecto se encuentra configurado correctamente, solo quedan unos pocos pasos. Necesitaremos la biblioteca auxiliar de Twilio Java y el marco de aplicación web Spark Java como dependencias, junto con la implementación de registro, para que sea posible ver el estado de los mensajes desde Spark. Con Gradle, podemos agregarlos al archivo build.gradle que IntelliJ creó para nosotros. A continuación, busca build.gradle en la barra lateral y haz clic en él para abrirlo.

        Loading Code Sample...
              
              
              

              Java SMS Quickstart build.gradle

              Agregar dependencias en build.gradle

              Necesitarás agregar tres líneas a tu archivo build.gradle, en el grupo de dependencias:

              implementation group: "com.twilio.sdk", name: "twilio", version: "8.0.+"
              implementation group: "com.sparkjava", name: "spark-core", version: "2.7.1"
              implementation group: "org.slf4j", name: "slf4j-simple", version: "1.7.21"

              Con estas tres dependencias, Gradle descargará las bibliotecas apropiadas para ti y las agregará a la ruta de clase con el fin de crear y ejecutar tu aplicación Java.

              Ahora que ya completamos todo esto, ¡es hora de escribir un poco de código!

              Responder a mensajes de textos entrantes

              Tendremos que comenzar por crear una clase en Java en nuestro proyecto. En IntelliJ IDEA, selecciona la carpeta java bajo srcy main. Luego, abre el menú de File (Archivo) en la parte superior de la pantalla. Elige el submenú New (Nuevo) y, luego, Java Class (Clase en Java).

              Aparecerá una pequeña ventana emergente y podrás crear una nueva clase. Asigna un nombre a tu clase SmsApp. Las mayúsculas son importantes porque deben coincidir con el ejemplo de código.

              Ahora deberías tener un archivo de código fuente SmsApp.java. Copia y pega el código desde el ejemplo de código en el archivo de código fuente.

              Este código Java recibirá solicitudes HTTP GET a '/', responderá con "Hello Web," y recibirá solicitudes HTTP POST a '/sms' y responderá con el marcado TwiML para un mensaje SMS.

              Loading Code Sample...
                    
                    
                    
                    When your Twilio phone number receives an incoming message, Twilio will send an HTTP request to your server. This code shows how your server can reply with a text message using the Twilio helper library.

                    Respond to an incoming text message

                    When your Twilio phone number receives an incoming message, Twilio will send an HTTP request to your server. This code shows how your server can reply with a text message using the Twilio helper library.

                    Después de haber introducido el código, puedes hacer clic derecho en SmsApp class en la descripción del proyecto en el lado izquierdo y, luego, elegir el elemento de menú Run 'SmsApp.main()' [Ejecutar 'SmsApp.main()].

                    El servidor de aplicación web Spark Java comenzará a recibir información en el puerto 4567. Puedes probarlo en http://localhost:4567/, en tu navegador web.

                    Debes tener en cuenta una cosa importante: si realizas un cambio a tu código y deseas ejecutar el servidor nuevamente, necesitarás detener la aplicación que se ejecuta actualmente con el botón rojo de detener. Solo una aplicación puede usar el puerto 4567 a la vez, por lo que si ejecutas tu aplicación Java mientras una versión anterior aún se encuentra en ejecución, la aplicación nueva saldrá inmediatamente.

                    Ese es todo el código que se necesita. Solo queda un paso para que todo esté configurado.

                    Ya me estoy emocionando, ¡Conectemos nuestro Java a Twilio!

                    Configura la URL de tu webhook

                    Ahora, necesitas configurar tu número de teléfono de Twilio para llamar a la URL de tu webhook cada vez que llegue un nuevo mensaje. Simplemente, ejecuta el comando de la CLI, mediante el reemplazo del número de teléfono con tu número de teléfono de Twilio:

                    twilio phone-numbers:update "+15017122661" --sms-url="http://localhost:4567/sms"

                    La CLI iniciará un túnel de ngrok (para que Twilio pueda acceder a tu equipo de desarrollo). Luego, espera pacientemente los mensajes de texto entrantes.

                    Prueba tu aplicación con un mensaje

                    Ahora que todo está correctamente configurado, es momento de probarlo.

                    Envía un mensaje de texto desde tu teléfono celular a tu número de teléfono de Twilio. Twilio reenviará tu respuesta como un SMS.

                    ¡Funcionó! Está todo listo. ¿Qué sigue?

                    ¿Dónde ir a continuación?

                    Ahora que conoces los aspectos básicos del envío y recepción de mensajes de texto SMS con Java, te recomendamos consultar estos recursos.

                    ¡Disfrute este truco!

                    Calificar esta página:

                    ¿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.

                    Loading Code Sample...
                          
                          
                          

                          Gracias por tus comentarios.

                          Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

                          Enviando tus comentarios…
                          🎉 Gracias por tus comentarios.
                          Se produjo un error. Inténtalo de nuevo.

                          Gracias por tus comentarios.

                          thanks-feedback-gif