HTTP
Incluida en Macro DeckEnvía solicitudes HTTP desde un botón y guarda valores de la respuesta en variables.
La página de la integración HTTP con el interruptor activado y sin opciones de configuración
- GET, POST, PUT, PATCH, DELETE y más, con parámetros de consulta y cabeceras
- Autenticación basic, con token bearer o con una cabecera de clave de API
- Cuerpos JSON, de formulario, de texto y de subida de archivos
- Guarda el estado, las cabeceras o valores JSON en variables
- Variables en los valores de los parámetros de consulta y las cabeceras
La integración HTTP envía solicitudes web desde Macro Deck. Úsala para llamar a un webhook, controlar un dispositivo de tu red que tenga una API web, o leer un valor de un servicio en línea y mostrarlo en un botón. Viene con Macro Deck y está activada desde el principio, así que no hay nada que conectar ni ningún sitio en el que iniciar sesión.
Dos acciones
Enviar solicitud HTTP crea una solicitud completa. Eliges el Método, introduces la URL y añades Parámetros de consulta y Cabeceras como pares de nombre y valor. En Tipo de cuerpo eliges none, json, form, text o multipart (una subida de archivo con campos de formulario adicionales). Autenticación ofrece basic (nombre de usuario y contraseña), bearer (un token) y header (un token en una cabecera con el nombre que elijas, por ejemplo X-Api-Key). Estado esperado decide qué respuestas cuentan como correctas, 2xx de forma predeterminada. También puedes establecer el Tiempo de espera, desactivar Seguir redirecciones y limitar el Tamaño máximo de respuesta (bytes).
Capturas guarda partes de la respuesta en variables. Cada línea empareja un nombre de variable con un selector: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> o una ruta JSON como data.items[0].name. Si la variable aún no existe, se crea.
Obtener valor JSON es la forma corta de leer un solo valor: introduce la URL, una Ruta JSON y la variable en Guardar en variable.
Ejemplos
- Un botón que publica
{"text": "Stream is live"}en un webhook de chat con Enviar solicitud HTTP y el tipo de cuerpojson. - Un botón que enciende un enchufe inteligente de tu red a través de su API web local.
- Un botón que lee el precio actual de una API pública con Obtener valor JSON y lo muestra en su etiqueta con
{{ vars.price }}. - Un flujo que envía una solicitud, captura
$statusy usa Si / Si no para poner el botón en rojo cuando el servidor no responde con200.
Los valores de los parámetros de consulta y las cabeceras pueden contener variables, por ejemplo {{ vars.channel }}. La solicitud se ejecuta en el ordenador en el que se ejecuta Macro Deck, así que direcciones como http://192.168.1.20 llegan a los dispositivos de la red de ese ordenador. Una acción falla con un mensaje claro cuando no se puede llegar al servidor, se agota el tiempo de la solicitud, se rechaza el certificado TLS o el estado no es el esperado.
Qué necesitas
- Macro Deck 3 en Windows, macOS o Linux
- La dirección de la API web o del webhook al que quieres llamar
- Una clave de API, un token o una contraseña, si el servicio lo necesita
Configúrala
Paso 1: Comprueba que la integración esté activada
En Macro Deck, haz clic en Integraciones en la barra lateral y después en HTTP. El interruptor de arriba a la derecha está activado de forma predeterminada; actívalo si está desactivado. No hay nada que configurar: la pestaña Resumen muestra No hay opciones de configuración disponibles para esta integración.
Paso 2: Añade una acción HTTP a un botón
En la página Deck, haz clic en un botón. El deck tiene que estar desbloqueado: lo está cuando arriba a la derecha aparece el botón Bloquear. El editor se abre con Pulsación corta seleccionada. Haz clic en + Añadir acción, selecciona HTTP a la izquierda del cuadro de diálogo Añadir acción y elige Enviar solicitud HTTP, u Obtener valor JSON si solo quieres leer un valor. También puedes escribir el nombre en Buscar acciones….
Paso 3: Introduce la solicitud
Elige el Método e introduce la URL. Añade Parámetros de consulta y Cabeceras si la API los necesita. Para una solicitud con datos, elige el Tipo de cuerpo y rellena el Cuerpo JSON, los Campos del formulario o el Cuerpo de texto.
Paso 4: Añade la autenticación
Si el servicio necesita un inicio de sesión o una clave, elígelo en Autenticación:
basiccon Nombre de usuario y Contraseña / token,bearercon el token en Contraseña / token, oheadercon el Nombre de la cabecera y la clave en Contraseña / token. La mayoría de los servicios muestran sus claves de API o tokens en los ajustes de la cuenta o de desarrollador.Paso 5: Guarda valores de la respuesta
Para usar la respuesta, añade líneas en Capturas: un nombre de variable y un selector como
$statuso una ruta JSON comodata.temperature. Con Obtener valor JSON, introduce la Ruta JSON y elige la variable en Guardar en variable.Paso 6: Prueba el botón
Haz clic en Ejecutar en el editor para enviar la solicitud al momento, o guarda y pulsa el botón. Si la acción falla, su mensaje te dice por qué, por ejemplo que no se pudo llegar al servidor o que el estado no coincide con Estado esperado.
Acciones2
Ponlas en un botón o ejecútalas desde un flujo.
- Enviar solicitud HTTP
- Envía una solicitud HTTP configurable y puede capturar la respuesta en variables.
- Obtener valor JSON
- Obtiene una URL y escribe un valor de la respuesta JSON en una variable.
Preguntas frecuentes
¿Dónde se guardan mis claves de API y contraseñas?
Lo que introduces en Contraseña / token se guarda cifrado y solo se convierte en texto sin cifrar al enviar la solicitud. Los valores que escribes en Cabeceras se guardan sin cifrar y viajan dentro de los perfiles exportados, así que pon las claves y los tokens en los campos de autenticación.
¿Puedo llamar a un dispositivo de mi red local?
Sí. La solicitud se envía desde el ordenador en el que se ejecuta Macro Deck, así que funciona cualquier dirección a la que llegue ese ordenador. Para un dispositivo con un certificado autofirmado puedes desactivar Validar certificado TLS, pero hazlo solo con dispositivos de tu propia red.
¿Por qué falla la acción aunque el servidor respondió?
La respuesta no coincidió con Estado esperado, que es 2xx de forma predeterminada. Introduce el código de estado que devuelve realmente la API, un rango como 200-204, una lista, o any para aceptar cualquier estado. Obtener valor JSON siempre espera una respuesta 2xx.
¿Qué rutas JSON puedo usar?
Usa puntos e índices, por ejemplo data.items[0].name o [0].id, o $ para todo el documento. En Capturas, los selectores reservados como $status tienen prioridad, así que un campo que realmente se llama status se lee con $.status.
¿Tengo que crear las variables antes?
No. Cuando una captura o Guardar en variable nombra una variable que no existe, Macro Deck la crea. Si ya existe una variable con ese nombre pero de otro tipo, el guardado falla con un mensaje.
Más en Hogar inteligente y web
Home Assistant
Incluida en Macro DeckEnciende y apaga luces, ejecuta escenas y scripts, y muestra en tu deck los estados en directo de tu Home Assistant.
AdGuard Home
Incluida en Macro DeckActiva, desactiva o pausa la protección de AdGuard Home y muestra sus estadísticas en tu deck.
Feeds RSS
Incluida en Macro DeckSigue feeds RSS y Atom, muestra sus artículos más recientes en widgets y reacciona cuando llegan artículos nuevos.
Clima
Incluida en Macro DeckMuestra en tu deck el tiempo actual y el pronóstico de tus ubicaciones, sin clave de API.