Objectif et prérequis

Lisez une ressource API, extrayez le tableau data.items, conservez les commandes ouvertes et produisez un fichier Excel.

Cet exemple utilise des données et paramètres de démonstration. Validez le résultat attendu dans votre propre environnement avant de connecter des destinations de production. Les identifiants demo_* sont illustratifs : sélectionnez vos propres connexions ou sources pédagogiques dans l’éditeur. Le JSON ci-dessous présente la structure des blocs et connexions, pas une archive de flux prête à transférer.

Exemple de paramètres de connexion :

{
  "kind": "rest_api",
  "name": "Навчальні замовлення API",
  "options": {
    "base_url": "https://example.invalid/api",
    "auth": "none",
    "resource_path": "/orders",
    "method": "GET",
    "response_format": "json",
    "records_path": "data.items",
    "pagination": "none",
    "timeout": 60
  }
}

Données d’entrée pédagogiques

{
  "data": {
    "items": [
      {
        "id": "A1",
        "status": "open",
        "total": 120
      },
      {
        "id": "A2",
        "status": "closed",
        "total": 60
      },
      {
        "id": "A3",
        "status": "open",
        "total": 90
      }
    ]
  }
}

Blocs, connexions et paramètres exacts

Schéma explicatifAgrandir ↗15. API REST : commandes d’une réponse JSON. Topologie de l’exemple 15 : 3 blocs, 2 connexions. Les identifiants de nœuds et les ports du graphe configuré sont conservés.
Schéma du flux 15

Topologie de l’exemple 15 : 3 blocs, 2 connexions. Les identifiants de nœuds et les ports du graphe configuré sont conservés.

Ajoutez les blocs listés dans le concepteur, ouvrez les propriétés de chacun et définissez ces valeurs. Les noms demo_* désignent les sources et connexions pédagogiques.

BlocParamètre
1
Connexion
api
  • Rôle: source
  • Connexion: demo_api_orders
  • Objet externe:
    • extra_params: region=UA
2
Filtrage
filter
  • Mode: all
  • Conditions de sélection:
      • column: status
      • Exploitation: eq
      • Valeur: open
      • Comparaison numérique: ні
      • value_mode: constant
3
Exportation de données
out
  • Format: xlsx
  • Nom du fichier: api_open_orders
  • Rôle: download
  • Séparateur: ;
  • Fuseau horaire: Europe/Kyiv

Connexions des ports

  • api out → filter in
  • filter out → out in
Configuration complète du graphe en JSON
{
  "version": 3,
  "nodes": [
    {
      "id": "api",
      "type": "connection",
      "label": "api",
      "config": {
        "role": "source",
        "connection_id": "demo_api_orders",
        "external": {
          "extra_params": "region=UA"
        }
      }
    },
    {
      "id": "filter",
      "type": "filter",
      "label": "filter",
      "config": {
        "mode": "all",
        "predicates": [
          {
            "column": "status",
            "op": "eq",
            "value": "open",
            "numeric": false,
            "value_mode": "constant"
          }
        ]
      }
    },
    {
      "id": "out",
      "type": "export",
      "label": "out",
      "config": {
        "format": "xlsx",
        "filename": "api_open_orders",
        "destination": "download",
        "delimiter": ";",
        "timezone": "Europe/Kyiv"
      }
    }
  ],
  "edges": [
    {
      "source": "api",
      "target": "filter",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "filter",
      "target": "out",
      "source_port": "out",
      "target_port": "in"
    }
  ]
}

Résultat attendu

idstatustotal
A1open120
A3open90

Si l’API de test renvoie le document illustré, api_open_orders.xlsx contiendra deux commandes avec total=210.

Exécuter et vérifier

  1. Configurez votre propre service HTTP de test renvoyant le JSON illustré ; example.invalid est une adresse fictive qui n’est pas censée fonctionner.
  2. Créez une connexion API REST avec les paramètres ci-dessous, remplacez uniquement l’adresse du service de test et configurez la méthode d’authentification requise.
  3. Vérifiez l’aperçu de connexion, puis exécutez le flux et vérifiez A1/A3.

Erreurs courantes

  • Configurez la ressource et le traitement de réponse dans la connexion ; external.extra_params ajoute des paramètres pour le bloc précis.
  • Saisissez un paramètre name=value par ligne, sans ? initial.
  • Si l’API renvoie plusieurs pages, pagination=none n’en lit qu’une ; adaptez la politique au contrat de votre API.
  • Ne placez pas Authorization dans les en-têtes ordinaires : saisissez les secrets dans le champ dédié de la connexion.