Workflow n8n

Automatisation Webhook avec n8n : récupération des taux de change

Ce workflow n8n a pour objectif de récupérer les taux de change de l'euro en réponse à des requêtes via un webhook. Il s'adresse aux entreprises qui souhaitent automatiser la gestion de leurs données financières en temps réel. Par exemple, une société de e-commerce pourrait l'utiliser pour afficher les prix en euros sur son site en fonction des taux de change actuels. Le processus commence par un déclencheur de webhook qui capte les requêtes entrantes. Ensuite, le workflow utilise un nœud HTTP pour obtenir les derniers taux de change de l'euro. Les données reçues, souvent au format XML, sont ensuite converties en JSON pour une manipulation plus facile. Une fois les données traitées, le workflow vérifie si une requête spécifique a été faite, permettant ainsi de filtrer les symboles de devise demandés. Enfin, le workflow répond à la requête avec les informations pertinentes, offrant ainsi une solution rapide et efficace pour la gestion des taux de change. Grâce à cette automatisation n8n, les entreprises peuvent réduire les erreurs manuelles et améliorer la réactivité de leurs systèmes d'information. Tags clés : automatisation, webhook, taux de change.

Catégorie: Webhook · Tags: automatisation, webhook, taux de change, n8n, API0

Vue d'ensemble du workflow n8n

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Détail des nœuds du workflow n8n

  • Respond All Items

    Ce noeud répond à un webhook en renvoyant tous les éléments demandés.

  • Respond Asked Item

    Ce noeud répond à un webhook en renvoyant l'élément spécifiquement demandé.

  • Incoming Webhook Trigger

    Ce noeud déclenche le workflow en recevant des requêtes via un webhook.

  • Get latest Euro exchange rates

    Ce noeud effectue une requête HTTP pour obtenir les derniers taux de change de l'euro.

  • Convert XML to JSON

    Ce noeud convertit des données au format XML en format JSON.

  • Split Out Data

    Ce noeud extrait des données spécifiques d'un ensemble de données.

  • If Webhook Trigger has URL query

    Ce noeud vérifie si le webhook déclencheur contient une requête URL avec des paramètres.

  • Filter the currency symbol

    Ce noeud filtre les données en fonction du symbole de la devise spécifié.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu, une largeur et une hauteur définies.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "29aba5a622661908a48f94e4ff4983d5d88a33ca233b57cebe114886a24f3172"
  },
  "nodes": [
    {
      "id": "85c8481e-9bc8-49ca-bce1-1d2d915829bd",
      "name": "Respond All Items",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2180,
        500
      ],
      "parameters": {
        "options": {},
        "respondWith": "allIncomingItems"
      },
      "typeVersion": 1
    },
    {
      "id": "194a1e37-ae2a-4142-a3f6-38161abbc20b",
      "name": "Respond Asked Item",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2180,
        280
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "9bb8cb37-9723-4f85-8878-f3b0abe5763f",
      "name": "Incoming Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        700,
        300
      ],
      "webhookId": "309c36da-224c-4023-b989-8f991502b625",
      "parameters": {
        "path": "eu-exchange-rate",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 1.1
    },
    {
      "id": "f1fe517a-bd74-45e0-b9df-9d7167d50068",
      "name": "Get latest Euro exchange rates",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        920,
        300
      ],
      "parameters": {
        "url": "={{ \"https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml?\" + Math.floor(Math.random() * (999999999 - 100000000 + 1)) + 100000000 }}",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "92d6936f-2c6f-4069-89bd-fe044664bb8b",
      "name": "Convert XML to JSON",
      "type": "n8n-nodes-base.xml",
      "position": [
        1140,
        300
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "a923e692-5da1-4e87-99c1-c22372a99d96",
      "name": "Split Out Data",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1360,
        300
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "['gesmes:Envelope'].Cube.Cube.Cube"
      },
      "typeVersion": 1
    },
    {
      "id": "6a1de054-ef7a-41d9-886c-f31d4801b83e",
      "name": "If Webhook Trigger has URL query",
      "type": "n8n-nodes-base.if",
      "position": [
        1580,
        300
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c3c32528-8f02-4414-be79-0cb8e18a4cbf",
              "operator": {
                "type": "object",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $('Incoming Webhook Trigger').item.json.query }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "be62a49c-36db-48cf-819a-0c004fa37a0e",
      "name": "Filter the currency symbol",
      "type": "n8n-nodes-base.filter",
      "position": [
        1880,
        280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b67b8d32-f164-473d-9822-78759b4ea827",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.currency }}",
              "rightValue": "={{ $('Incoming Webhook Trigger').item.json.query.foreign }}"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "99b449df-b350-4e35-ad9f-4555a7cacbc9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        860,
        100
      ],
      "parameters": {
        "width": 431.3108108108107,
        "height": 424.89189189189204,
        "content": "## Note\n* The HTTP request adds a randomized URL parameter to ensure getting the latest data by prevent caching.\n* The provided data is XML-formatted and therefore converted to JSON formatting.\n\nRead more about Euro foreign exchange reference rates [here](https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html)."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Split Out Data": {
      "main": [
        [
          {
            "node": "If Webhook Trigger has URL query",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert XML to JSON": {
      "main": [
        [
          {
            "node": "Split Out Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Incoming Webhook Trigger": {
      "main": [
        [
          {
            "node": "Get latest Euro exchange rates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter the currency symbol": {
      "main": [
        [
          {
            "node": "Respond Asked Item",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get latest Euro exchange rates": {
      "main": [
        [
          {
            "node": "Convert XML to JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Webhook Trigger has URL query": {
      "main": [
        [
          {
            "node": "Filter the currency symbol",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond All Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises de e-commerce, aux agences de voyage et à toute organisation ayant besoin de suivre les fluctuations des taux de change en temps réel. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, capables de configurer des webhooks et d'interagir avec des API.

Problème résolu

Ce workflow résout le problème de la mise à jour manuelle des taux de change, ce qui peut entraîner des erreurs et des retards dans la communication des prix. En automatisant ce processus, les entreprises peuvent garantir que leurs clients reçoivent toujours des informations précises et à jour, ce qui améliore l'expérience utilisateur et réduit le risque de perte de revenus due à des prix incorrects.

Étapes du workflow

Étape 1 : Le workflow commence par un déclencheur de webhook qui capte les requêtes entrantes. Étape 2 : Ensuite, il effectue une requête HTTP pour obtenir les derniers taux de change de l'euro. Étape 3 : Les données reçues au format XML sont converties en JSON pour faciliter leur utilisation. Étape 4 : Le workflow vérifie si une requête spécifique a été faite, permettant de filtrer les symboles de devise demandés. Étape 5 : Enfin, le workflow répond à la requête avec les informations pertinentes sur les taux de change.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, vous pouvez modifier l'URL du webhook pour l'adapter à votre application. Il est également possible de changer l'API utilisée pour obtenir les taux de change, en ajustant le nœud HTTP. Si vous souhaitez ajouter d'autres devises, vous pouvez adapter les conditions dans le nœud 'Filter the currency symbol'. Assurez-vous de tester le flux après chaque modification pour garantir son bon fonctionnement. Enfin, pensez à sécuriser votre webhook en ajoutant des validations d'authentification si nécessaire.