lunes, 16 de febrero de 2015

Tus propias Notificaciones Inteligentes - Parte 1 PushOver

Actualmente necesitamos estar enterados de muchas cosas en nuestro trabajo en especial si eres informático, saber si algun programa se ejecuta de manera correcta o si por alguna razón fallo en el momento es muy importante.

Crear una plataforma propia es un gran esfuerzo que puede ser molesto y caro, ya que es muy probable que tengamos que crear nuestra propia app con todo lo que eso con lleva.

Ahora existen soluciones que nos permiten por poco dinero o ninguno poder crear nuestras propias notificaciones.




Iniciaremos con PushOver

PushOver nos permite de manera sencilla y rápida crear notificaciones desde casi cualquier plataforma, lo único que necesitas es acceso a Internet y que la plataforma pueda hacer peticiones http.

PushOver tiene bastantes apps conectadas a el y con las que podrás enviar notificaciones:

  • Por email
  • Ifttt
  • Adium
  • Botize
  • Github
  • Moodle
  • WordPress
  • Drupal
  • Estos por mencionar algunos.

Pero el verdadero potencial de PushOver esta en que puedes crear tus propias app.

Antes de ver eso vamos a hablar de la parte más fea, el costo, Pushover tiene soporte para dispositivos Android, iOS y navegadores web, la licencia para usar cada una de estas app es de $4.99 una sola vez, la licencia de este dispositivo estará ligada a tu cuenta por lo que no podrás transferirla a menos que vamos usen la misma cuenta, lo cual puede ser un poco confuso. También se ofrece descuento por cantidades de licencias.

Regresando al tema, la parte que realmente llama la atención es la de poder crear nuestras propias apps 

Nos podemos registrar en la web de pushover.net de manera gratuita, aunque deben recordar que hay que pagar por las apps. 

Para crear nuestra propia app de manera gratuita necesitamos los siguientes datos:
  • Nombre de la app
  • Tipo que podemos elegir entre: plugin, website, Aplicacion, Script y otro.
  • Una descripción
  • Y un icono png de 32x32 opcional.

Luego que damos clic para generar la app, nos va a dar un API Key que junto al user key nos permitirá enviar las notificaciones, muy importante es que PushOver nos da por app 7500 notificaciones al mes, si necesitas mas hay que pagar paquetes que van desde las 10.000 ($50) notificaciones en adelante.




También se permite crear tu canal para suscripciones y una función muy útil que es crear grupos  donde puedes agregar por medio de userkey a varias personas para recibir notificaciones.

Ya que hemos hablado un poco sobre PushOver y algunas cosas básica entremos en materia, las notificaciones.

Aqui les dejo un ejemplo en Bash linux 
 

URL="https://api.pushover.net/1/messages.json"
API_KEY="XXXXXXXXXXXXXXXXXXXXXXX"
USER_KEY="XXXXXXXXXXXXXXXXXXXXXXX"
DEVICE="all"
SOUND="siren"
PRIORITY="1"
TITLE="Desde Linux"
MESSAGE="Hola Mundo!"
curl \
  -F "token=${API_KEY}" \
        -F "user=${USER_KEY}" \
        -F "device=${DEVICE}" \
        -F "title=${TITLE}" \
        -F "message=${MESSAGE}" \
        -F "sound=${SOUND}" \
        -F "priority=${PRIORITY}" \
"${URL}" > /dev/null 2>&1


Como pueden ver en el ejemplo, se usa cURL para enviar la petición http

User y Api Key son los datos que nos da la web de pushover.

Usamos varios parámetros device nos va permitir escoger a cual o cuales dispositivos queremos enviar la alerta, en este caso tenemos "all", pero se puede poner el nombre del dispositivo para enviar a uno solo.

Sound no permite escoger entre mas de 15 sonidos diferentes, para personalizar aun más la notificación, se puede omitir en caso de no querer usarla y sonara el sonido por defecto.

Priority 1 envía la notificación como de alta importancia, se puede omitir si es necesario además que tiene -2 no crear una alerta, -1 notificación silenciosa, 2 requiere aprobación del usuario.

Titulo y mensaje pues para enviar lo que necesitamos.

para ver otros parámetros puedes visitar https://pushover.net/api

En ejemplo vimos como usarlo en linux específicamente lo tengo corriendo en una Raspberry Pi con Raspbian pero también puede usarlo en:
  • Sql
  • PRTG
  • Nagios
  • Arduino
  • DomotiGa
  • PlexWatch
  • PHP
  • Python
  • Entre muchos otros
Ojala que este breve introducción a PushOver les ayude en algún proyecto, y para los que no tengan dinero para invertir una app de estas no se preocupen en la Parte 2 tendremos una opción a pushover gratis.