Créez, mettez à jour, lancez et supprimez des processes de qualité de données sur votre serveur DQE One Standalone auto-hébergé. Un process associe une source de données (un fichier CSV, une base de données ou un CRM) à une action telle que la vérification d'emails, de téléphones, d'adresses, de noms ou d'entreprises, ou la recherche de doublons.
createProcess → runProcess →
interrogez le run (Runs)
→ téléchargez le résultat.Documentation associée : DQE One Standalone API — Introduction, Files, Credentials, Runs & results, RuleSets.
runProcess et deleteProcess sont
des requêtes GET alors qu'elles démarrent un
run et suppriment un process. Ne placez jamais ces URL dans
un crawler, un outil de préchargement de liens ou tout ce
qui rejoue des requêtes GET.
Liste les processes que vous possédez, sans ordre particulier.
listProcesses
Requête
Envoyez une requête GET avec vos credentials
Basic. Il n'y a aucun paramètre.
Exemples de code
Lister vos processes
Paramètres
Cet endpoint ne prend aucun paramètre.
Réponse
Tableau. Statut HTTP 200.
Le corps est un tableau JSON ; chaque élément contient ces clés.
| Clé | Description | Type |
|---|---|---|
| id | Integer | |
| name | String | |
| type | String | |
| isDraft | Boolean | |
| lastRunId | Integer |
Exemple de réponse
Exemple de réponse
Erreurs
| HTTP | Corps / signification |
|---|---|
| 401 |
Unauthorized
|
| 500 |
Unexpected error
|
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Renvoie les détails d'un process. Un process appartenant à un autre utilisateur renvoie 404.
getProcess
Requête
Envoyez une requête GET avec l'id du process.
Exemples de code
Obtenir un process
Paramètres
| Champ | Description | Type | Obl / Opt |
|---|---|---|---|
| id | Id du process. | Integer | Obligatoire |
Réponse
Process. Statut HTTP 200.
| Clé | Description | Type |
|---|---|---|
| id | Integer | |
| name | String | |
| type | Kind du process. | String |
| source | String | |
| description | String | |
| file | Integer | |
| credentials | Integer | |
| ruleSet | Integer | |
| lastRunId | Integer | |
| createdBy | String | |
| updatedBy | String | |
| createdOn | String | |
| updatedOn | String |
Exemple de réponse
La réponse est une pièce jointe, pas du JSON.
Erreurs
| HTTP | Corps / signification |
|---|---|
| 400 |
No id found.
|
| 401 |
Unauthorized
|
| 404 |
Process not found
|
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Crée un process immédiatement prêt à être lancé (il n'est pas enregistré comme brouillon). La validation est stricte et vérifie la source en direct : un credential, un objet ou un champ incorrect est donc signalé dès la création.
createProcess
Requête
Envoyez un corps JSON. Obligatoires : name,
kind, source, primaryKey
et fields ; le reste dépend de la source et
du kind (tableaux ci-dessous).
Exemples de code
Créer un process
Paramètres
| Champ | Description | Type | Obl / Opt |
|---|---|---|---|
| name | String | Obligatoire | |
| kind |
Valeurs :
find_and_replace,
format, audit,
check_address, check_b2b,
check_email, check_phone,
check_name, check_duplicate
|
String | Obligatoire |
| source |
Valeurs :
salesforce, dynamics,
postgres, snowflake,
bigquery, sftp,
csv
|
String | Obligatoire |
| primaryKey | Doit exister dans les en-têtes du fichier / l'objet source. Pour Salesforce et Dynamics, ce doit être la véritable clé primaire de l'objet. | String | Obligatoire |
| fields | La forme dépend de 'kind' - voir l'article Processes ('fields' par kind). | Object | Obligatoire |
| description | String | Optionnel | |
| file | csv uniquement : id renvoyé par /api/File/add. Le fichier est CLONÉ et lié au process. | Integer | Optionnel |
| credential | Toutes les sources sauf csv. Son type doit correspondre à 'source'. | Integer | Optionnel |
| object | Table / sObject / entité. Obligatoire pour salesforce, dynamics, postgres, snowflake, bigquery. | String | Optionnel |
| ruleSet | check_duplicate uniquement : l'id numérique 'id' de /api/Ruleset/list (PAS le setId de type chaîne). | Integer | Optionnel |
| input_file_path | String | Optionnel | |
| output_dir_path | String | Optionnel | |
| reject_dir_path | String | Optionnel | |
| filters | Liste de blocs, chacun étant une liste de lignes. [[]] signifie aucun filtre. | Array | Optionnel |
| sync |
Par défaut :
false
|
Boolean | Optionnel |
| allowEmpty |
Par défaut :
false
|
Boolean | Optionnel |
| autoMerge |
Par défaut :
false
|
Boolean | Optionnel |
| mergeThreshold |
Par défaut :
100
|
Integer | Optionnel |
| mergeB2BCode |
Éléments autorisés :
A+, A,
B+, B, C+,
C, D+, D
|
Array | Optionnel |
| mergeRNVPCode |
Éléments autorisés :
10, 20,
21, 22, 23,
24, 25, 30,
31, 40, 41,
50, 51, 60,
61, 70, 71,
80, 81, 90
|
Array | Optionnel |
| updateChildToInactive |
Par défaut :
false
|
Boolean | Optionnel |
| deleteSFTP |
Par défaut :
false
|
Boolean | Optionnel |
| metaToReparent | Object | Optionnel | |
| next | Id d'un process à enchaîner après celui-ci. | Integer | Optionnel |
L'objet fields, par kind
Chaque valeur est le
nom d'une colonne (CSV) ou d'un champ (base de données/CRM)
qui doit exister dans la source ; primaryKey
également.
| kind |
Clés dans fields
|
|---|---|
| check_email |
FieldLabel
|
| check_phone |
CountryField, FieldLabel,
Format
|
| check_name |
Salutation, FirstName,
LastName
|
| check_address |
City, Country,
DefaultCountry, FieldTag,
PostalCode, Street
; State optionnel
|
| check_b2b |
City, CompanyName,
Country, PostalCode,
Siret, Street ; State
optionnel, plus les clés DQE_<field>
pour les champs supplémentaires de la notice
B2B
|
| check_duplicate |
Une clé = la chaîne setId
du RuleSet ; sa valeur est la liste des libellés
de règles de correspondance à utiliser, qui doivent
figurer parmi les matching.Labels[].value
du RuleSet (lisez-les avec /api/Ruleset/get).
Exemple : {"RS_ABC": ["Email + Name"]}
|
| find_and_replace, format, audit | Non utilisable via l'API actuellement — voir Limitations connues ci-dessous. |
Clés requises, par source
| source | Clés requises en plus de name, kind, source, primaryKey, fields |
|---|---|
| salesforce, dynamics, postgres, bigquery |
object, credential
(son type doit correspondre à la source)
|
| snowflake | Idem, mais les processes Snowflake échouent actuellement à la validation (voir les limitations) |
| sftp |
credential, input_file_path,
output_dir_path, reject_dir_path
(les trois chemins doivent exister sur le serveur
SFTP)
|
| csv |
file — l'id renvoyé par
/api/File/add. Le fichier est
cloné et le clone est lié au
process ; l'original reste libre et supprimable.
|
Toute source, avec kind =
check_duplicate
|
plus ruleSet — l'identifiant numérique
id de /api/Ruleset/list
(pas la chaîne setId)
|
Filtres
filters est une liste de blocs,
chaque bloc étant une liste de lignes
{"field","operator","value"}. Chaque ligne après
la première d'un bloc nécessite aussi "relation"
(AND ou OR). [[]]
signifie “aucun filtre”.
Déroulement de la validation
Le serveur vérifie d'abord les types JSON, puis les clés
requises, puis recherche le credential, l'objet et le fichier
sur la source en direct, et enfin valide
fields et filters. Les types étant
vérifiés en premier, une clé requise manquante
est signalée par Key name must be a String.
; le message ... need to be set n'apparaît que
lorsque la clé est présente mais vide. Valeurs par défaut
lorsqu'une clé est absente : booléens false,
mergeThreshold 100. autoMerge: true
active les trois fusions automatiques à la fois.
Réponse
Créé. Statut HTTP 201.
| Clé | Description | Type |
|---|---|---|
| status |
Valeurs :
success
|
String |
| id | Integer |
Exemple de réponse
Exemple de réponse
Erreurs
| HTTP | Corps / signification |
|---|---|
| 400 |
Key name must be a String.
|
| 401 |
Unauthorized
|
| 404 |
Credential not found.
|
| 500 |
Selected Credential seem to be Expired.
|
Limitations connues
-
Les processes
find_and_replaceetformatéchouent avec une erreur 500 lorsqu'ils sont créés via l'API ;auditest accepté mais n'a pas été vérifié. Créez-les dans l'interface web. - Les processes Snowflake échouent toujours à la validation via l'API (et un credential Snowflake nécessite aussi une connexion via navigateur).
-
maxRecordsetbackupsont acceptés mais sans effet.
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Modifie un process existant. Il rejoue l'intégralité de la validation de création.
updateProcess
Requête
Envoyez un PUT avec le même corps JSON que pour
la création, plus l'id du process. kind,
source, object, les chemins SFTP
et file ne peuvent pas être modifiés.
false revient à la valeur
actuelle : un booléen tel que sync
ou autoMerge
ne peut donc pas être remis à false et une
liste ne peut pas être vidée ; (2) le process est reconstruit
à partir des valeurs que vous envoyez : les champs que vous
ne listez pas — y compris son lien vers le dernier run —
reprennent leurs valeurs par défaut, ce qui lève aussi la
protection “Process already running” ; (3) le succès est
un HTTP 201, et non 200.
Exemples de code
Mettre à jour un process
Paramètres
| Champ | Description | Type | Obl / Opt |
|---|---|---|---|
| name | String | Obligatoire | |
| kind |
Valeurs :
find_and_replace,
format, audit,
check_address, check_b2b,
check_email, check_phone,
check_name, check_duplicate
|
String | Obligatoire |
| source |
Valeurs :
salesforce, dynamics,
postgres, snowflake,
bigquery, sftp,
csv
|
String | Obligatoire |
| primaryKey | Doit exister dans les en-têtes du fichier / l'objet source. Pour Salesforce et Dynamics, ce doit être la véritable clé primaire de l'objet. | String | Obligatoire |
| fields | La forme dépend de 'kind' - voir l'article Processes ('fields' par kind). | Object | Obligatoire |
| description | String | Optionnel | |
| file | csv uniquement : id renvoyé par /api/File/add. Le fichier est CLONÉ et lié au process. | Integer | Optionnel |
| credential | Toutes les sources sauf csv. Son type doit correspondre à 'source'. | Integer | Optionnel |
| object | Table / sObject / entité. Obligatoire pour salesforce, dynamics, postgres, snowflake, bigquery. | String | Optionnel |
| ruleSet | check_duplicate uniquement : l'id numérique 'id' de /api/Ruleset/list (PAS le setId de type chaîne). | Integer | Optionnel |
| input_file_path | String | Optionnel | |
| output_dir_path | String | Optionnel | |
| reject_dir_path | String | Optionnel | |
| filters | Liste de blocs, chacun étant une liste de lignes. [[]] signifie aucun filtre. | Array | Optionnel |
| sync |
Par défaut :
false
|
Boolean | Optionnel |
| allowEmpty |
Par défaut :
false
|
Boolean | Optionnel |
| autoMerge |
Par défaut :
false
|
Boolean | Optionnel |
| mergeThreshold |
Par défaut :
100
|
Integer | Optionnel |
| mergeB2BCode |
Éléments autorisés :
A+, A,
B+, B, C+,
C, D+, D
|
Array | Optionnel |
| mergeRNVPCode |
Éléments autorisés :
10, 20,
21, 22, 23,
24, 25, 30,
31, 40, 41,
50, 51, 60,
61, 70, 71,
80, 81, 90
|
Array | Optionnel |
| updateChildToInactive |
Par défaut :
false
|
Boolean | Optionnel |
| deleteSFTP |
Par défaut :
false
|
Boolean | Optionnel |
| metaToReparent | Object | Optionnel | |
| next | Id d'un process à enchaîner après celui-ci. | Integer | Optionnel |
| id | Integer | Obligatoire |
Réponse
Mis à jour (à noter : 201, et non 200). Statut HTTP 201.
| Clé | Description | Type |
|---|---|---|
| status |
Valeurs :
success
|
String |
| id | Integer |
Exemple de réponse
Exemple de réponse
Erreurs
| HTTP | Corps / signification |
|---|---|
| 400 |
No id found.
|
| 401 |
Unauthorized
|
| 404 |
Process not found.
|
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Met un run du process en file d'attente et répond immédiatement. Le traitement est asynchrone : suivez-le avec l'endpoint Runs.
runProcess
Requête
Envoyez une requête GET avec l'id du process.
Started et mis en file d'attente. Les
jobs s'exécutent un par un pour chaque utilisateur
: un second run attend donc la fin du premier. Le RuleSet
lié à un process de déduplication est verrouillé (non modifiable)
dès qu'un run est mis en file d'attente. Il n'existe aucun
endpoint pour annuler un run.
{"status":"error","message":"..."}. run_id
est une chaîne.
Exemples de code
Lancer un process
Paramètres
| Champ | Description | Type | Obl / Opt |
|---|---|---|---|
| id | Id du process. | Integer | Obligatoire |
Réponse
Mis en file d'attente (ou erreur douce). Statut HTTP 200.
| Clé | Description | Type |
|---|---|---|
| status |
Un HTTP 200 est renvoyé même lorsque le statut
est 'error' (process en brouillon, aucun fichier
SFTP, échec de la file d'attente).
Valeurs :
success, error
|
String |
| message | String | |
| run_id | Id du run, sous forme de chaîne. | String |
Exemple de réponse
Exemple de réponse
Erreurs
| HTTP | Corps / signification |
|---|---|
| 400 |
Process already running
|
| 401 |
Unauthorized
|
| 404 |
Process not found
|
| 500 |
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Supprime un process. Autorisé lorsque le process est un brouillon,
n'a jamais été exécuté, ou que son dernier run est
Finished ou Failed.
deleteProcess
Requête
Envoyez une requête GET avec l'id du process
(oui, GET).
Exemples de code
Supprimer un process
Paramètres
| Champ | Description | Type | Obl / Opt |
|---|---|---|---|
| id | Id du process. | Integer | Obligatoire |
Réponse
Supprimé. Statut HTTP 200.
| Clé | Description | Type |
|---|---|---|
| status |
Valeurs :
success
|
String |
Exemple de réponse
Exemple de réponse
Erreurs
| HTTP | Corps / signification |
|---|---|
| 400 |
No id found.
|
| 401 |
Unauthorized
|
| 404 |
Process not found
|
| 423 |
Process is not in a state that allows deletion
|
| 500 |
Failed to delete the Process
|
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur.
Ouvrir la console
Voir aussi
- DQE One Standalone API — Introduction (authentification, conventions, workflow de bout en bout)
- DQE One Standalone API — Files, Credentials, Runs & results, RuleSets
- Use the Lookup API in DQE One Standalone
- Field Reference in DQE One Standalone
Associé à