Workflow n8n

Automatisation API avec n8n : requêtes vers GetBible

Ce workflow n8n a pour objectif d'automatiser les requêtes vers l'API GetBible, permettant ainsi d'accéder facilement à des versets bibliques ou à des informations spécifiques. Idéal pour les développeurs et les équipes de contenu souhaitant intégrer des références bibliques dans leurs applications ou sites web, ce workflow simplifie le processus de récupération des données. En utilisant un déclencheur d'entrée, le workflow commence par recevoir des paramètres d'entrée, puis exécute un code JavaScript pour préparer la requête. Ensuite, il effectue une requête HTTP vers l'API GetBible pour récupérer les données souhaitées. Une fois les données obtenues, un nœud de mapping est utilisé pour structurer la réponse de l'API et l'assigner à des variables spécifiques. Cette automatisation n8n permet de gagner du temps en évitant les requêtes manuelles répétitives et en assurant une intégration fluide des données bibliques dans divers projets. Les utilisateurs bénéficient d'une solution efficace qui réduit les erreurs humaines et optimise le flux de travail, tout en améliorant la productivité globale.

Tags clés :APIautomatisationn8ndéveloppementintégration
Catégorie: Manual · Tags: API, automatisation, n8n, développement, intégration0

Workflow n8n développement : vue d'ensemble

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

Workflow n8n développement : détail des nœuds

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Entry

    Ce noeud déclenche l'exécution d'un workflow en fonction d'une source d'entrée donnée.

  • ModelJson

    Ce noeud exécute un code JavaScript pour traiter des données ou effectuer des calculs.

  • API Query to GetBible

    Ce noeud effectue une requête HTTP pour récupérer des données depuis une API spécifiée.

  • Map API Respons to Result

    Ce noeud mappe les réponses de l'API à des résultats spécifiques en utilisant des options et des affectations.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "gqwYlZvL1dwy9W3T",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "getBible Query v1.0",
  "tags": [],
  "nodes": [
    {
      "id": "37e21e75-6f18-45fc-9b74-860c1e095b83",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -320
      ],
      "parameters": {
        "width": 780,
        "height": 1720,
        "content": "# GetBible Query Workflow Documentation\n\n## Overview\n\nThe **GetBibleQuery** workflow is a modular and self-standing workflow designed to retrieve scriptures based on provided references. It serves as an intermediary layer that takes in a structured JSON object, extracts the references, and returns the corresponding scriptures in the same format as if they were retrieved directly from the API.\n\nThis workflow is highly adaptable and can be integrated into various projects where scriptural references need to be dynamically fetched.\n\n## JSON Input Structure\n\nThe workflow expects a JSON object with the following parameters:\n\n - References should include the book name, chapter, and verse(s). \n - Multiple verses can be separated by commas (e.g., `John 3:16,18`).\n - Ranges can be specified using a dash (e.g., `John 3:16-18`).\n - The Bible [translation](https://api.getbible.net/v2/translations.json) to be used.\n - Specifies the API version (v2)\n\n### Example JSON Input:\n\n```json\n{\n  \"references\": [\n      \"1 John 3:16\",\n      \"Jn 3:16\",\n      \"James 3:16\",\n      \"Rom 3:16\"\n  ],\n  \"translation\": \"kjv\",\n  \"version\": \"v2\"\n}\n```\n\n### API Response Format\n\nThe response returned by this workflow follows the same API format as if the request were made directly to the source API. This ensures compatibility with projects that rely on standard API responses.\n\nExample JSON Response (in this workflow):\n```json\n{\n  \"result\": {\n    \"kjv_62_3\": {\n      \"translation\": \"King James Version\",\n      \"abbreviation\": \"kjv\",\n      \"lang\": \"en\",\n      \"language\": \"English\",\n      \"direction\": \"LTR\",\n      \"encoding\": \"UTF-8\",\n      \"book_nr\": 62,\n      \"book_name\": \"1 John\",\n      \"chapter\": 3,\n      \"name\": \"1 John 3\",\n      \"ref\": [\n        \"1 John 3:16\"\n      ],\n      \"verses\": [\n        {\n          \"chapter\": 3,\n          \"verse\": 16,\n          \"name\": \"1 John 3:16\",\n          \"text\": \"Hereby perceive we the love of God, because he laid down his life for us: and we ought to lay down our lives for the brethren.\"\n        }\n      ]\n    }\n  }\n}\n```\n\n## Integration and Usage\n\nThe GetBible Query workflow is designed for easy integration into any project that requires scripture retrieval. Simply pass the appropriate JSON object as input, and it will return the requested scripture passages.\n\n## Support\n\nFor any questions or additional assistance, please visit our [Support desk](https://git.vdm.dev/getBible/support) or [API documentation](https://getbible.net/docs)"
      },
      "typeVersion": 1
    },
    {
      "id": "8d5da846-fd1b-48f6-8199-2f9a3a4c99b5",
      "name": "Entry",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "inputSource": "jsonExample",
        "jsonExample": "{\n  \"references\": [\n      \"1 John 3:16\",\n      \"Jn 3:16\",\n      \"James 3:16\",\n      \"Rom 3:16\"\n  ],\n  \"translation\": \"kjv\",\n  \"version\": \"v2\"\n}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "17444cd4-4ec3-4d8f-9f9d-29369632c420",
      "name": "ModelJson",
      "type": "n8n-nodes-base.code",
      "position": [
        220,
        0
      ],
      "parameters": {
        "jsCode": "// Loop over input items and process the 'references' field\nfor (let item of $input.all()) {\n  // Check if 'references' exists and is an array\n  if (Array.isArray(item.json.references)) {\n    item.json.references = item.json.references.join('; ');\n  } else {\n    // Handle cases where 'references' is missing or not an array\n    item.json.references = 'John 3:16';\n  }\n}\n\n// Return the modified items\nreturn $input.all();"
      },
      "executeOnce": true,
      "retryOnFail": false,
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "b392423f-22d7-4b3f-8e25-9c703c33c78d",
      "name": "API Query to GetBible",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        460,
        0
      ],
      "parameters": {
        "url": "=https://query.getbible.net/{{ $json.version || 'v2' }}/{{ $json.translation || 'kjv' }}/{{ $json.references }}",
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "e55d8b82-a30a-4ed9-a28f-ae2d9808422c",
      "name": "Map API Respons to Result",
      "type": "n8n-nodes-base.set",
      "position": [
        680,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "360a59c4-5e4c-43b8-8b0b-bb121054a709",
              "name": "result",
              "type": "object",
              "value": "={{ $json }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "pinData": {
    "Entry": [
      {
        "json": {
          "version": "v2",
          "references": [
            "1 John 3:16",
            "Jn 3:16",
            "James 3:16",
            "Rom 3:16"
          ],
          "translation": "kjv"
        }
      }
    ]
  },
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1",
    "saveExecutionProgress": false
  },
  "versionId": "c8a37d01-c65f-4975-878a-20ed73c42b6b",
  "staticData": null,
  "connections": {
    "Entry": {
      "main": [
        [
          {
            "node": "ModelJson",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ModelJson": {
      "main": [
        [
          {
            "node": "API Query to GetBible",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "API Query to GetBible": {
      "main": [
        [
          {
            "node": "Map API Respons to Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}

Workflow n8n développement : pour qui est ce workflow ?

Ce workflow s'adresse principalement aux développeurs, aux équipes de contenu et aux entreprises souhaitant intégrer des données bibliques dans leurs applications. Il est idéal pour les organisations de taille moyenne à grande, avec un niveau technique intermédiaire requis pour sa mise en place.

Workflow n8n développement : problème résolu

Ce workflow résout le problème de l'accès manuel aux données bibliques en automatisant les requêtes vers l'API GetBible. Cela élimine les frustrations liées à la recherche manuelle de versets et réduit le temps consacré à l'intégration de ces données dans les projets. En automatisant ce processus, les utilisateurs peuvent se concentrer sur d'autres tâches importantes tout en s'assurant que les informations bibliques sont toujours à jour et facilement accessibles.

Workflow n8n développement : étapes du workflow

Étape 1 : Le workflow commence par un déclencheur d'entrée qui reçoit les paramètres nécessaires.

  • Étape 1 : Ensuite, un code JavaScript est exécuté pour préparer la requête à l'API.
  • Étape 2 : Une requête HTTP est envoyée à l'API GetBible pour récupérer les données.
  • Étape 3 : Enfin, les données de réponse de l'API sont mappées et assignées à des variables pour une utilisation ultérieure.

Workflow n8n développement : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL de l'API dans le nœud 'API Query to GetBible' pour pointer vers une autre ressource si nécessaire. Vous pouvez également ajuster le code JavaScript dans le nœud 'ModelJson' pour changer la structure des données envoyées à l'API. Pour une intégration plus poussée, envisagez d'ajouter d'autres nœuds pour traiter ou stocker les résultats, comme un nœud de base de données ou d'envoi d'email. Assurez-vous également de sécuriser les clés API et de surveiller les performances du flux pour garantir son bon fonctionnement.