THE COLORS OR FLAVORS OF THE PROTON AND NEUTRON

We have all heard of the proton and the neutron as they are both standard atomic particles that make up the nucleus of an atom. In other words, the proton and neutron are the basic building blocks of…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Detectando cambios con Zapier

Hace unos meses tuve la necesidad de conocer en qué momentos cambia el contenido de un servicio de datos concreto.

Mi primer impulso fue el de hacer un script que se ejecutase periódicamente, comprobase si el contenido había cambiado desde la última vez, me enviase un aviso a Slack para que me pitase el móvil, alojarlo en algún servidor, etc.

En lugar de eso, y tras buscar (sin éxito) un servicio que realizase esta función de manera automática, decidí configurarlo con Zapier.

Zapier es un servicio que te permite automatizar acciones entre diversas aplicaciones web. Actualmente tiene más de 1000 integraciones (RSS, Gmail, MailChimp, Twitter, wooComerce, Drobox, etc) con los que puede hacer diferentes operaciones en función del API del servicio. Además, tiene un componente que permite ejecutar tu propio código.

Como para esta funcionalidad yo iba a utilizar un servicio de datos a medida, tuve que escribir un poquito de código.

En mi caso planteé un pequeño flujo de dos acciones (lo que me permite de máximo la cuenta gratuita) en el que voy a ejecutar un trozo de código y el resultado de este se lo va a pasar a Pushbullet, que es un servicio que me permitirá enviar notificaciones push al móvil.

Zapier ejecuta la acción cada 15 minutos en la cuenta gratuita (lo que para mí es más que suficiente) y cada 5 minutos en las cuentas de pago.

Lo primero es establecer la aplicación que va a capturar los datos, en nuestro caso elegimos "Code by Zapier" ya que leeremos una url propia sin un formato reconocido por Zapier:

Yo voy a usar Python, pero también se puede ejecutar Javascript:

Aquí es donde viene lo importante: Zapier espera que envíes un array de objetos al siguiente paso de la manera que que lo indica en el ejemplo por defecto:

Este objeto ha de contener un campo "id" único para que el siguiente paso se ejecute. ¿Qué significa esto? Pues que si enviamos siempre el mismo "id", el siguiente paso sólo se ejecutará una vez.

Gracias a esto, lo que podemos hacer es que ese campo id corresponda con un hash que generemos con el contenido de la url.

En este ejemplo, descargo el contenido de una url y simplemente obtengo un hash de dicho contenido:

A partir de aquí, puedes crear las reglas que necesites para reconocer los cambios del fichero. Por ejemplo, podrías atender solo a un campo concreto del json.

Además del identificador, estoy enviando la url y todo el contenido del fichero, que podré utilizar en el siguiente paso si lo necesitásemos.

El siguiente paso es configurar el destino. En mi caso voy a utilizar Pushbullet, pero se podría enviar un mensaje a Slack, escribir un mail, enviar el contenido a un fichero de Dropbox, etc.

Este servicio tiene bastantes utilidades pero yo voy a utilizarlo sólo para poder enviarme notificaciones push, de otra manera tendría que crearme una aplicación para cada una de las notificaciones "genéricas" que quiero enviarme.

Para utilizarlo hay que descargarse la aplicación en tu teléfono y seguir las instrucciones para configurarlo.

Al seleccionar el servicio con el que queremos manejar la información nos indicará las acciones que podemos hacer con este:

En este caso no hay muchas opciones, pero en otros servicios nos podemos encontrar con bastantes funcionalidades. En este caso quiero enviar la url junto con el mensaje de texto:

Una opción interesante en este caso es que podemos recuperar información del json para usar en nuestro servicio:

Para este caso voy a utilizar la url, de manera que cuando pulse en la notificación push, me abrirá la url directamente.

Dependiendo del servicio de destino que utilicemos y la funcionalidad que escojamos, obtendremos un formulario diferente en el que configuraremos los valores de las acciones y mensajes. Así mismo, el servicio de origen podrá darnos diferente información en base a los datos obtenidos (una nueva entrada en un RSS, un nuevo pago en Stripe, etc).

Ya sólo quedaría darle un nombre y activarlo.

En conclusión, aunque sepamos y podamos desarrollar scripts y plugins para automatizar procesos en nuestro software o nuestras tareas, muchas veces es conveniente echar un vistazo a herramientas que nos hagan el trabajo.

Si bien estos servicios son de pago, o están limitados en sus versiones gratuitas, el ahorro de tiempo y esfuerzo merecen la pena.

Por mi parte no solo he encontrado que Zapier (o IFTTT) es una buena herramienta para ayudarme a automatizar procesos, sino que gracias a ellos he descubierto muchos servicios y herramientas interesantes.

Add a comment

Related posts:

More Insights concerning The Bio CBD Vape Oil

Vaping of bio CBD oil is a smokeless, squat-temperature strategy for breathing in CBD through vaporization. There are conceivable repayment of vaping CBD relying upon the individual, their specific…

Concurrency models for Cloud applications

With the advent of cloud computing and the elasticity introduced, we see the demand of more scalable/concurrent applications growing. Majority of the times we find those applications are i/o…

Funny Things Happen To Us On The Way To Old Age

As we get older funny things happen to us — okay some things aren’t so funny but they happen whether we want them to or not. Well, maybe they’re a little funny. Think about your parents and…