Tutorial

Aprende a usar Twilio REST API || Parte 3

En el capitulo pasado vimos como registrar una cuenta de usuario y obtuvimos nuestro numero gratis para realizar pruebas con la API de Twilio. Ahora es la oportunidad de trabajar con el servicio desde Python y enviar nuestro primer mensaje de texto.

Instalación de Twilio en el interprete Python

Para empezar debemos instalar el paquete oficial de Twilio que proporciona la correcta ejecucion del servicio mediante python, para ello usamos pip con el siguiente comando desde la terminal:

pip install twilio

Estructura y envió de SMS desde código.

Una vez hecho esto, podemos empezar a programar, pero necesitamos extraer de nuestra cuenta de usuario 2 datos importantes para establecer conexión, el primero es el ACCOUNT SID y el segundo AUTH TOKEN. Que los podemos encontrar dentro de la pagina Getting Started 

Twilio parte 3-1

Ahora hay que abrir nuestro interprete o archivo Python y escribir la primera linea, que sera la de importación, y como les comente, necesitamos dos variables ACCOUNT y TOKEN, así que las declaramos como en el siguiente ejemplo:

from twilio.rest import TwilioRestClient

ACCOUNT = '1jdnfjd93nfdskd9fjsdnsk' #Aqui escribir el Account SID de sus cuentas
TOKEN = '18jdnf0sjsns0djfn2nfo' #Aqui escribir el Auth Token de sus cuentas

Despues necesitamos indicarle a Python que se conecte con el servicio de Twilio y que este, nos genere un objeto que podremos usar para manipular la API, para ello vamos a usar la clase TwilioRestClient que hemos importado al principio y creamos una variable nueva que almacenara el pool de conexión.

mi_cuenta = TwilioRestClient(ACCOUNT, TOKEN)

Con esto, podremos usar las funciones principales del servicio, como es el envio de mensajes de texto mediante la instancia messages y el método create, dentro del pool de conexión mi_cuenta. En el siguiente ejemplo explicare a detalle:

mensaje = mi_cuenta.messages.create(to="+12316851234", from_="+15555555555",
                                 body="Hola mundo desde Python!")

Si observamos el código, tenemos 3 argumentos que nos pide create, el primero es to, el cual, permite indicar el numero de destino hacia donde llegara nuestro mensaje, recordemos que en el tutorial anterior yo les comente, que las cuentas de prueba solo permitían enviar mensajes a un solo numero y este debía ser verificado, así que por defecto el único numero que podemos usar para dicho argumento es con el que registramos nuestra de usuario. El siguiente argumento es from_, el cual indica el numero procedente del mensaje, por defecto para nuestras cuentas de prueba solo tenemos un numero, por lo tanto ese es el que anotaremos, cuando hagamos un upgrade (servicio de pago) podremos asociar mas de un numero a nuestra cuenta. Por ultimo el argumento body es aquel que contiene el cuerpo del mensaje que enviaremos por SMS. Cabe mencionar que los números se escriben con todo y su código de región, ademas cada mensaje de texto tiene un limite de 160 caracteres, si los rebasamos, Twilio segmentara el mensaje en dos partes al igual que los celulares convencionales.(Si usas un numero de pago seria doble gasto).

¿Porque declarar la variable mensaje? Bien, por lo regular para este tipo de ejemplos no es necesario, pero si necesitamos extraer informacion acerca del mensaje que se ha creado, podemos vaciar el contenido de la instancia que hizo la API dentro de mensaje, de manera que, podemos obtener por ejemplo, el ID de la peticion y asi conocer su status:

mensaje.sid

En nuestro Dashboard de Twilio cada operación queda debidamente registrada, lo cual es beneficioso, para tener un mayor control de las peticiones que hacemos.

Ahora muestro como quedaria nuestro codigo final:

from twilio.rest import TwilioRestClient

ACCOUNT = '1jdnfjd93nfdskd9fjsdnsk' #Aqui escribir el Account SID de sus cuentas
TOKEN = '18jdnf0sjsns0djfn2nfo' #Aqui escribir el Auth Token de sus cuentas
mi_cuenta = TwilioRestClient(ACCOUNT, TOKEN)

mensaje = mi_cuenta.messages.create(to="+12316851234", from_="+15555555555",
                                 body="Hola mundo desde Python!")
mensaje.sid

Ya sea que ejecutemos linea por linea dentro del interprete o ejecutemos el código desde un archivo .py, si nuestra cuenta o la información de los argumentos es valida, esperaremos unos segundos y en breve recibirás el mensaje de Texto a tu teléfono.

twilio parte 3 - 2

En el próximo tutorial tocaremos el tema de las llamadas a través de la API, sera un tanto extenso, porque debemos usar algo mas que solo python...hasta pronto!

Compartelo en:    

Acerca del Autor

Aarón Díaz R Software Developer

Soy desarrollador de software con experiencia en bases de datos y lenguajes de programación como Python, Java SE, Javascript, C y PHP.

  Comentarios



"El ser de las cosas, no su verdad, es la causa de la verdad en el entendimiento."

- Santo Tomás de Aquino