Saltar al contenido principal

Open API

Ofrecemos en Gladys una Open API que permite a nuestros usuarios enviar datos desde fuera de su red.

Imagina que quiero enviar datos desde mi teléfono: mi ubicación, un evento cuando llego a casa, mi nivel de batería, un evento cuando mi teléfono está cerca de una etiqueta NFC, un evento cuando entro en una zona... Todo es posible con la Open API.

Requisitos previos​

Necesitas una suscripción de pago a Gladys Plus para usar la Open API.

Puedes suscribirte aquí.

Generar una nueva clave API​

Primero, debes crear una nueva clave API en Gladys Plus.

Ve a https://plus.gladysassistant.com/dashboard/settings/gateway-open-api.

Escribe un nombre para el dispositivo que usará tu clave API.

Generar una clave de la Open API

Haz clic en "Generar", luego copia la clave API y guárdala en algún sitio: nunca volverá a mostrarse.

Enviar un nuevo valor de sensor​

Ahora, vamos a enviar un nuevo valor de sensor.

Escenario del tutorial:

Supongamos que quieres enviar un evento cuando tu teléfono está en casa, y otro evento cuando tu teléfono ha salido de casa.

Crear un dispositivo en Gladys​

Puedes usar la integración "MQTT" para crear dispositivos, aunque no uses MQTT.

Vamos a crear un dispositivo para tu teléfono:

Crear un dispositivo en Gladys Assistant

Nota: indica que tu teléfono es un sensor de movimiento, porque es un dispositivo binario ideal para este caso de uso. En realidad aquí no importa mucho, ya verás cómo lo usamos :)

Apunta el "external_id" de la función para más adelante, lo necesitaremos en la API.

Enviar una petición a la API​

Ahora, vamos a enviar una petición a la Open API para decir "mi teléfono está en casa".

Enviaremos:

POST https://api.gladysgateway.com/v1/api/device/state/YOUR_OPEN_API_KEY

Body:
{
"device_feature_external_id": "mqtt:my-phone-presence",
"state": 1
}

Puedes probar la API con Insomnia.

Si quieres decir lo contrario (mi teléfono ha salido de casa), puedes enviar:

POST https://api.gladysgateway.com/v1/api/device/state/YOUR_OPEN_API_KEY

Body:
{
"device_feature_external_id": "mqtt:my-phone-presence",
"state": 0
}

Crear una escena en Gladys para marcar a tu usuario como "en casa"/"fuera de casa"​

Puedes crear 2 escenas en Gladys para marcar a tu usuario como "fuera de casa" o "en casa" según si tu teléfono está cerca de casa:

Escena de vuelta a casa

Escena de salida de casa

Usar Tasker o Atajos de iOS para activar esta API​

En Android, puedes usar el fantástico Tasker para enviar una petición a la API cuando entras en casa o sales de ella (basándote en lo que quieras: ubicación GPS, activador NFC, detección de Wi-Fi o cualquier cosa que se te ocurra).

En iOS, puedes usar Atajos.

Ejemplo con iOS:

Primer paso: instalar Atajos y crear un nuevo atajo​

Instala la app "Atajos" desde el App Store. Está hecha por Apple y es gratuita.

Después, crea un nuevo atajo y añade una nueva acción web:

Atajo de iOS para la Open API de Gladys Plus

Copia la URL de la Gateway y añade el cuerpo JSON.

  • El atributo "device_feature_external_id" debe ser un campo de texto
  • El atributo "state" debe ser un campo numérico

Atajo de iOS para la Open API de Gladys Plus

Puedes crear otro atajo para el evento "fuera de casa" duplicando el anterior y cambiando 1 por 0.

Atajo de iOS para la Open API de Gladys Plus

Ahora, podemos crear una automatización para que este atajo se ejecute automáticamente cuando llegues a casa:

Atajo de iOS para la Open API de Gladys Plus

Puedes hacer lo mismo para cuando salgas de casa.

También puedes añadir el atajo a tu pantalla de inicio si quieres activarlo manualmente:

Atajo de iOS para la Open API de Gladys Plus

Enviar la ubicación del teléfono con Owntracks​

También es posible enviar la ubicación de tu teléfono a Gladys usando la Open API y Owntracks:

Lee el tutorial en la documentación

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂