REST API - Post
Ce bloc fonction envoie des requêtes POST JSON à une adresse de serveur HTTP et renvoie la réponse du serveur. Il est conçu pour l'intégration avec des API REST externes tout en gardant l'interface utilisateur réactive.
📥 Inputs
Enable Condition — Signal logique pour démarrer une requête POST lorsque True.
Server Address — Champ texte pour l'endpoint complet du serveur (utilisez l'URL complète commençant par http:// ou https://).
Response Data ID — Nom de clé optionnel pour extraire un champ spécifique d'une réponse JSON.
Post Data — Charge utile générique qui sera envoyée en JSON dans le corps de la requête.
📤 Outputs
Status Code — Code HTTP renvoyé par le serveur.
Error — Message d'erreur ou raison lorsque la requête échoue.
Response — Corps de la réponse du serveur ou la valeur extraite si Response Data ID est fourni.
🕹️ Controls
Timeout (s) — Nombre de secondes avant l’expiration de la requête (ajustez selon la vitesse du serveur).
🎨 Features
Requêtes asynchrones : les opérations POST s'exécutent en arrière-plan pour que l'interface reste réactive.
Analyse de réponse optionnelle : si vous fournissez un
Response Data ID, le bloc tentera de retourner ce champ spécifique depuis une réponse JSON.Intégration simple : accepte une charge utile générique, vous pouvez envoyer des images, nombres, textes ou données structurées préparées par d'autres blocs.
⚙️ Mécanisme d'exécution
Lorsque Enable Condition est True et qu’un Server Address valide est fourni, le bloc envoie une requête POST avec la charge Post Data. La requête utilise le Timeout (s) configuré et s'exécute sans bloquer l'interface. Lorsque le serveur répond, le bloc met à jour ses sorties avec Status Code, Error (le cas échéant) et Response (ou le champ sélectionné).
📝 Instructions d'utilisation
Indiquez l'endpoint cible dans
Server Address(inclure http:// ou https://).Connectez ou préparez la charge utile sur l'entrée
Post Data(utilisez d'autres blocs pour construire des données structurées si nécessaire).Utilisez un signal logique sur
Enable Conditionpour déclencher l'envoi (par ex. un bascule manuelle ou un bloc conditionnel).Facultatif : définissez
Response Data IDpour extraire un champ spécifique de la réponse JSON du serveur.Ajustez
Timeout (s)si le serveur est lent ou pour éviter des attentes trop longues.
💡 Tips and Tricks
Utilisez
Logic InputouRising Edgepour contrôler quand la requête est envoyée (déclenchements single-shot ou contrôle manuel).Préparez des payloads structurés avec
Data to JSONavant de les fournir àPost Datapour un formatage JSON fiable.Utilisez
String Inputpour fournir leServer AddressouNumber Inputpour les champs numériques dans la charge.Enregistrez ou persistez les réponses avec
CSV ExportouImage Logger(si votre payload/réponse contient des images ou des horodatages).Associez avec
REST API - Getlorsque vous avez besoin d'interactions POST et GET avec le même service (par ex. envoyer des données puis interroger les résultats).Incluez
Date-TimeouDate-Time Listdans votre payload pour horodater les requêtes.Utilisez
Debug Inputpour inspecter la charge de la requête ou la réponse du serveur pendant le développement.
🛠️ Troubleshooting
Pas de réponse / erreur réseau : Vérifiez que
Server Addressest correct, accessible depuis la machine et inclut le protocole (http/https). Contrôlez le pare-feu ou la configuration réseau.Authentification requise : Assurez-vous que l'API cible accepte les POST non authentifiés ou ajoutez l’authentification nécessaire en dehors de ce bloc (par ex. via des en-têtes gérés par le serveur).
JSON invalide ou réponse inattendue : Utilisez
Data to JSONpour garantir un payload JSON valide, et consultez la documentation de l'API pour les noms de champs attendus. Si vous avez demandé unResponse Data IDet que le champ est absent, la sortieResponsepeut être vide.Timeouts : Augmentez
Timeout (s)pour des endpoints lents ou vérifiez la charge du serveur. Si les requêtes expirent fréquemment, testez le service séparément pour confirmer sa réactivité.Déclenchements répétés : Si vous voulez envoyer un seul POST par événement, utilisez
Rising Edgepour convertir un signal True continu en un seul déclencheur.
Si vous avez besoin d'exemples montrant comment chaîner ce bloc avec la mise en forme des données, la journalisation ou les contrôles de déclenchement, combinez-le avec des blocs tels que Data to JSON, Logic Input, Rising Edge, CSV Export et REST API - Get pour des schémas d'intégration courants.
Mis à jour