REST API - Post
Esta función envía solicitudes POST con JSON a una dirección de servidor HTTP y devuelve la respuesta del servidor. Está diseñada para integrarse con APIs REST externas manteniendo la interfaz de usuario receptiva.
📥 Entradas
Enable Condition — Señal lógica que inicia una solicitud POST cuando es True.
Server Address — Texto con la URL completa del endpoint del servidor (usar la URL completa que comience con http:// o https://).
Response Data ID — Nombre de clave opcional para extraer un campo específico de una respuesta JSON.
Post Data — Carga útil genérica que se enviará como JSON en el cuerpo de la solicitud.
📤 Salidas
Status Code — Código de estado HTTP devuelto por el servidor.
Error — Mensaje de error o motivo cuando la solicitud falla.
Response — Cuerpo de la respuesta del servidor o el valor extraído si se proporcionó Response Data ID.
🕹️ Controles
Timeout (s) — Número de segundos a esperar antes de que la solicitud expire (ajustar según servidores lentos/rápidos).
🎨 Características
Solicitudes asincrónicas: las operaciones POST se ejecutan en segundo plano para que la interfaz no se bloquee.
Análisis de respuesta opcional: si proporcionas
Response Data ID, el bloque intentará devolver ese campo específico del JSON de respuesta.Integración sencilla: acepta una carga útil genérica para enviar imágenes, números, texto o datos estructurados preparados por otros bloques.
⚙️ Mecanismo de ejecución
Cuando Enable Condition es True y se proporciona una Server Address válida, el bloque envía una solicitud POST con la carga Post Data. La solicitud usa el Timeout (s) configurado y se ejecuta sin bloquear la UI. Cuando el servidor responde, el bloque actualiza sus salidas con Status Code, Error (si hay) y Response (o el campo seleccionado de la respuesta).
📝 Instrucciones de uso
Proporciona el endpoint objetivo en
Server Address(incluyendo http:// o https://).Conecta o prepara la carga en la entrada
Post Data(usa otros bloques para construir datos estructurados si es necesario).Usa una señal lógica en
Enable Conditionpara disparar el envío (por ejemplo, un toggle manual o un bloque condicional).Opcionalmente, establece
Response Data IDpara extraer un campo específico del JSON devuelto por el servidor.Ajusta
Timeout (s)si el servidor es lento o para evitar esperas largas.
💡 Consejos y buenas prácticas
Usa
Logic InputoRising Edgepara controlar cuándo se envía la solicitud (disparos únicos o control manual).Prepara cargas estructuradas con
Data to JSONantes de conectarlas aPost Datapara asegurar un JSON válido.Usa
String Inputpara proporcionar laServer AddressoNumber Inputpara campos numéricos dentro de la carga.Registra o guarda respuestas con
CSV ExportoImage Logger(si la carga/respuesta contiene imágenes o marcas de tiempo).Combínalo con
REST API - Getcuando necesites interacciones POST y GET con el mismo servicio (por ejemplo, enviar datos y luego consultar resultados).Incluye
Date-TimeoDate-Time Listen la carga para marcar temporalmente las solicitudes.Usa
Debug Inputpara inspeccionar la carga o la respuesta del servidor durante el desarrollo.
🛠️ Solución de problemas
Sin respuesta / error de red: Verifica que
Server Addresssea correcta, accesible desde la máquina y que incluya el protocolo (http/https). Revisa firewall o configuraciones de red.Autenticación requerida: Asegúrate de que la API objetivo acepte POSTs no autenticados o agrega la autenticación que el servicio requiera fuera de este bloque (por ejemplo, mediante encabezados gestionados por el servidor).
JSON inválido o respuesta inesperada: Usa
Data to JSONpara validar la carga y consulta la documentación del API para los nombres de campo esperados. Si solicitaste unResponse Data IDy el campo falta, la salidaResponsepuede quedar vacía.Timeouts: Incrementa
Timeout (s)para endpoints lentos o revisa la carga del servidor. Si las solicitudes caducan con frecuencia, prueba el servicio por separado para confirmar su disponibilidad.Disparos repetidos: Si solo quieres enviar un POST por evento, usa
Rising Edgepara convertir una señal True contínua en un único disparo.
Si necesitas ejemplos de cómo encadenar este bloque con formateo de datos, registro o controles de disparo, combínalo con bloques como Data to JSON, Logic Input, Rising Edge, CSV Export y REST API - Get para patrones de integración comunes.
Última actualización