Skip to main content

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 avec curl, à 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 :
Reelevant appellera cet endpoint à chaque requête, en substituant 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 appel POST 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_nameconfigure_sourcesconfigure_fieldspatch (optionnel) → validate.

1. Créer la Datasource

La réponse contient l’id de la nouvelle Datasource — réutilisez-le comme <datasource_id> dans chaque étape ci-dessous.

2. La nommer

Le payload de configure_name est la chaîne du nom elle-même.

3. Configurer la source

Décrivez l’appel externe avec une source url. 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.*.
Reelevant valide la source en appelant l’API avec les valeurs 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 avec selected: true.
Renvoyez le même tableau via configure_fields avec selected: true sur les champs à conserver. Les noms de champs doivent respecter ^[a-z][a-z0-9_-]*$ et être uniques.
Le 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’étape patch 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é.
Relisez la version live et sa ligne d’exemple pour confirmer :

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 valeur default.
  • Un filtre sur un champ de réponse (price, inStock) est appliqué par Reelevant aux lignes renvoyées par l’API.
Par exemple, filtrer 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 champ query 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.
La réponse renvoie les lignes analysées dans entries, le total count et les métadonnées de pagination :
Envoyez une requête vide ("query": "{}") pour récupérer les données avec les valeurs default des variables.

Gestion des erreurs

L’hôte externe doit être joignable publiquement. Les requêtes qui se résolvent vers des plages d’IP privées ou internes sont rejetées avec UrlNotReachable, à la fois lors de la configuration de la source et à chaque requête en direct.

Pages associées