Nœud Webhook
Cette fonctionnalité est au stade final de développement et de test, elle sera disponible très bientôt ! Si vous souhaitez en savoir plus ou avez des questions
Présentation technique et capacités
Webhook Le nœud permet le déclenchement en temps réel d'actions spécifiques dans des systèmes externes. Il envoie des requêtes HTTP POST vers des points de terminaison spécifiés lors de la réception de données provenant de nœuds connectés. Il construit ensuite des charges utiles JSON personnalisées avec des attributs statiques et dynamiques, et exécute des appels API vers des services tiers.

Le nœud étend les capacités d'IoT Logic au-delà du traitement et de la transmission des données, permettant une intégration directe avec des plateformes de messagerie, des systèmes ERP et CRM, et des applications personnalisées pour initier des actions automatisées en fonction de la configuration de votre flux.

Comment fonctionnent les nœuds Webhook
Lorsque des données atteignent un nœud Webhook via une connexion entrante, il exécute immédiatement une requête HTTP POST vers le point de terminaison configuré. Le nœud :
Collecte les valeurs actuelles de tous les attributs à partir des nœuds en amont connectés
Remplace les références d'attributs dynamiques (par ex.,
$"speed") par les valeurs réelles du message entrantConstruit la charge utile JSON complète en préservant la structure que vous avez définie
Envoie la requête HTTP POST avec les en-têtes spécifiés vers le point de terminaison cible
Continue sans attendre de réponse, permettant au flux de se poursuivre immédiatement
Le webhook se déclenche une fois pour chaque message qui l'atteint. Si plusieurs branches parallèles envoient des données au webhook, il se déclenche séparément pour chaque message entrant. Cette exécution se produit de manière indépendante sans bloquer les autres nœuds du flux, garantissant un traitement continu des données indépendamment des temps de réponse des systèmes externes.
Intégration dans l'architecture du flux
Les nœuds Webhook fonctionnent comme des points de terminaison qui convertissent les données traitées des appareils en appels API externes. Plutôt que de diffuser en continu toutes les données des appareils comme les nœuds Output Endpoint, les webhooks exécutent des requêtes API ciblées avec des charges utiles précisément configurées. Cette architecture permet :
Automatisations événementielles: Déclencher des flux de travail externes en fonction des conditions des appareils, des métriques calculées ou de motifs de données spécifiques identifiés précédemment dans le flux
Transmission sélective des données: Envoyer uniquement les attributs pertinents aux systèmes externes, réduisant les transferts de données inutiles et les coûts d'API
Exécution parallèle: Fonctionner parallèlement à d'autres nœuds de sortie, permettant des déclenchements de webhook simultanés et un flux de données continu vers différentes destinations
Intégration multi-sources: Accepter des connexions entrantes provenant de plusieurs branches parallèles et accéder aux attributs de tous les nœuds connectés
Capacités du nœud
Le nœud Webhook propose :
Exécution HTTP POST: Envoie des requêtes HTTP POST personnalisées à tout point de terminaison accessible en utilisant les protocoles HTTP ou HTTPS (HTTPS recommandé)
Construction dynamique de la charge utile: Construit des corps de requête JSON combinant des valeurs statiques avec des attributs dynamiques provenant de n'importe où dans le flux en utilisant
$"attribute_name"syntaxeConfiguration d'en-têtes personnalisés: Prend en charge jusqu'à 10 en-têtes HTTP définis par l'utilisateur pour l'authentification et les exigences spécifiques aux API
Prise en charge des attributs imbriqués: Référence des structures d'attributs complexes incluant des objets imbriqués et des tableaux dans la charge utile JSON
Exécution indépendante: Se déclenche sans attendre les réponses ni bloquer le flux, permettant un fonctionnement fiable quel que soit la disponibilité du système externe
Options de configuration
Le nœud Webhook vous permet de définir comment votre flux communiquera avec des systèmes externes via des appels API HTTP.

Voyons quels éléments ce nœud utilise et ce que vous pouvez configurer lors de son utilisation.
Étapes de configuration
Spécifier le titre du nœud
Saisissez un nom descriptif qui identifie l'objet du webhook.
Utilisez des noms qui indiquent le service ou l'action cible (par ex., "Slack Speed Alerts" ou "CRM Ticket Creation")
Ce nom apparaît dans le diagramme du flux pour une identification facile
Configurer l'URL du point de terminaison
Saisissez l'URL complète où les requêtes POST seront envoyées.
Incluez le protocole :
http://ouhttps://(HTTPS fortement recommandé)Assurez-vous que l'URL pointe vers un point de terminaison API valide qui accepte les requêtes POST
Exemple :
https://api.example.com/v1/webhooks/device-alerts
Définir les en-têtes HTTP
Ajoutez tous les en-têtes requis par votre API cible.
Cliquez sur Add new pour créer des paires clé-valeur d'en-têtes
Tous les en-têtes sont configurés par l'utilisateur, y compris Content-Type
Les en-têtes courants incluent :
Content-Type: application/json(requis pour les charges utiles JSON)Authorization: Bearer <token>(pour l'authentification API)Clés API personnalisées ou en-têtes d'authentification selon les exigences du service
Cliquez sur l'icône de suppression pour retirer des en-têtes individuels
Construire le corps de la requête
Définissez la structure JSON qui sera envoyée au point de terminaison.
Saisissez une syntaxe JSON valide dans le champ Body
Utilisez
$"attribute_name"pour référencer n'importe quel attribut des nœuds connectésPrend en charge les structures JSON imbriquées et les tableaux
Les références d'attributs fonctionnent avec des chemins imbriqués (par ex.,
$"location.latitude")Si un attribut référencé est null ou n'existe pas, la valeur
nullsera envoyée dans le JSON
Exemple de corps de webhook avec des attributs dynamiques :
{
"alert_type": "speed_violation",
"device_id": $"device_id",
"current_speed": $"speed_mph",
"threshold_exceeded": 80,
"location": {
"lat": $"latitude",
"lng": $"longitude"
},
"timestamp": $"message_time",
"driver": $"hardware_key"
}Enregistrez votre configuration
Cliquez sur Apply pour enregistrer les paramètres du nœud webhook.
Comportement d'exécution du webhook
Le webhook s'exécute sans attendre les réponses du point de terminaison externe. Le succès ou l'échec de la requête webhook n'affecte pas la poursuite du fonctionnement du flux ni n'empêche les autres nœuds de traiter des données.
Actuellement, l'exécution des webhooks n'inclut pas de nouvelles tentatives automatiques, de journalisation des tentatives échouées ou de gestion des réponses. Si un point de terminaison renvoie une erreur ou expire, le webhook se déclenchera à nouveau lors du prochain message entrant. De futures mises à jour pourront inclure des limites de débit définies par la destination et la mise en file des requêtes.
Webhook vs diffusion continue de données
nœud Webhook diffère fondamentalement de nœud Output Endpoint en objectif et en mode d'exécution :
Exécute des appels API discrets sur chaque message, envoyant des charges utiles personnalisées que vous définissez. Idéal pour déclencher des actions externes, envoyer des notifications ou transmettre des données sélectives aux API REST.
Maintient des flux de données continus via MQTT, transmettant des données complètes des appareils au format Navixy Generic Protocol. Conçu pour la collecte continue de télémétrie et la surveillance en temps réel.
Choisissez les webhooks lorsque vous devez déclencher des automatisations externes ou n'envoyer que des attributs spécifiques aux points de terminaison API. Utilisez les output endpoints pour des flux de données continus vers des plateformes d'analyse ou des systèmes de surveillance. Les deux peuvent coexister dans le même flux.
Intégration avec des systèmes externes
Les nœuds Webhook excellent pour déclencher des actions pilotées par des événements dans des systèmes qui fournissent des API REST. Les modèles d'intégration courants incluent :
Plateformes de messagerie: Envoyer des notifications à Slack, Microsoft Teams, WhatsApp ou Telegram lorsque les conditions des appareils répondent à des critères spécifiques
Systèmes ERP: Synchroniser les données des appareils avec des plateformes de planification des ressources d'entreprise pour mettre à jour les niveaux d'inventaire, déclencher des flux d'approvisionnement ou enregistrer l'utilisation des équipements pour la planification de la maintenance
Systèmes de ticketing: Créer automatiquement des tickets de support ou des demandes de service dans des plateformes CRM lorsque des problèmes d'appareil sont détectés
Services d'alerte: Déclencher des SMS, des e-mails ou des notifications push via des services comme Twilio, SendGrid, ou Firebase lorsque des seuils sont dépassés
Automatisation des processus métier: Initier des flux de travail dans des outils comme Zapier, Make (Integromat) ou n8n en fonction de la télémétrie des appareils
Systèmes de télématique: Déclencher des actions ou automatisations spécifiques dans des solutions de télématique tierces en fonction des données traitées, permettant des flux de travail basés sur des événements tels que le recalcul d'itinéraires, les notifications aux conducteurs ou les mises à jour de statut dans des systèmes externes de gestion de flotte
Applications personnalisées: Activer la logique métier propriétaire en publiant des événements d'appareil vers des API internes
Questions fréquemment posées
Comment déclencher des webhooks uniquement sous des conditions spécifiques ?
Utilisez le nœud Logic pour implémenter une logique conditionnelle avant le webhook. Le nœud Logic peut évaluer les attributs de l'appareil et acheminer les données vers le webhook uniquement lorsque les conditions sont remplies. Pour plus de détails, voir la documentation du nœud Logic.
Puis-je utiliser plusieurs nœuds Webhook dans le même flux ?
Oui. Incluez plusieurs nœuds Webhook avec des configurations différentes pour déclencher divers systèmes externes en fonction des mêmes données d'appareil. Chaque webhook se déclenche indépendamment lorsqu'il reçoit des données.
Que se passe-t-il si la requête webhook échoue ?
Le webhook se déclenche sans attendre de réponse et ne réessaie pas automatiquement. Si le point de terminaison externe est indisponible ou renvoie une erreur, le flux continue de traiter normalement. Le webhook tentera de se déclencher à nouveau lorsque le message suivant arrivera. Actuellement, il n'y a pas de journalisation des tentatives de webhook échouées.
Comment m'authentifier auprès des API externes ?
Configurez l'authentification entièrement via des en-têtes personnalisés. Approches courantes :
Jetons Bearer: Ajouter l'en-tête
Authorizationavec la valeurBearer your_token_hereClés API: Ajouter des en-têtes personnalisés comme spécifié par votre fournisseur d'API
Authentification Basic: Ajouter l'en-tête
Authorizationavec la valeurBasic base64_encoded_credentials
Incluez toujours Content-Type: application/json comme en-tête lors de l'envoi de charges utiles JSON.
Puis-je référencer des attributs provenant de plusieurs nœuds connectés ?
Oui. Le nœud webhook peut accéder aux attributs de n'importe quel nœud qui lui est connecté, y compris les branches parallèles. Si plusieurs nœuds envoient des données au webhook, il se déclenche une fois pour chaque message entrant et peut référencer les attributs provenant du chemin source de ce message.
Quelles données puis-je inclure dans le corps du webhook ?
Vous pouvez inclure n'importe quelle combinaison de :
Valeurs statiques définies directement dans votre configuration JSON
Attributs dynamiques du flux en utilisant
$"attribute_name"syntaxeAttributs imbriqués provenant de structures de données complexes
Attributs calculés dans Initiate Attribute nodes ou traités via Logic nodes
Le corps doit être un JSON valide. Si un attribut référencé n'existe pas ou contient une valeur null, null sera envoyé dans le JSON.
Comment puis-je tester ma configuration de webhook ?
Actuellement, les tests nécessitent le déploiement du flux et la vérification des résultats au point de terminaison de destination. Configurez votre webhook, enregistrez le flux et envoyez des données de test pour vérifier que le système externe reçoit la charge utile attendue. Envisagez d'utiliser des services de test de webhook comme webhook.site ou RequestBin pendant le développement pour inspecter les requêtes exactes envoyées.
Mis à jour
Ce contenu vous a-t-il été utile ?