Vue d’ensemble
Une Datasource en mode proxy transforme une API HTTP externe en une Datasource interrogeable. Reelevant ne récupère pas ni ne stocke les données selon une planification — à la place, elle appelle votre API en direct à chaque requête et renvoie la réponse analysée, afin que vos Workflows voient toujours les données les plus récentes. Ce guide construit une Datasource proxy de bout en bout aveccurl, à partir d’une fausse API produits. Chaque appel cible l’API datasources sur https://api.reelevant.com/v2/datasources et nécessite un token d’accès — voir Authentification pour savoir comment l’obtenir.
Utilisez le mode proxy lorsque les données externes doivent être fraîches à chaque requête (stock en direct, prix en direct, recommandations par utilisateur) ou lorsqu’elles ne peuvent pas être répliquées dans Reelevant. Pour de gros catalogues qui évoluent lentement, préférez une Datasource
worker afin que les requêtes soient servies depuis le stockage de Reelevant.L’API externe
Supposons que vous possédiez une API produits qui prend une catégorie et un identifiant utilisateur dans le corps de la requête et renvoie une liste de produits. Un appel en direct et sa réponse ressemblent à ceci :userId et category au moment de l’appel à partir des variables que vous déclarez ci-dessous.
Construire la Datasource
La configuration est une séquence d’étapes appliquées à la version brouillon de la Datasource. Chaque étape est un appelPOST https://api.reelevant.com/v2/datasources/{id}/steps avec un corps { name, payload }. Récupérez l’étape courante à tout moment avec GET https://api.reelevant.com/v2/datasources/{id}/steps.
La séquence d’étapes en mode proxy est : configure_name → configure_sources → configure_fields → patch (optionnel) → validate.
1. Créer la Datasource
id de la nouvelle Datasource — réutilisez-le comme <datasource_id> dans chaque étape ci-dessous.
2. La nommer
Le payload deconfigure_name est la chaîne du nom elle-même.
3. Configurer la source
Décrivez l’appel externe avec une sourceurl. Les valeurs d’exécution sont déclarées comme variables et référencées via des placeholders {{name}} dans url, body, headers et query. Comme la réponse encapsule les lignes sous products, définissez le rootPath JSON sur products.*.
default des variables et stocke une ligne d’exemple. Si l’URL est injoignable ou renvoie une erreur, l’étape échoue — voir Gestion des erreurs.
Définition d’une variable
Les variables ne fuitent jamais en tant que filtres post-récupération : un nom consommé par le template de requête sert uniquement à construire l’appel externe, pas à filtrer la réponse.
4. Mapper les champs
Demandez à Reelevant d’analyser la réponse d’exemple et de suggérer des champs, puis renvoyez ceux que vous souhaitez conserver avecselected: true.
configure_fields avec selected: true sur les champs à conserver. Les noms de champs doivent respecter ^[a-z][a-z0-9_-]*$ et être uniques.
rulesPerSources de chaque champ associe l’index de la source ("0" pour la première source) à une règle path qui extrait la valeur de la ligne de réponse.
5. Configurer le cache (optionnel)
Comme les Datasources proxy appellent l’API externe à chaque requête, un cache court protège une API lente ou limitée en débit. L’étapepatch définit la fenêtre de cache et permet d’ignorer certains codes de statut externes.
Pour un fort effet d’éventail (une diffusion déclenchant de nombreux appels identiques) ou une agrégation à la volée de la réponse en direct, demandez à votre Technical Account Manager les custom fetchers Proxy Lock et Proxy Aggregation.
6. Valider pour passer en live
validate promeut la version brouillon en version live. Les Datasources proxy passent en live immédiatement — aucun job de vérification ne s’exécute, car rien n’est stocké.
Interroger à l’exécution
Une fois live, la Datasource est consommée dans un Workflow via un Data Node Datasource. Les filtres du node fournissent les valeurs de variables pour l’appel en direct :- Un filtre sur une variable (
userId,category) définit la valeur envoyée à l’API. Omettre une variable revient à utiliser sa valeurdefault. - Un filtre sur un champ de réponse (
price,inStock) est appliqué par Reelevant aux lignes renvoyées par l’API.
category = "boots" et inStock = true appelle POST https://api.example.com/products/boots, puis ne conserve que les lignes renvoyées où inStock vaut true.
Tester depuis l’API
Vous n’avez pas besoin d’un Workflow pour vérifier la Datasource — appelez directement l’endpoint Query a datasource. Le champquery est un filtre encodé en JSON (voir Filtres de requête Datasource pour sa structure et ses opérateurs) ; les variables et les champs de réponse sont filtrés exactement comme dans un Data Node. Passez la pagination en paramètres de requête.
entries, le total count et les métadonnées de pagination :
Gestion des erreurs
Pages associées
- Authentification — obtenir un token d’accès.
- Query a datasource — l’endpoint utilisé pour tester la Datasource en direct.
- Référence de l’API datasources — référence complète des endpoints.
- Custom Fetchers — Proxy Lock et Proxy Aggregation pour les Datasources en temps réel.
- Data Node Datasource — interroger une Datasource dans un Workflow.