Inicio rápido de Programmable Messaging de Ruby
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.
Con unas pocas líneas de código, tu aplicación Ruby puede enviar y recibir mensajes de texto con SMS programable de Twilio.
Este inicio rápido de SMS en Ruby te enseñará cómo hacerlo con nuestra API REST de comunicaciones, la biblioteca auxiliar de Twilio Ruby y el marco Sinatra de Ruby para facilitar el desarrollo. Si prefieres utilizar Rails, consulta esta publicación del blog.
En este inicio rápido, aprenderás a realizar las siguientes acciones:
1. Registrarte en Twilio y obtener tu primer número de teléfono habilitado para SMS de Twilio
2. Configurar tu entorno de desarrollo para enviar y recibir mensajes
3. Enviar tu 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 Ruby en YouTube.
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 para obtener 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 tus proyectos 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.
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.
- Agrega el Bucket
twilio-cli
:
scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
- 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:
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 Ruby y la biblioteca auxiliar de Twilio Ruby.
Instala Ruby y la biblioteca auxiliar de Twilio
Si ya has visto uno de nuestros inicios rápidos de Ruby e instalado Ruby y la biblioteca auxiliar de Twilio Ruby, puedes omitir este paso y proceder directamente a enviar tu primer mensaje de texto.
Para enviar tu primer SMS, deberás tener Ruby y la biblioteca auxiliar de Twilio Ruby instalados.
Instala Ruby
Si estás utilizando un equipo Mac o Linux, probablemente ya tengas Ruby instalado. Para comprobarlo, abre un terminal y ejecuta el siguiente comando:
$ ruby --version
Deberías ver algo como esto:
ruby 2.7.2
Los usuarios de Windows pueden utilizar RubyInstaller para instalar Ruby.
El SDK de Ruby de Twilio está probado y es compatible con las versiones de Ruby, desde la 2.4 hasta la 3.0. (¿Tienes una versión anterior de Ruby? Puedes utilizar rbenv, RMV o Homebrew para actualizar dicho lenguaje a la versión mínima compatible).
Instala la biblioteca auxiliar de Twilio Ruby
La forma más fácil de instalar twilio-ruby es desde RubyGems.
gem install twilio-ruby
Instalación manual
También puedes clonar el código fuente para twilio-ruby e instalar la biblioteca desde allí.
"Permission Denied"
Si la línea de comandos muestra un mensaje de error largo que diga Permission Denied (Permiso denegado), intenta ejecutar los comandos anteriores con sudo: sudo gem install twilio-ruby.
Envía un SMS saliente con Ruby
Ahora que Ruby y twilio-ruby
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.rb
y escribe o pega este ejemplo de código.
Necesitarás editar este archivo un poco más antes de que se envíe tu mensaje:
Reemplaza los valores de los marcadores de posición de las credenciales
Intercambia los valores del marcador de posición de 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 “view” (ver):
Abre send_sms.rb
y reemplaza los valores de account_sid
y auth_token
con tus valores únicos.
Ten en cuenta esto: 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) con 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 el siguiente comando desde tu terminal:
ruby send_sms.rb
¡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.
Instala Sinatra y configura tu entorno de desarrollo
Para recibir y responder los mensajes SMS entrantes, tendremos que crear una aplicación web muy ligera que pueda aceptar solicitudes entrantes. Utilizaremos Sinatra para este inicio rápido, pero si prefieres utilizar Rails, puedes encontrar las instrucciones en esta publicación del blog.
En primer lugar, necesitas un Gemfile con el siguiente contenido.
# Gemfile
source 'https://rubygems.org'
gem 'sinatra'
gem 'twilio-ruby'
Los proyectos de Ruby utilizan Blunder para administrar las dependencias, por lo que el comando para incorporar Sinatra y el SDK de Twilio en nuestro entorno de desarrollo es bundle install
.
bundle install
...
Utiliza “bundle show [gemname]” para ver dónde se instaló una gema agrupada.
Crea una aplicación Sinatra simple
Para confirmar que nuestro entorno de desarrollo está configurado correctamente, podemos crear una aplicación Sinatra simple. Copia el siguiente código y suéltalo en un nuevo archivo denominado quickstart.rb
:
require 'sinatra'
get '/' do
"Hello World!"
end
Podemos intentar ejecutar nuestra nueva aplicación Sinatra con el comando ruby quickstart.rb
. A continuación, puedes abrir http://localhost:4567 en tu navegador y deberías ver el mensaje "Hello World!".
Recibe y envía mensajes SMS entrantes con Sinatra
Cuando alguien envía un SMS a tu número de teléfono de Twilio, este último realiza una solicitud de HTTP a tu servidor para solicitar instrucciones sobre qué hacer a continuación. Una vez que hayas recibido la solicitud puedes darle la instrucción a Twilio de que responda con un SMS, que inicie una llamada telefónica, que almacene los detalles del SMS en tu base de datos o que active cualquier otro proceso. Todo depende de ti.
Para este inicio rápido, vamos a configurar nuestra app Sinatra para que responda los mensajes SMS entrantes con un agradecimiento al remitente. Vuelve a abrir quickstart.rb
y actualiza el código para que se parezca a este ejemplo de código:
Guarda el archivo y reinicia la app con
ruby quickstart.rb
Vuelve a revisar que ngrok se siga ejecutando en tu puerto localhost. Ahora Twilio podrá encontrar tu aplicación, pero en primer lugar, debemos decirle dónde buscar.
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-quickstart"
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. Podrás ver que ocurren un par de cosas rápidamente:
- Tu servidor de desarrollo Sinatra detectará una nueva conexión
- Twilio reenviará tu respuesta como un SMS.
¿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 Ruby y Sinatra, te recomendamos consultar estos recursos.
- Explora la documentación de referencia de la API para Twilio SMS
- Aprende a crear una conversación SMS en Ruby
- Realiza un seguimiento del estado de tus mensajes con Ruby
- Envía un SMS durante una llamada telefónica
- Aprende a construir cosas geniales con TwilioQuest, nuestro juego interactivo que te enseña cómo utilizar Twilio a tu propio ritmo.
¡Nos emociona ver lo que construirás!
¿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.