API DQE One — Jobs et audits

Support DQE
Support DQE
  • Mise à jour
Jobs et audits — API DQE One

L'API DQE One est l'API backend exposée par le package DQE One pour Salesforce. Les endpoints Jobs et audits de cette page créent et lancent les jobs qualité de données (déduplication, rapprochement de comptes B2B, validation d'adresse RNVP) que le package DQE One exécute sur les enregistrements Salesforce, et permettent de prévisualiser l'effet d'une transformation de préparation de données (recherche/remplacement) avant de la valider. Tous les endpoints de cette page sont en POST uniquement et utilisent l'en-tête DQE-Authorization pour l'authentification.

Documentation API DQE One associée :

Remarque sur Obligatoire / Optionnel ci-dessous — le spec OpenAPI source marque le corps de requête de chaque endpoint comme obligatoire dans son ensemble, mais ne précise pas si chaque propriété du corps est individuellement obligatoire ou optionnelle (aucune liste required n'existe sur les schémas de corps). Les indicateurs Obligatoire / Optionnel de cet article reflètent notre meilleure estimation technique selon le rôle de chaque champ (informations de session/identité vs. options facultatives) et doivent être confirmés avec JP avant publication.
Jobs et audits — API DQE One

Crée un nouveau job qualité de données DQE — déduplication, rapprochement de comptes B2B ou validation d'adresse RNVP — pour un org Salesforce, à l'aide de la charge utile de configuration de job décrite ci-dessous.

newJob

Requête

Envoyez le corps de la requête au format JSON, avec Content-Type: application/json.

Authentification — cet endpoint nécessite l'en-tête DQE-Authorization (une clé API). Voir Authentification et session pour savoir comment obtenir et configurer cette valeur.
{DOMAIN} est le domaine du serveur sur lequel votre instance du backend DQE One est installée — ce backend étant hébergé dans votre propre infrastructure, cette valeur est déterminée par votre déploiement, elle n'est pas fournie par DQE.
Remarque sur le corps de requête de cet endpoint — dans le spec OpenAPI source, le corps de requête de /newJob est défini via une référence $ref qui pointe vers le schéma de corps de requête du chemin /lanchAudit, plutôt que vers un composant partagé. JP a confirmé que /launchAudit (orthographe correcte, documenté séparément ci-dessous) est le véritable endpoint actuel, et que /lanchAudit (le chemin mal orthographié présent dans le spec) n'est pas un endpoint réel/actuel et n'est pas documenté ici en tant que tel. Son schéma de corps référencé est néanmoins le véritable corps de requête actuel de /newJob — il est donc résolu et documenté intégralement ci-dessous.
POSThttps://{DOMAIN}/newJob

Exemples de code

Créer un job

curl -X POST "https://{DOMAIN}/newJob" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {}}'
const body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }; fetch("https://{DOMAIN}/newJob", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": False, "isPersonAccountEnable": False, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": False, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": True, "Automatic_B2B_Merge__c": True, "Automatic_RNVP_Merge__c": False, "SF_Default_Merge__c": False, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": False, "Authorized_Empty_Bulk__c": False, "delete_record__c": False, "Enable_UnMerge_Dedup__c": False, "Enable_Reparenting_Inactive_Child__c": False, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": False, "Use_Sort_LV__c": False, "Selected_Fields__c": {} } response = requests.post( "https://{DOMAIN}/newJob", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'aud' => 'DQEOne', 'crt' => '1730000000', 'sub' => '0055f000000XyZAAU', 'orgId' => '00D5f000000ABCDEAU', 'orgPrefix' => 'dqe__', 'urllogin' => 'https://mycompany.my.salesforce.com', 'url' => 'https://mycompany.my.salesforce.com/services/data/v58.0', 'Region' => 'EU', 'chatterId' => '0D55f00000ChatterXYZ', 'isFreeTrial' => false, 'isPersonAccountEnable' => false, 'jobId' => 'a0C5f000000JobXYZ', 'Name' => 'Account Dedup Job', 'Id' => '', 'processId' => '', 'runId' => '', 'Rule_Set_Id__c' => 'a0B5f000000RuleXYZ', 'Record_Type__c' => 'Account', 'Process_kind__c' => 'Dedup', 'Source__c' => 'OneAPI', 'Last_Run_Id__c' => '', 'date' => '2026-10-29', 'isKilling' => false, 'attributes' => [], 'auditJson' => [], 'Automatic_Dedup_Merge__c' => true, 'Automatic_B2B_Merge__c' => true, 'Automatic_RNVP_Merge__c' => false, 'SF_Default_Merge__c' => false, 'Auto_Merge_Threshold__c' => 85, 'Merge_B2B_Status_Code__c' => 0, 'Merge_RNVP_Status_Code__c' => '', 'Assign_To_Owner__c' => false, 'Authorized_Empty_Bulk__c' => false, 'delete_record__c' => false, 'Enable_UnMerge_Dedup__c' => false, 'Enable_Reparenting_Inactive_Child__c' => false, 'Max_Record_Per_Batchable__c' => 200, 'filterJson' => '', 'Filters_ListView_Json__c' => [], 'Selected_List_View__c' => '', 'Run_On_View__c' => false, 'Use_Sort_LV__c' => false, 'Selected_Fields__c' => [] ]); $ch = curl_init("https://{DOMAIN}/newJob"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }; axios.post('https://{DOMAIN}/newJob', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"Region\": \"EU\"," + " \"chatterId\": \"0D55f00000ChatterXYZ\"," + " \"isFreeTrial\": false," + " \"isPersonAccountEnable\": false," + " \"jobId\": \"a0C5f000000JobXYZ\"," + " \"Name\": \"Account Dedup Job\"," + " \"Id\": \"\"," + " \"processId\": \"\"," + " \"runId\": \"\"," + " \"Rule_Set_Id__c\": \"a0B5f000000RuleXYZ\"," + " \"Record_Type__c\": \"Account\"," + " \"Process_kind__c\": \"Dedup\"," + " \"Source__c\": \"OneAPI\"," + " \"Last_Run_Id__c\": \"\"," + " \"date\": \"2026-10-29\"," + " \"isKilling\": false," + " \"attributes\": {}," + " \"auditJson\": {}," + " \"Automatic_Dedup_Merge__c\": true," + " \"Automatic_B2B_Merge__c\": true," + " \"Automatic_RNVP_Merge__c\": false," + " \"SF_Default_Merge__c\": false," + " \"Auto_Merge_Threshold__c\": 85," + " \"Merge_B2B_Status_Code__c\": 0," + " \"Merge_RNVP_Status_Code__c\": \"\"," + " \"Assign_To_Owner__c\": false," + " \"Authorized_Empty_Bulk__c\": false," + " \"delete_record__c\": false," + " \"Enable_UnMerge_Dedup__c\": false," + " \"Enable_Reparenting_Inactive_Child__c\": false," + " \"Max_Record_Per_Batchable__c\": 200," + " \"filterJson\": \"\"," + " \"Filters_ListView_Json__c\": []," + " \"Selected_List_View__c\": \"\"," + " \"Run_On_View__c\": false," + " \"Use_Sort_LV__c\": false," + " \"Selected_Fields__c\": {}" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/newJob")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestEn-têtes.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"Region\": \"EU\"," + " \"chatterId\": \"0D55f00000ChatterXYZ\"," + " \"isFreeTrial\": false," + " \"isPersonAccountEnable\": false," + " \"jobId\": \"a0C5f000000JobXYZ\"," + " \"Name\": \"Account Dedup Job\"," + " \"Id\": \"\"," + " \"processId\": \"\"," + " \"runId\": \"\"," + " \"Rule_Set_Id__c\": \"a0B5f000000RuleXYZ\"," + " \"Record_Type__c\": \"Account\"," + " \"Process_kind__c\": \"Dedup\"," + " \"Source__c\": \"OneAPI\"," + " \"Last_Run_Id__c\": \"\"," + " \"date\": \"2026-10-29\"," + " \"isKilling\": false," + " \"attributes\": {}," + " \"auditJson\": {}," + " \"Automatic_Dedup_Merge__c\": true," + " \"Automatic_B2B_Merge__c\": true," + " \"Automatic_RNVP_Merge__c\": false," + " \"SF_Default_Merge__c\": false," + " \"Auto_Merge_Threshold__c\": 85," + " \"Merge_B2B_Status_Code__c\": 0," + " \"Merge_RNVP_Status_Code__c\": \"\"," + " \"Assign_To_Owner__c\": false," + " \"Authorized_Empty_Bulk__c\": false," + " \"delete_record__c\": false," + " \"Enable_UnMerge_Dedup__c\": false," + " \"Enable_Reparenting_Inactive_Child__c\": false," + " \"Max_Record_Per_Batchable__c\": 200," + " \"filterJson\": \"\"," + " \"Filters_ListView_Json__c\": []," + " \"Selected_List_View__c\": \"\"," + " \"Run_On_View__c\": false," + " \"Use_Sort_LV__c\": false," + " \"Selected_Fields__c\": {}" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/newJob", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/newJob", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Paramètres

En-têtes

Header Description Mand / Opt
DQE-Authorization Clé API utilisée pour authentifier la requête. Voir Authentification et session pour savoir comment obtenir et configurer cette valeur. Mandatory

Paramètres du corps

Les 44 paramètres de corps ci-dessous sont regroupés, pour la lisibilité, en quatre zones : informations de session et d'org, identifiants et charge utile du job, options de fusion et dédoublonnage, et filtrage des enregistrements et liste de vue. Les champs suffixés __c sont des champs personnalisés sur l'objet Salesforce de configuration de job sous-jacent, following standard Salesforce custom-field naming convention.

Informations de session et d'org
Parameter Description Mand / Opt
aud La revendication « audience » — le service destinataire/cible visé par cette requête signée.
Type : Chaîne
Mandatory
crt La revendication d'horodatage de création/émission pour cette requête signée.
Type : Chaîne
Mandatory
sub La revendication « subject » — l'identifiant d'utilisateur/session Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
orgId L'identifiant de l'organisation Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
orgPrefix Un court préfixe/espace de noms identifiant les champs personnalisés de l'org dans Salesforce.
Type : Chaîne
Mandatory
urllogin L'URL de connexion de l'org Salesforce.
Type : Chaîne
Mandatory
url L'URL de base de l'instance/API de l'org Salesforce. Le spec source ne précise pas en quoi ceci diffère de urllogin ci-dessus — probablement l'URL de l'instance de l'API REST de l'org par opposition à son URL de connexion. À confirmer avec JP.
Type : Chaîne
Mandatory
Region La région ou le centre de données de l'org Salesforce ou de l'instance DQE.
Type : Chaîne
Optional
chatterId Identifiant d'un enregistrement Salesforce Chatter (par exemple, un élément de fil d'actualité) sur lequel publier les mises à jour de progression ou d'achèvement du job. Déduit uniquement à partir du nom du champ — son objet exact n'est pas documenté dans le spec source.
Type : Chaîne
Optional
isFreeTrial Indique si l'org appelante dispose d'une licence d'essai gratuit DQE. Déduit uniquement à partir du nom du champ — non documenté dans le spec source.
Type : Booléen
Optional
isPersonAccountEnable Indique si les comptes personnels (Person Accounts) sont activés dans l'org Salesforce appelante.
Type : Booléen
Optional
Identifiants et charge utile du job
Parameter Description Mand / Opt
jobId Identifiant de la définition/configuration de job lancée.
Type : Chaîne
Mandatory
Name Le nom d'affichage du job.
Type : Chaîne
Mandatory
Id L'identifiant d'enregistrement Salesforce d'une configuration de job existante, lorsqu'on met à jour ou relance un job plutôt que d'en créer un nouveau. Déduit uniquement à partir du nom du champ.
Type : Chaîne
Optional
processId Identifiant d'un processus lié. Le spec source ne documente pas sa relation avec jobId ou runId — à confirmer avec JP.
Type : Chaîne
Optional
runId Identifiant de cette exécution spécifique du job. Peut être généré par l'appelant ou renvoyé par le serveur — non documenté dans le spec source.
Type : Chaîne
Optional
Rule_Set_Id__c L'identifiant du jeu de règles de rapprochement/fusion de données appliqué par ce job. Voir le même champ sur getFusionField / createFusionLookup dans Configuration des données.
Type : Chaîne
Mandatory
Record_Type__c L'objet Salesforce / type d'enregistrement sur lequel ce job opère (par exemple, Account ou Contact). Déduit uniquement à partir du nom du champ.
Type : Chaîne
Mandatory
Process_kind__c Le type de processus qualité de données exécuté par ce job — par exemple, déduplication, rapprochement de comptes B2B ou validation d'adresse RNVP, selon les options plus bas dans ce tableau. Le spec source type ce champ comme une simple chaîne sans énumérer les valeurs autorisées.
Type : Chaîne
Mandatory
Source__c Un libellé identifiant la source/l'origine de cette demande de job. Déduit uniquement à partir du nom du champ.
Type : Chaîne
Optional
Last_Run_Id__c L'identifiant de la précédente exécution de ce job, le cas échéant — probablement utilisé pour reprendre ou comparer avec une exécution antérieure.
Type : Chaîne
Optional
date Une date associée au job (par exemple, une date d'exécution demandée ou planifiée). Le spec source type ce champ comme une simple chaîne sans format défini.
Type : Chaîne
Optional
isKilling Indique si cette requête doit arrêter une exécution en cours plutôt que d'en démarrer une nouvelle. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
attributes Un objet JSON générique. Le spec source ne définit aucune sous-propriété. Dans les réponses de l'API Salesforce, un objet attributes porte généralement des métadonnées d'enregistrement (par exemple, type et url) — il n'est pas confirmé que cette convention s'applique ici.
Type : Objet (JSON)
Optional
auditJson Un objet JSON générique portant la charge utile de configuration d'audit/job. Le spec source ne définit aucune sous-propriété — sa structure interne n'est pas confirmée. À confirmer auprès de l'équipe d'ingénierie DQE.
Type : Objet (JSON)
Mandatory
Options de fusion et dédoublonnage
Parameter Description Mand / Opt
Automatic_Dedup_Merge__c Indique si les enregistrements en double correspondants doivent être fusionnés automatiquement dans le cadre de ce job, sans révision manuelle.
Type : Booléen
Optional
Automatic_B2B_Merge__c Indique si les enregistrements de comptes B2B (entreprises) correspondants doivent être fusionnés automatiquement, conformément au comportement de rapprochement B2B documenté ailleurs dans la gamme de produits DQE.
Type : Booléen
Optional
Automatic_RNVP_Merge__c Indique si les enregistrements dont l'adresse a été corrigée par RNVP (validation/normalisation d'adresse postale) doivent être fusionnés automatiquement.
Type : Booléen
Optional
SF_Default_Merge__c Indique s'il faut utiliser le comportement de fusion par défaut propre à Salesforce plutôt que la logique de fusion de DQE lors de la consolidation des enregistrements correspondants. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
Auto_Merge_Threshold__c Le seuil de score de confiance de correspondance au-dessus duquel les enregistrements sont fusionnés automatiquement, et en dessous duquel ils sont laissés pour révision manuelle. Le spec source ne documente pas l'échelle utilisée.
Type : Entier
Optional
Merge_B2B_Status_Code__c Un code de statut appliqué aux enregistrements B2B après une passe de fusion/rapprochement. Le spec source n'énumère pas les valeurs possibles.
Type : Entier
Optional
Merge_RNVP_Status_Code__c Un code de statut appliqué aux enregistrements après une passe de validation d'adresse RNVP. Le spec source n'énumère pas les valeurs possibles.
Type : Chaîne
Optional
Assign_To_Owner__c Indique si les enregistrements fusionnés/survivants doivent être réattribués à un propriétaire spécifique. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
Authorized_Empty_Bulk__c Indique si le job est autorisé à s'exécuter sur un ensemble d'enregistrements vide en mode bulk, plutôt que d'être bloqué comme probable erreur de configuration. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
delete_record__c Indique si les enregistrements perdants/en double doivent être supprimés (plutôt que fusionnés ou simplement signalés) une fois rapprochés.
Type : Booléen
Optional
Enable_UnMerge_Dedup__c Indique si les enregistrements précédemment dédoublonnés/fusionnés peuvent être défusionnés par ce job.
Type : Booléen
Optional
Enable_Reparenting_Inactive_Child__c Indique si les enregistrements enfants rattachés à un parent inactif doivent être rattachés à un nouveau parent dans le cadre du job. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
Max_Record_Per_Batchable__c Le nombre maximal d'enregistrements traités par exécution de lot Salesforce (Batchable Apex).
Type : Entier
Optional
Filtrage des enregistrements et liste de vue
Parameter Description Mand / Opt
filterJson Une chaîne encodée en JSON définissant un filtre qui limite le job à un sous-ensemble d'enregistrements, similaire à filterJson sur Prévisualiser une préparation de données ci-dessous.
Type : Chaîne
Optional
Filters_ListView_Json__c Un tableau définissant des filtres dérivés d'une liste de vue Salesforce, utilisé pour limiter le périmètre du job. Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Optional
Selected_List_View__c L'identifiant de la liste de vue Salesforce sélectionnée pour limiter le périmètre de ce job, utilisé conjointement avec Run_On_View__c ci-dessous.
Type : Chaîne
Optional
Run_On_View__c Indique si le job doit s'exécuter uniquement sur les enregistrements de la liste de vue sélectionnée (Selected_List_View__c), plutôt que sur l'objet entier.
Type : Booléen
Optional
Use_Sort_LV__c Indique si l'ordre de tri propre à la liste de vue doit être conservé lors du traitement des enregistrements. Déduit uniquement à partir du nom du champ.
Type : Booléen
Optional
Selected_Fields__c Un objet JSON générique listant les champs sélectionnés pour ce job (par exemple, quels champs comparer ou renvoyer). Le spec source ne définit aucune sous-propriété.
Type : Objet (JSON)
Optional

Réponse

Si l'appel réussit, l'API renvoie un objet JSON contenant les clés suivantes.

Forme de réponse de succès inhabituelle — le spec OpenAPI source documente exactement ce schéma {err, message} comme réponse 200 (succès) de /newJob. Le fait que des noms de champs normalement associés à une charge d'erreur (err, message) soient utilisés pour la réponse de succès documentée est atypique, et ceci est documenté tel quel plutôt que « corrigé ». À signaler à l'équipe d'ingénierie DQE : soit le schéma de succès du spec a été mal étiqueté ou copié depuis une réponse d'erreur, soit l'API réelle renvoie effectivement toujours ces deux clés (par exemple, avec err vide en cas de succès). À confirmer avant de développer un client s'appuyant sur cette réponse.
Key Description Type
err Un code ou message d'erreur. Ce champ est documenté exactement tel qu'il apparaît dans le spec source pour la réponse de succès 200 de cet endpoint — voir l'encart ci-dessus. string
message Un message lisible décrivant le résultat de la demande de création du job. string

Exemple de réponse

Exemple de réponse de création de job
{ "err": "", "message": "Job created successfully" }

Erreurs

Non documenté dans le spec source. La définition OpenAPI de cet endpoint ne documente que la réponse de succès 200 — elle ne définit pas de codes de statut d'erreur, de corps d'erreur ou de scénarios d'échec spécifiques. Il faut s'attendre, en pratique, à des modes d'échec HTTP standards (par exemple, un statut 4xx pour un en-tête DQE-Authorization manquant ou invalide, ou un corps de requête mal formé, et un statut 5xx pour une défaillance côté serveur), mais les codes et charges exacts ne sont pas confirmés. Cette section devra être complétée une fois que de vraies réponses d'erreur auront été observées ou confirmées par l'équipe d'ingénierie DQE.

Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur. L'adresse du serveur DQE One est propre à votre org Salesforce — saisissez-la ci-dessous avant d'envoyer une requête.

Open console
Jobs et audits — API DQE One

Lance un processus d'audit pour un org Salesforce, identifié par les revendications de session standard ainsi qu'une carte de paramètres libre DQE_Process__c.

launchAudit

Requête

Envoyez le corps de la requête au format JSON, avec Content-Type: application/json.

Authentification — cet endpoint nécessite l'en-tête DQE-Authorization (une clé API). Voir Authentification et session pour savoir comment obtenir et configurer cette valeur.
{DOMAIN} est le domaine du serveur sur lequel votre instance du backend DQE One est installée — ce backend étant hébergé dans votre propre infrastructure, cette valeur est déterminée par votre déploiement, elle n'est pas fournie par DQE.
POSThttps://{DOMAIN}/launchAudit

Exemples de code

Lancer un audit

curl -X POST "https://{DOMAIN}/launchAudit" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": {"ProcessType": "Audit", "TriggeredBy": "ManualLaunch"}}'
const body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }; fetch("https://{DOMAIN}/launchAudit", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } } response = requests.post( "https://{DOMAIN}/launchAudit", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'orgId' => '00D5f000000ABCDEAU', 'sub' => '0055f000000XyZAAU', 'aud' => 'DQEOne', 'urllogin' => 'https://mycompany.my.salesforce.com', 'crt' => '1730000000', 'DQE_Process__c' => [ 'ProcessType' => 'Audit', 'TriggeredBy' => 'ManualLaunch' ] ]); $ch = curl_init("https://{DOMAIN}/launchAudit"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }; axios.post('https://{DOMAIN}/launchAudit', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"aud\": \"DQEOne\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"crt\": \"1730000000\"," + " \"DQE_Process__c\": {" + " \"ProcessType\": \"Audit\"," + " \"TriggeredBy\": \"ManualLaunch\"" + " }" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/launchAudit")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestEn-têtes.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"aud\": \"DQEOne\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"crt\": \"1730000000\"," + " \"DQE_Process__c\": {" + " \"ProcessType\": \"Audit\"," + " \"TriggeredBy\": \"ManualLaunch\"" + " }" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/launchAudit", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/launchAudit", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Paramètres

En-têtes

Header Description Mand / Opt
DQE-Authorization Clé API utilisée pour authentifier la requête. Voir Authentification et session pour savoir comment obtenir et configurer cette valeur. Mandatory

Paramètres du corps

Parameter Description Mand / Opt
orgId L'identifiant de l'organisation Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
sub La revendication « subject » — l'identifiant d'utilisateur/session Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
aud La revendication « audience » — le service destinataire/cible visé par cette requête signée.
Type : Chaîne
Mandatory
urllogin L'URL de connexion de l'org Salesforce.
Type : Chaîne
Mandatory
crt La revendication d'horodatage de création/émission pour cette requête signée.
Type : Chaîne
Mandatory
DQE_Process__c Une carte clé-valeur libre de paramètres de processus pour l'audit lancé. Le spec source type cet objet comme ayant des valeurs devant être des chaînes (additionalProperties: string) et n'énumère pas les clés attendues — à confirmer auprès de l'équipe d'ingénierie DQE.
Type : Objet (JSON)
Mandatory

Réponse

Si l'appel réussit, l'API renvoie un objet JSON contenant les clés suivantes.

Key Description Type
status Le statut de l'opération de lancement d'audit (par exemple, une simple chaîne indicatrice de succès/échec). Le spec source n'énumère pas les valeurs possibles. string

Exemple de réponse

Exemple de réponse de lancement d'audit
{ "status": "ok" }

Erreurs

Non documenté dans le spec source. La définition OpenAPI de cet endpoint ne documente que la réponse de succès 200 — elle ne définit pas de codes de statut d'erreur, de corps d'erreur ou de scénarios d'échec spécifiques. Il faut s'attendre, en pratique, à des modes d'échec HTTP standards (par exemple, un statut 4xx pour un en-tête DQE-Authorization manquant ou invalide, ou un corps de requête mal formé, et un statut 5xx pour une défaillance côté serveur), mais les codes et charges exacts ne sont pas confirmés. Cette section devra être complétée une fois que de vraies réponses d'erreur auront été observées ou confirmées par l'équipe d'ingénierie DQE.

Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur. L'adresse du serveur DQE One est propre à votre org Salesforce — saisissez-la ci-dessous avant d'envoyer une requête.

Open console
Jobs et audits — API DQE One

Prévisualise l'apparence des enregistrements après l'application d'une transformation de préparation de données configurée (recherche/remplacement, éventuellement via des expressions régulières) sur un champ, avant toute validation des changements.

previewDataPrep

Requête

Envoyez le corps de la requête au format JSON, avec Content-Type: application/json.

Authentification — cet endpoint nécessite l'en-tête DQE-Authorization (une clé API). Voir Authentification et session pour savoir comment obtenir et configurer cette valeur.
{DOMAIN} est le domaine du serveur sur lequel votre instance du backend DQE One est installée — ce backend étant hébergé dans votre propre infrastructure, cette valeur est déterminée par votre déploiement, elle n'est pas fournie par DQE.
POSThttps://{DOMAIN}/previewDataPrep

Exemples de code

Prévisualiser une transformation de préparation de données

curl -X POST "https://{DOMAIN}/previewDataPrep" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": ["Rue"], "format": [], "isPersonAccount": false, "isRegex": [false], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": ["BillingStreet"], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": ["Rue De"], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}'
const body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }; fetch("https://{DOMAIN}/previewDataPrep", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": False, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } response = requests.post( "https://{DOMAIN}/previewDataPrep", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'aud' => 'DQEOne', 'crt' => '1730000000', 'filterJson' => '', 'find' => [ 'Rue' ], 'format' => [], 'isPersonAccount' => false, 'isRegex' => [ false ], 'orgId' => '00D5f000000ABCDEAU', 'orgPrefix' => 'dqe__', 'origin' => [ 'BillingStreet' ], 'prevRecords' => [], 'ProcessKind' => 'DataPrep', 'RecordType' => 'Account', 'replace' => [ 'Rue De' ], 'selectedFieldName' => 'BillingStreet', 'sub' => '0055f000000XyZAAU', 'url' => 'https://mycompany.my.salesforce.com/services/data/v58.0', 'urllogin' => 'https://mycompany.my.salesforce.com', 'uuidPage' => '3fa85f64-5717-4562-b3fc-2c963f66afa6' ]); $ch = curl_init("https://{DOMAIN}/previewDataPrep"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }; axios.post('https://{DOMAIN}/previewDataPrep', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"filterJson\": \"\"," + " \"find\": [" + " \"Rue\"" + " ]," + " \"format\": []," + " \"isPersonAccount\": false," + " \"isRegex\": [" + " false" + " ]," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"origin\": [" + " \"BillingStreet\"" + " ]," + " \"prevRecords\": []," + " \"ProcessKind\": \"DataPrep\"," + " \"RecordType\": \"Account\"," + " \"replace\": [" + " \"Rue De\"" + " ]," + " \"selectedFieldName\": \"BillingStreet\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"uuidPage\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/previewDataPrep")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestEn-têtes.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"filterJson\": \"\"," + " \"find\": [" + " \"Rue\"" + " ]," + " \"format\": []," + " \"isPersonAccount\": false," + " \"isRegex\": [" + " false" + " ]," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"origin\": [" + " \"BillingStreet\"" + " ]," + " \"prevRecords\": []," + " \"ProcessKind\": \"DataPrep\"," + " \"RecordType\": \"Account\"," + " \"replace\": [" + " \"Rue De\"" + " ]," + " \"selectedFieldName\": \"BillingStreet\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"uuidPage\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/previewDataPrep", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/previewDataPrep", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Paramètres

En-têtes

Header Description Mand / Opt
DQE-Authorization Clé API utilisée pour authentifier la requête. Voir Authentification et session pour savoir comment obtenir et configurer cette valeur. Mandatory

Paramètres du corps

Parameter Description Mand / Opt
aud La revendication « audience » — le service destinataire/cible visé par cette requête signée.
Type : Chaîne
Mandatory
crt La revendication d'horodatage de création/émission pour cette requête signée.
Type : Chaîne
Mandatory
filterJson A JSON-encoded string narrowing the preview to a subset of records, consistent with filterJson on newJob in the Jobs & Audits table above.
Type: String
Optional
find Un tableau de valeurs à rechercher dans le(s) champ(s) ciblé(s), chaque entrée étant associée, par position, à l'entrée correspondante dans replace ci-dessous. Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Mandatory
format Un tableau de règles de formatage appliquées aux valeurs prévisualisées (par exemple, des règles de casse ou de masquage). Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Optional
isPersonAccount Indique si la prévisualisation doit tenir compte de l'activation des comptes personnels (Person Accounts) dans l'org.
Type : Booléen
Optional
isRegex Un tableau d'indicateurs précisant, pour chaque paire find/replace, si la valeur recherchée doit être traitée comme une expression régulière plutôt que comme une chaîne littérale. Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Optional
orgId L'identifiant de l'organisation Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
orgPrefix Un court préfixe/espace de noms identifiant les champs personnalisés de l'org dans Salesforce.
Type : Chaîne
Mandatory
origin Un tableau identifiant le(s) champ(s)/colonne(s) source auxquels s'applique chaque paire find/replace. Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Mandatory
prevRecords Un tableau d'enregistrements déjà récupérés sur lesquels prévisualiser la transformation, plutôt que d'interroger à nouveau Salesforce. Le spec source ne type pas les éléments du tableau.
Type : Tableau (JSON)
Optional
ProcessKind Le type de processus de préparation de données prévisualisé. Le spec source type ce champ comme une simple chaîne sans énumérer les valeurs autorisées.
Type : Chaîne
Mandatory
RecordType L'objet Salesforce / type d'enregistrement auquel s'applique la prévisualisation (par exemple, Account ou Contact).
Type : Chaîne
Mandatory
replace Un tableau de valeurs de remplacement, associées par position à find ci-dessus.
Type : Tableau (JSON)
Mandatory
selectedFieldName Le nom du champ prévisualisé/transformé.
Type : Chaîne
Mandatory
sub La revendication « subject » — l'identifiant d'utilisateur/session Salesforce à l'origine de la requête.
Type : Chaîne
Mandatory
url The Salesforce org’s instance/API base URL.
Type: String
Mandatory
urllogin L'URL de connexion de l'org Salesforce.
Type : Chaîne
Mandatory
uuidPage Un UUID identifiant la page/session d'interface personnalisée à l'origine de cette demande de prévisualisation, utilisé pour corréler la prévisualisation à une session d'interface spécifique. Déduit uniquement à partir du nom du champ.
Type : Chaîne
Mandatory

Réponse

Si l'appel réussit, l'API renvoie un objet JSON contenant les clés suivantes.

Key Description Type
previewColumn Un tableau d'objets décrivant la ou les colonnes affectées par la transformation prévisualisée (par exemple, les métadonnées du champ pour la colonne prévisualisée). Le spec source type chaque élément comme un objet générique sans autre propriété définie. array[object]
previewValues Un tableau d'objets contenant les valeurs d'enregistrement prévisualisées après application de la transformation recherche/remplacement/regex configurée, sans validation des changements. Le spec source type chaque élément comme un objet générique sans autre propriété définie. array[object]

Exemple de réponse

Exemple de réponse de prévisualisation de préparation de données
{ "previewColumn": [ { "field": "BillingStreet", "label": "Billing Street" } ], "previewValues": [ { "Id": "0015f00000AbCdeAAE", "before": "12 Rue de Paris", "after": "12 Rue De Paris" } ] }

Erreurs

Non documenté dans le spec source. La définition OpenAPI de cet endpoint ne documente que la réponse de succès 200 — elle ne définit pas de codes de statut d'erreur, de corps d'erreur ou de scénarios d'échec spécifiques. Il faut s'attendre, en pratique, à des modes d'échec HTTP standards (par exemple, un statut 4xx pour un en-tête DQE-Authorization manquant ou invalide, ou un corps de requête mal formé, et un statut 5xx pour une défaillance côté serveur), mais les codes et charges exacts ne sont pas confirmés. Cette section devra être complétée une fois que de vraies réponses d'erreur auront été observées ou confirmées par l'équipe d'ingénierie DQE.

Cliquez sur le bouton ci-dessous pour tester cet endpoint en direct dans votre navigateur. L'adresse du serveur DQE One est propre à votre org Salesforce — saisissez-la ci-dessous avant d'envoyer une requête.

Open console

Voir aussi

Associé à

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0