Inicio rápido de SMS programable de Python
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 una pocas líneas de código, tu aplicación Python puede enviar mensajes SMS con Twilio Programmable Messaging.
Este inicio rápido de Programmable Messaging te guiará a través de todo el proceso paso a paso, desde la configuración de tu cuenta de Twilio hasta el envío de un SMS utilizando un Messaging Service (Servicio de mensajería).
En este inicio rápido, aprenderás lo siguiente:
- Registrarte en Twilio y obtener tu primer número de teléfono habilitado para SMS
- Configurar tu entorno de desarrollo para enviar mensajes salientes
- Enviar tu primer SMS saliente
- Configurar tu primer Messaging Service (Servicio de mensajería) de Twilio
- Enviar un segundo SMS desde ese Messaging Service (Servicio de mensajería)
Al final de este inicio rápido, contarás con una base sólida para construir y escalar con Programmable Messaging de Twilio para tus casos de uso específicos.
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
Utilizaremos 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 Python y la biblioteca auxiliar de Twilio Python.
Instala Python y la biblioteca auxiliar de Twilio
Si ya has visto uno de nuestros inicios rápidos de Python e instalado Python y la biblioteca auxiliar de Twilio Python, puedes omitir este paso y proceder directamente a enviar tu primer mensaje de texto.
Para enviar tu primer SMS, deberás tener Python y la biblioteca auxiliar de Twilio Python instalados.
Instala Python
Si estás utilizando un equipo Mac o Linux, probablemente ya tengas Python instalado. Para comprobarlo, abre un terminal y ejecuta el siguiente comando:
python --version
Deberías ver algo como esto:
$ python --version
Python 3.4
Los usuarios de Windows pueden seguir este excelente tutorial para instalar Python en Windows, o bien pueden seguir las instrucciones de la documentación de Python.
El SDK del servidor de Python de Twilio es compatible con Python 2 y Python 3. Puedes utilizar cualquier versión para este inicio rápido, pero recomendamos Python 3 para proyectos futuros con Twilio, a menos que existan bibliotecas específicas que tu proyecto necesite y que sean compatibles solo con Python 2.
Instala el SDK del servidor de Twilio Python
La forma más sencilla de instalar la biblioteca es utilizando pip, un administrador de paquetes de Python que facilita la instalación de las bibliotecas que necesites. Simplemente ejecuta esto en el terminal:
pip install twilio
Si aparece el error pip: command not found
, también puedes utilizar easy_install
; para ello, ejecuta esto en tu terminal:
easy_install twilio
Si prefieres una instalación manual, puedesdescargar el código fuente (ZIP) para twilio-python
y, luego, instalar la biblioteca ejecutando:
python setup.py install
en la carpeta que contiene el código de la biblioteca del SDK del servidor twilio-python.
Envía un SMS saliente con Python
Ahora que Python y twilio-python
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.py
y escribe o pega este ejemplo de código.
Necesitarás editar tu archivo send_sms.py 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 enlace “view” (ver):
Abre send_sms.py
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.
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.
Cuando envías un SMS desde tu número de teléfono de prueba gratuito, siempre comenzará con "Sent from a Twilio trial account." (Enviado desde una cuenta de prueba gratuita de Twilio). Eliminaremos este mensaje después de la actualización.
Guarda los cambios y ejecuta este comando desde tu terminal:
python send_sms.py
¡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.
En este ejemplo de código, estamos realizando una solicitud POST al punto final del mensaje de la API de Programmable Messaging, para crear un nuevo mensaje saliente. Estamos utilizando el método create
integrado en la biblioteca twilio-python
, pero podrías realizar esta solicitud mediante la CLI de Twilio (que ya has instalado), curl o un módulo de solicitud de tu elección.
Consulta los ejemplos de código para enviar un SMS con la CLI de Twilio y curl. ¡No olvides actualizar los parámetros body
, to
y from
!
Configura un Messaging Service (Servicio de mensajería) de Twilio
Felicitaciones, has enviado tu primer SMS con Twilio Programmable Messaging y lo has recibido en tu dispositivo personal.
En este punto, hemos adquirido un número de teléfono de Twilio y lo hemos utilizado para enviar un SMS saliente. Puedes imaginar un futuro no muy lejano en el cual necesitarás una manera más sólida y con más funciones para enviar mensajes, por ejemplo:
- enviar muchos mensajes en poco tiempo;
- gestionar las suscripciones y cancelaciones de suscripciones;
- garantizar que tus clientes siempre reciban una experiencia de mensajería coherente con el mismo número de teléfono.
En la siguiente parte del inicio rápido, veremos cómo configurar tu primer Messaging Service (Servicio de mensajería). Un Messaging Service (Servicio de mensajería) es como un contenedor que almacena todos tus números de teléfono disponibles (y otros remitentes) y que incluye funciones que puedes necesitar durante tu recorrido de mensajería.
Crea un Messaging Service (Servicio de mensajería) con tu número de teléfono
Ejecuta el siguiente comando de la CLI de Twilio para crear un Messaging Service (Servicio de mensajería) que usaremos para enviar nuestro primer SMS programable.
twilio api:messaging:v1:services:create --friendly-name "My first Messaging Service"
Toma nota del SID del Messaging Service (Servicio de mensajería) (comienza con “MGXXX...”). Lo necesitaremos para enviar nuestro próximo mensaje.
A continuación, agrega el número de teléfono que acabas de comprar. ¿Ya olvidaste el número? No te preocupes, puedes registrarlo con la CLI de Twilio:
twilio phone-numbers:list
# Obtén el SID ("PNXXXX...") de tu número
Agrega tu número de teléfono a tu Messaging Service (Servicio de mensajería) recién creado con el siguiente comando:
twilio api:messaging:v1:services:phone-numbers:create --service-sid MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --phone-number-sid PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Envía un SMS desde tu Messaging Service (Servicio de mensajería)
El envío de un SMS saliente desde un Messaging Service (Servicio de mensajería) es similar al envío desde un número de teléfono de Twilio individual. La principal diferencia es el reemplazo del parámetro from_
por el messaging_service_sid
para indicar que se está enviando desde un número de teléfono dentro del conjunto de remitentes de tu Messaging Service (Servicio de mensajería). (Actualmente, solo hay un número de teléfono en tu conjunto de remitentes, por lo cual haremos el envío desde ese).
Reemplaza el parámetro messaging_service_sid
¿Recuerdas ese Messaging Service (Servicio de mensajería) que acabas de crear? En lugar del parámetro from_
y tu número de teléfono, utiliza el parámetro messaging_service_sid
con el "MGXXXX..." del SID de tu Messaging Service (Servicio de mensajería). Guarda los cambios y ejecuta este comando desde tu terminal:
python send_sms.py
¡Y ya está todo listo para enviar un SMS con Twilio Messaging Service (Servicio de mensajería)! En unos segundos, deberías recibir un segundo SMS en tu teléfono desde tu número de teléfono de Twilio. El Messaging Service (Servicio de mensajería) selecciona sin problemas y automáticamente tu número desde su conjunto de remitentes para enviar un segundo mensaje saliente.
¿Dónde ir a continuación?
Ahora que ya has enviado tu primer mensaje SMS, consulta los siguientes recursos para continuar tu recorrido de mensajería con Twilio:
- Obtén más información sobre mensajes entrantes con el artículo Recibir y responder mensajes SMS y MMS
- ¿Quieres enviar el mensaje desde WhatsApp? Consulta nuestro inicio rápido de WhatsApp para Python y nuestra guía para enviar notificaciones de WhatsApp con plantillas
- Crea notificaciones de servidor con Twilio Programmable Messaging
- Explora la documentación de referencia de la API para Twilio SMS
- Realiza un seguimiento del estado de tus mensajes con Python
¡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.