Importez, exportez et consultez les RuleSets de déduplication
sur lesquels s'appuient les processes check_duplicate.
{DOMAIN} est le nom d'hôte de votre propre
serveur DQE One Standalone — il est auto-hébergé, cette valeur
dépend donc de votre déploiement. {EMAIL}
est votre identifiant de connexion DQE One et
{API_TOKEN} le token généré dans
My Account > API Token.
Deux ids différents. Chaque RuleSet possède
un identifiant numériqueid
et une chaînesetId.
createProcess attend l'id numérique dans
ruleSet ; getRuleset attend la
chaîne dans set_id ; et dans un process
check_duplicate, la clé de fields
est le setId de type chaîne. Les deux proviennent
de listRulesets.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Get,
"https://{DOMAIN}/api/Ruleset/list");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Envoyez une requête GET avec le set_id
de type chaîne.
Où se trouvent les libellés : les valeurs
de matching.Labels[].value sont ce que vous
listez dans fields lors de la création du process,
par ex. {"RS_ABC": ["Email + Name"]}.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Get,
"https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Get,
"https://{DOMAIN}/api/Ruleset/export");
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Envoyez un POSTmultipart/form-data
avec un seul champ nommé file (un fichier
.json).
Comportement à connaître : les règles à
code personnalisé (une règle avec une clé Definition,
ou Custom: true) sont rejetées.
Un RuleSet modifiable existant ayant le même
set_id est écrasé. Un fichier
peut réussir partiellement : vous obtenez alors
partial success avec la liste des erreurs. Lorsque
tous les RuleSets échouent, le statut est 500 et error
est une liste (contrairement à tous les autres endpoints,
où il s'agit d'une chaîne). Un RuleSet qui pointe vers un
fichier ou un credential doit référencer un élément existant.
POSThttps://{DOMAIN}/api/Ruleset/import
Exemples de code
Importer des RuleSets
curl -u "{EMAIL}:{API_TOKEN}" -X POST \
-F "file=@rulesets.json" \
"https://{DOMAIN}/api/Ruleset/import"
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new
AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{EMAIL}:{API_TOKEN}")));
using var request = new HttpRequestMessage(HttpMethod.Post,
"https://{DOMAIN}/api/Ruleset/import");
var form = new MultipartFormDataContent();
form.Add(new ByteArrayContent(File.ReadAllBytes("rulesets.json")),
"file", "rulesets.json");
request.Content = form;
var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode + " "
+ await response.Content.ReadAsStringAsync());
Authentification : HTTP Basic — votre email
DQE One et votre API token (My Account > API Token).
Consultez l'article Introduction.
Réponse
Importé (succès ou succès partiel). Statut HTTP
200.
Clé
Description
Type
status
Valeurs : success, partial success,
error
String
id
Array
error
Une LISTE ici (contrairement à tous les autres endpoints).
Array
Exemple de réponse
Exemple de réponse
{
"status":
"success",
"id": [
7
]
}
Erreurs
HTTP
Corps / signification
400
API only accept .json file.
401
Unauthorized
500
Tester l'API
Cliquez sur le bouton ci-dessous pour tester cet endpoint
en direct dans votre navigateur.
À savoir : cette console envoie une
vraie requête à votre propre serveur depuis
votre navigateur, avec votre véritable API token. Cela
crée ou écrase de vrais RuleSets.