For the complete documentation index, see llms.txt. This page is also available as Markdown.

REST API - Get

This function block performs a HTTP GET request to a web server and provides the result to the rest of your system. Use it to fetch JSON or plain-text data from REST endpoints and forward the response to other blocks for parsing, logging or storage.

📥 Entradas

  • Enable Condition Cuando es True, el bloque intentará obtener datos de la dirección del servidor indicada. Úselo para controlar cuándo se realizan las solicitudes.

  • Server Address URL completa del servidor o endpoint de la API a consultar (por ejemplo, https://api.example.com/data).

  • Response Data ID Clave opcional o ruta para extraer un valor específico de una respuesta JSON. Déjelo vacío para devolver toda la respuesta.

📤 Salidas

  • Status Code Código de estado HTTP devuelto por el servidor.

  • Error Mensaje de error cuando la solicitud falló o el servidor devolvió un error.

  • Response Cuerpo de la respuesta del servidor. Puede ser texto plano o un valor JSON parseado dependiendo del endpoint y del Response Data ID.

🕹️ Controles

  • Timeout (s) Tiempo máximo (en segundos) para esperar la respuesta del servidor antes de considerar la solicitud fallida. El valor por defecto es 2 segundos.

🎯 Características

  • Ejecución no bloqueante: las solicitudes se realizan sin congelar la interfaz, de modo que otros bloques y controles siguen respondiendo mientras se espera la respuesta.

  • Extracción opcional de respuesta: use Response Data ID para obtener un solo campo de una respuesta JSON cuando solo necesite un valor específico.

  • Informe de errores: fallos comunes (errores de conexión, timeouts, códigos de estado no OK) se informan a través de la salida Error y el registro del sistema.

  • Timeout ajustable: evita esperas largas que detengan el flujo ajustando Timeout (s).

📝 Instrucciones de uso

  1. Envíe una señal booleana a Enable Condition cuando desee ejecutar la solicitud.

  2. Introduzca la URL del endpoint en Server Address.

  3. Si el endpoint devuelve JSON y solo necesita un valor, complete Response Data ID con la clave correspondiente (déjelo vacío para recibir toda la respuesta).

  4. Ajuste Timeout (s) si el servidor es lento o si prefiere un tiempo de fallo más corto.

  5. Lea los resultados desde las salidas Status Code, Error y Response y conéctelos a bloques posteriores para parseo, guardado o alertas.

📊 Evaluación

Cuando está habilitado y se proporciona una dirección de servidor válida, el bloque emite una solicitud GET y actualiza sus salidas al llegar una respuesta o producirse un error. Si no hay respuesta disponible, se proporcionan valores por defecto para que los bloques aguas abajo puedan seguir operando.

💡 Tips and Tricks

  • Para disparar una única solicitud cuando una condición pasa a True, combínelo con el bloque Rising Edge para convertir una señal True sostenida en un único disparo.

  • Si necesita hacer un POST después de inspeccionar la respuesta de un GET, empareje este bloque con REST API - Post.

  • Use Parse Data Dictionary o Data to JSON para extraer y formatear datos estructurados desde la salida Response antes de guardar o reenviar.

  • Para registrar o guardar respuestas repetidas de la API, conecte las salidas a CSV Export o SQL-DB Operations para almacenamiento persistente.

  • Use Debug Input para mostrar e inspeccionar las salidas crudas durante el desarrollo y la resolución de problemas.

  • Para reenviar datos obtenidos a brokers de mensajes o sistemas IoT, conecte los resultados a MQTT Publish.

🛠️ Solución de problemas

  • Problema: Sin respuesta o timeout.

    • Verifique la URL en Server Address y confirme el acceso de red al servidor. Aumente Timeout (s) para servidores lentos.

  • Problema: La salida Error contiene un estado o mensaje HTTP.

    • Consulte Status Code para determinar si el servidor informó un error de cliente o servidor (4xx/5xx). Confirme el endpoint y cualquier autenticación requerida con el proveedor de la API.

  • Problema: La respuesta es JSON pero no se encuentra el valor requerido.

    • Verifique que la clave o ruta en Response Data ID sea correcta. Si la estructura es anidada, use un bloque de parseo como Parse Data Dictionary para navegar el JSON.

  • Problema: Las solicitudes se ejecutan con demasiada frecuencia o en momentos no deseados.

    • Controle el tiempo de las solicitudes con Logic Input, Rising Edge u otros bloques de control de flujo para asegurarse de que las solicitudes se envíen solo cuando sea necesario.

Última actualización