REST API
Appelle une API REST et transforme la réponse en flux de données. La brick fonctionne en deux modes, auto-détectés selon le lien d'entrée :
- Autonome (aucune entrée connectée) : la brick est une source ; elle appelle l'API, pagine si nécessaire et émet les résultats ;
- Enrichissement par ligne (une entrée connectée) : la brick appelle l'API une fois par ligne du flux d'entrée (paramètres ou corps alimentés par les colonnes) et fusionne les réponses au flux.
Connexion et authentification
La brick utilise de préférence une connexion REST API du projet
(connection_id), voir Créer une connexion.
À défaut, une base_url et une authentification peuvent être saisies sur la
brick :
| Paramètre | Description |
|---|---|
auth_type | none (défaut), clé API, token Bearer ou Basic. |
api_key, api_key_location, api_key_name | Clé API, placée en header (défaut X-API-Key) ou en query string. |
bearer_token | Token Bearer. |
basic_username, basic_password | Identifiants Basic. |
timeout | Timeout par requête (30 s par défaut). |
verify_ssl | Vérification du certificat TLS (activée par défaut). |
Requête
| Paramètre | Défaut | Description |
|---|---|---|
endpoint | / | Chemin de l'endpoint (ex. /users, /data/items). |
http_method | GET | GET ou POST. |
query_params | — | Paramètres de query string (clé / valeur). |
request_body | — | Corps JSON (pour POST). |
request_headers | — | Headers HTTP additionnels. |
Lecture de la réponse
| Paramètre | Défaut | Description |
|---|---|---|
response_type | auto | json_object (avec data_path), json_array, csv ou auto-détection. |
data_path | — | Expression JSONPath vers le tableau de données (ex. $.data, $.results). |
response_handling | none | none : toutes les colonnes ; mapped : extraction de champs via output_fields_mapping. |
output_fields_mapping | — | Liste champ de réponse → colonne de sortie. |
flatten_nested | false | Aplatit les objets imbriqués en colonnes (user.name → user_name, séparateur flatten_separator). |
explode_arrays | false | Une ligne par élément de tableau (explode_columns pour cibler, vide = auto). |
explode_paths | — | Chemins de tableaux à éclater au niveau du mapping (une ligne par élément, champs externes dupliqués). |
Pagination (mode autonome)
| Type | Description | Paramètres associés |
|---|---|---|
none | Pas de pagination (défaut). | — |
offset | Offset / limit. | pagination_offset_param (offset), pagination_limit_param (limit), page_size. |
page | Page / taille de page. | pagination_page_param (page), pagination_page_size_param (page_size), page_size. |
cursor | Curseur renvoyé par la réponse. | pagination_cursor_param (cursor), pagination_cursor_path ($.next_cursor). |
link | Header Link (RFC 5988). | — |
Garde-fous : max_pages et max_items (0 = illimité), page_size (100 par
défaut).
Mode enrichissement par ligne
Quand une entrée est connectée, ces paramètres pilotent l'appel par ligne :
| Paramètre | Défaut | Description |
|---|---|---|
query_params_mapping | — | Mapping colonne source → paramètre de requête. |
body_template | — | Template Jinja2 du corps : {{ row.nom_colonne }} injecte la valeur de la ligne. |
response_column | response | Colonne recevant la réponse JSON brute quand response_handling vaut none. |
keep_source_columns | true | Conserve les colonnes d'entrée dans la sortie. |
max_items_per_row | 0 | Limite d'éléments récupérés par ligne (0 = illimité). |
parallel_requests | 5 | Nombre de requêtes parallèles (1 à 50). |
rate_limit | 0 | Requêtes par seconde maximum (0 = sans limite). |
error_handling | null | En cas d'erreur : remplir avec NULL, ignorer la ligne ou arrêter le traitement. |
error_column | — | Colonne où stocker le message d'erreur (vide = désactivé). |
cache_enabled | true | Cache des réponses pour éviter les appels en double. |
cache_key_columns | — | Colonnes composant la clé de cache (vide = tous les paramètres d'URL). |
Sorties par statut HTTP
La brick expose des sorties dynamiques routées par code de statut :
status_outputs: liste de règles nom de sortie / motif, où le motif est un code exact (200), un wildcard (2xx,4xx) oudefault;status_default_enabled: conserve la sortieoutpar défaut pour les lignes ne correspondant à aucune règle ;swagger_url: URL d'une spec OpenAPI pour auto-détecter les sorties à partir des codes de réponse documentés.
tip
Ce routage permet de traiter séparément les succès et les erreurs, par
exemple envoyer les 4xx vers une
Écriture fichier de rejets.