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 ConditionCuando es True, el bloque intentará obtener datos de la dirección del servidor indicada. Úselo para controlar cuándo se realizan las solicitudes.Server AddressURL completa del servidor o endpoint de la API a consultar (por ejemplo, https://api.example.com/data).Response Data IDClave opcional o ruta para extraer un valor específico de una respuesta JSON. Déjelo vacío para devolver toda la respuesta.
📤 Salidas
Status CodeCódigo de estado HTTP devuelto por el servidor.ErrorMensaje de error cuando la solicitud falló o el servidor devolvió un error.ResponseCuerpo de la respuesta del servidor. Puede ser texto plano o un valor JSON parseado dependiendo del endpoint y delResponse 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 IDpara 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
Errory el registro del sistema.Timeout ajustable: evita esperas largas que detengan el flujo ajustando
Timeout (s).
📝 Instrucciones de uso
Envíe una señal booleana a
Enable Conditioncuando desee ejecutar la solicitud.Introduzca la URL del endpoint en
Server Address.Si el endpoint devuelve JSON y solo necesita un valor, complete
Response Data IDcon la clave correspondiente (déjelo vacío para recibir toda la respuesta).Ajuste
Timeout (s)si el servidor es lento o si prefiere un tiempo de fallo más corto.Lea los resultados desde las salidas
Status Code,ErroryResponsey 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 Edgepara 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 DictionaryoData to JSONpara extraer y formatear datos estructurados desde la salidaResponseantes de guardar o reenviar.Para registrar o guardar respuestas repetidas de la API, conecte las salidas a
CSV ExportoSQL-DB Operationspara almacenamiento persistente.Use
Debug Inputpara 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 Addressy confirme el acceso de red al servidor. AumenteTimeout (s)para servidores lentos.
Problema: La salida
Errorcontiene un estado o mensaje HTTP.Consulte
Status Codepara 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 IDsea correcta. Si la estructura es anidada, use un bloque de parseo comoParse Data Dictionarypara 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 Edgeu otros bloques de control de flujo para asegurarse de que las solicitudes se envíen solo cuando sea necesario.
Última actualización