Recherche avancée
L’API de recherche avancée interroge vos tiers, dossiers et documents à l’aide d’un constructeur de critères : un arbre de conditions que vous composez librement, sur n’importe quel champ disponible pour votre compte.
Plutôt que des filtres figés, vous composez un arbre de conditions booléennes (ET / OU) sur les champs de votre choix : champs standards, attributs personnalisés, scores, indicateurs ou réponses de formulaire. Chaque ressource expose un endpoint de recherche (résultats paginés) et un endpoint d’export (CSV / XLS / XLSX).
Pour le détail technique — endpoints, paramètres, corps de requête et exemples de réponse — consultez la section Advanced Search V2 de la documentation API.
Une phrase, une requête
Prenons un besoin métier exprimé en langage naturel, et voyons comment il se traduit en requête.
Je veux tous mes tiers à risque qui n’ont pas déposé leur certification ISO 27001.
{
"filters": {
"connectiveOperator": "AND",
"conditions": [
{
"field": {
"field": "<indicatorId>",
"fieldType": "TEXT",
"nature": "INDICATOR",
"resourceType": "THIRD_PARTY",
"id": <indicatorId>
},
"operator": "EQUAL",
"values": ["High Risk"]
},
{
"field": {
"field": "documentTypeId",
"fieldType": "TEXT",
"nature": "MAIN_FIELD",
"resourceType": "DOCUMENT"
},
"operator": "EQUAL",
"values": [4311]
},
{
"field": {
"field": "documentStatus",
"fieldType": "TEXT",
"nature": "MAIN_FIELD",
"resourceType": "DOCUMENT"
},
"operator": "EQUAL",
"values": ["MISSING"]
}
],
"childGroups": []
},
"sort": { "name": "ASC" }
}Les trois conditions sont reliées par ET : seuls les tiers qui remplissent les trois sont retournés.
Trois ressources interrogeables
La même mécanique s’applique à trois ressources. Une condition peut même cibler une autre ressource que celle interrogée (filtrage croisé) — par exemple chercher des tiers ayant un dossier d’un certain type.
Raison sociale, pays, effectif, chiffre d’affaires, scores, indicateurs…
Type, statut, dates de début et d’expiration…
Type, statut, dates de dépôt et d’expiration, champs de formulaire…
Le principe : un arbre de conditions
Un groupe possède un seul opérateur (ET ou OU) qui relie toutes ses conditions et ses sous-groupes. Pour mélanger des ET et des OU, on imbrique des sous-groupes — la profondeur est illimitée.
Exemple : A ET (B OU C) se modélise par un groupe ET contenant la condition A et un sous-groupe OU contenant B et C.
Le déroulé en 3 étapes
Interrogez le catalogue reference-data pour obtenir les champs autorisés pour votre compte : nom technique, type, opérateurs permis et valeurs possibles. C’est la source de vérité — vous n’inventez ni les noms ni les valeurs.
Recopiez les descripteurs de champ dans un arbre de conditions reliées par ET / OU.
Envoyez la requête à l’endpoint de la ressource voulue, ou exportez le résultat en CSV / XLS / XLSX.
Du catalogue à la requête
Concrètement : vous récupérez un champ dans le catalogue reference-data, puis vous recopiez son descripteur dans une condition de recherche.
Je récupère le champ « pays » dans le catalogue
{
"field": "addressCountryCode",
"label": "Pays",
"fieldType": "TEXT",
"nature": "MAIN_FIELD",
"resourceType": "THIRD_PARTY",
"options": [ { "value": "FR", "label": "France" }, … ],
"availableOperators": ["EQUAL", "IN_SET", …]
}Je le colle dans une condition (+ opérateur et valeur)
{
"field": {
"field": "addressCountryCode",
"fieldType": "TEXT",
"nature": "MAIN_FIELD",
"resourceType": "THIRD_PARTY"
},
"operator": "EQUAL",
"values": ["FR"]
}→ Je recherche les documents des tiers français
Les champs surlignés proviennent du catalogue ; l'opérateur et les valeurs, c'est vous qui les choisissez.
Anatomie d’une condition
Une condition associe un champ, un opérateur et des valeurs.
{
"field": {
"field": "addressCountryCode",
"fieldType": "TEXT",
"nature": "MAIN_FIELD",
"resourceType": "THIRD_PARTY"
},
"operator": "EQUAL",
"values": ["FR"]
}Les valeurs sont toujours des chaînes : écrivez ["50"] et non [50], ["true"] pour un booléen, ["2026-01-01"] pour une date.
Les natures de champ
Le champ porte une nature qui indique d’où vient la donnée. Pour les attributs, attributs calculés, indicateurs et champs de formulaire, un identifiant (id) est requis.
| Nature | Signification |
|---|---|
MAIN_FIELD | Champ standard de la ressource |
ATTRIBUTE | Attribut personnalisé du compte (référencé par son ID) |
SCORE | Score d’un fournisseur de données (Ecovadis, CreditSafe…) |
CALCULATED_ATTRIBUTE | Attribut calculé (référencé par l’ID du calcul) |
INDICATOR | Indicateur calculé (SmartPilot) |
FORM_FIELD | Champ d’un formulaire de document (référencé par UUID) |
Les endpoints
Chaque ressource expose un endpoint de recherche (et son jumeau d’export).
Pour la recherche et l’export, l’accountId est dans le chemin de l’URL. Pour reference-data, il est en paramètre de requête. Les confondre renvoie une erreur 404.
Export
Chaque ressource a un endpoint d’export, jumeau de la recherche : même corps de requête (filters, sort, outputs), mais il renvoie un fichier (CSV, XLS ou XLSX) au lieu du JSON paginé. L’endpoint est l’URL de recherche suffixée de /export, et le format se choisit via le paramètre obligatoire exportType.
Choisir les colonnes
Le corps accepte en plus columnsVisibility, qui associe chaque code de colonne à true ou false et fonctionne en logique de masquage : par défaut toutes les colonnes sont exportées, vous ne listez que celles à masquer (false). Une colonne à true ou absente reste visible — omettre columnsVisibility exporte donc tout.
Exemple — exporter des tiers sans les colonnes DUNS et TVA :
{ "columnsVisibility": { "duns": false, "vat": false } }Cette page présente les concepts. La liste complète des champs, opérateurs et valeurs possibles est fournie dynamiquement par le catalogue reference-data, propre à votre compte.