Nœud Webhook

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.

Les nœuds webhook sont configurés séparément pour chaque flux dans l'interface de la plateforme Navixy. Les nœuds webhook servent de points terminaux dans un flux et nécessitent au moins une connexion entrante pour fonctionner. Ils ne peuvent pas transmettre de données à des nœuds ultérieurs.

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 :

  1. Collecte les valeurs actuelles de tous les attributs à partir des nœuds en amont connectés

  2. Remplace les références d'attributs dynamiques (par ex., $"speed") par les valeurs réelles du message entrant

  3. Construit la charge utile JSON complète en préservant la structure que vous avez définie

  4. Envoie la requête HTTP POST avec les en-têtes spécifiés vers le point de terminaison cible

  5. 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" syntaxe

  • Configuration 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

1

Spécifier le titre du nœud

Saisissez un nom descriptif qui identifie l'objet du webhook.

  1. Utilisez des noms qui indiquent le service ou l'action cible (par ex., "Slack Speed Alerts" ou "CRM Ticket Creation")

  2. Ce nom apparaît dans le diagramme du flux pour une identification facile

2

Configurer l'URL du point de terminaison

Saisissez l'URL complète où les requêtes POST seront envoyées.

  1. Incluez le protocole : http:// ou https:// (HTTPS fortement recommandé)

  2. Assurez-vous que l'URL pointe vers un point de terminaison API valide qui accepte les requêtes POST

  3. Exemple : https://api.example.com/v1/webhooks/device-alerts

3

Définir les en-têtes HTTP

Ajoutez tous les en-têtes requis par votre API cible.

  1. Cliquez sur Add new pour créer des paires clé-valeur d'en-têtes

  2. Tous les en-têtes sont configurés par l'utilisateur, y compris Content-Type

  3. Les en-têtes courants incluent :

    1. Content-Type: application/json (requis pour les charges utiles JSON)

    2. Authorization: Bearer <token> (pour l'authentification API)

    3. Clés API personnalisées ou en-têtes d'authentification selon les exigences du service

  4. Cliquez sur l'icône de suppression pour retirer des en-têtes individuels

Maximum de 10 en-têtes pris en charge

4

Construire le corps de la requête

Définissez la structure JSON qui sera envoyée au point de terminaison.

  1. Saisissez une syntaxe JSON valide dans le champ Body

  2. Utilisez $"attribute_name" pour référencer n'importe quel attribut des nœuds connectés

  3. Prend en charge les structures JSON imbriquées et les tableaux

  4. Les références d'attributs fonctionnent avec des chemins imbriqués (par ex., $"location.latitude")

  5. Si un attribut référencé est null ou n'existe pas, la valeur null sera 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"
}
5

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.

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 :

nœud Webhook
nœud Output Endpoint

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 Authorization avec la valeur Bearer your_token_here

  • Clés API: Ajouter des en-têtes personnalisés comme spécifié par votre fournisseur d'API

  • Authentification Basic: Ajouter l'en-tête Authorization avec la valeur Basic 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" syntaxe

  • Attributs 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 ?