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 SMS programable para Node.js

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.

En pocas líneas de código, tu aplicación Node.js puede enviar y recibir mensajes de texto con SMS programable de Twilio.

Este inicio rápido de SMS en Node.js te enseñará cómo hacerlo utilizando nuestra API REST de comunicaciones y la biblioteca auxiliar de Twilio Node.js.

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 de Node.js en YouTube.

¡Muéstrame cómo se hace!

Regístrate en Twilio y obtén un número de teléfono de Twilio

Si ya tienes una cuenta y un número de teléfono habilitado para SMS de Twilio, ya está todo listo. No dudes en avanzar al siguiente paso.

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 tu número, deberás responder una serie de preguntas para personalizar tu experiencia.
  • Tras haber finalizado el flujo de onboarding, accederás al panel de control de tu proyecto 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.

Si actualmente no posees un número de teléfono de Twilio con la funcionalidad SMS, deberás comprar uno. Después de explorar la página Buy a number (Compra un número), marca la casilla "SMS" y haz clic en "Search." (Buscar).

Buy a twilio phone number.png

A continuación, verás una lista de números de teléfono disponibles y sus funcionalidades. Busca un número que te parezca adecuado y haz clic en "Buy" (Comprar) para agregarlo a tu cuenta.

Select an SMS-enabled phone number

Excelente, ¡escribamos algo en JavaScript!

Si ya has visto uno de nuestros inicios rápidos de Node.js e instalado Node.js y la biblioteca auxiliar Twilio Node.js, puedes omitir este paso y proceder directamente a enviar tu primer mensaje de texto.

Para enviar tu primer SMS, deberás tener Node.js y el módulo Node.js de Twilio instalados.

Instala Node.js

Para comprobar si ya tienes instalado Node.js en tu equipo, abre un terminal y ejecuta el siguiente comando:

node --version

Deberías ver algo así:

$ node --version
v8.9.1

Si no tienes instalado Node.js, visita nodejs.org y descarga el instalador correspondiente a tu sistema. Una vez que hayas instalado Node, regresa a tu terminal y ejecuta el comando anterior nuevamente. Si no ves la versión de node instalada, es posible que debas volver a ejecutar tu terminal.

Instala el módulo Node.js de Twilio

Instala la biblioteca auxiliar de Twilio Node utilizando npm:

npm install twilio

Esto instalará el módulo “twilio” para que las secuencias de comandos de Node.js en el directorio actual puedan utilizarlo.

¡Todo listo! Enviemos un mensaje de texto.

Envía un mensaje SMS saliente con Node.js

Ahora que Node.js y la biblioteca de Twilio Node.js se encuentran instalados, 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 send_sms.js 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 Node.js

        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 accountSid y authToken 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.

        auth token reveal

        Abre send_sms.js y reemplaza los valores de accountSid y authToken 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 ejecuta este comando desde tu terminal:

        node send_sms.js
        

        ¡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 responde mensajes SMS entrantes con Express

        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 Node.js utilizando Express.

        En la línea de comandos en tu directorio, ejecuta el siguiente comando:

        npm install express
        

        Crea un archivo denominado “server.js” y utiliza el siguiente código para crear un servidor que pueda gestionar los mensajes entrantes.

        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.

              Ejecuta este servidor con el siguiente comando:

              node server.js
              

              Podrás ver que el servidor se iniciará en el puerto 1337.

              Antes de que Twilio pueda enviar las solicitudes de webhook de tu aplicación, deberás conseguir que esta sea accesible a través de Internet. Si bien puedes hacerlo de varias maneras, te recomendamos utilizar la CLI de Twilio durante el desarrollo local. A continuación, te mostraremos cómo hacerlo para que tu app pueda recibir mensajes.

              Bien, instalemos la CLI de Twilio.

              Instala la CLI de Twilio

              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, puedes utilizar la CLI para conectar tu número de teléfono a tu app Node.js.

              Configuremos mi app para recibir mensajes.

              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:1337/sms"

              ¿Qué está sucediendo aquí?

              Estamos utilizando la CLI de Twilio para configurar la URL del webhook de SMS para tu número de teléfono. Twilio realizará una petición a esta URL cada vez que se reciba un nuevo mensaje SMS. La CLI también está utilizando ngrok para crear un túnel que le permita a Twilio acceder a tu servidor de desarrollo local (también conocido como "localhost").

              También puedes utilizar la consola de Twilio para configurar un webhook en tu navegador web, pero tendrás que iniciar ngrok por ti mismo.

              Prueba la aplicación

              Asegúrate de estar ejecutando en la línea de comandos (en pestañas independientes) tanto el comando node server.js como tu comando twilio.

              Con ambos servidores en ejecución, estamos listos para la parte entretenida, que es probar nuestra nueva aplicación Express.

              Envía un SMS desde tu teléfono celular a tu número de teléfono de Twilio que está configurado con este webhook. Deberías ver una solicitud de HTTP en tu consola de ngrok. Tu app Express procesará el mensaje de texto y recibirás tu respuesta en forma de 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 y MMS con Node.js, 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