RuleSets

Support DQE
Support DQE
  • Actualización
RuleSets - DQE One Standalone API

Importe, exporte y consulte los RuleSets de deduplicación en los que se basan los processes check_duplicate.

{DOMAIN} es el nombre de host de su propio servidor DQE One Standalone — es autoalojado, por lo que este valor depende de su implementación. {EMAIL} es su usuario de DQE One y {API_TOKEN} el token generado en My Account > API Token.
Documentación relacionada: DQE One Standalone API — Introduction, Files, Credentials, Processes, Runs & results, RuleSets.
Para crear un RuleSet de forma visual, consulte Configure a RuleSet in DQE One Standalone.
Dos ids distintos. Cada RuleSet tiene un identificador numérico id y un identificador de tipo cadena setId. createProcess espera el id numérico en ruleSet; getRuleset espera la cadena en set_id; y en un process check_duplicate la clave de fields es el setId de tipo cadena. Ambos provienen de listRulesets.
Listar RuleSets - DQE One Standalone API

Enumera sus RuleSets, empezando por los actualizados más recientemente.

listRulesets

Solicitud

Envíe una solicitud GET. No hay parámetros.

GEThttps://{DOMAIN}/api/Ruleset/list

Ejemplos de código

Listar sus RuleSets

curl -u "{EMAIL}:{API_TOKEN}" \ "https://{DOMAIN}/api/Ruleset/list"
fetch("https://{DOMAIN}/api/Ruleset/list", { method: "GET", headers: { "Authorization": "Basic " + btoa("{EMAIL}:{API_TOKEN}") } }) .then(r => r.text()) .then(data => console.log(data));
import requests response = requests.get( "https://{DOMAIN}/api/Ruleset/list", auth=("{EMAIL}", "{API_TOKEN}"), ) print(response.status_code, response.text)
<?php $ch = curl_init("https://{DOMAIN}/api/Ruleset/list"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($ch, CURLOPT_USERPWD, "{EMAIL}:{API_TOKEN}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . " " . $response;
const axios = require('axios'); axios({ method: "get", url: "https://{DOMAIN}/api/Ruleset/list", auth: { username: "{EMAIL}", password: "{API_TOKEN}" } }) .then(res => console.log(res.status, res.data)) .catch(err => console.log(err.response ? err.response.status : err.message, err.response && err.response.data));
import java.net.URI; import java.net.http.*; import java.util.Base64; String auth = Base64.getEncoder().encodeToString("{EMAIL}:{API_TOKEN}".getBytes()); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/api/Ruleset/list")) .header("Authorization", "Basic " + auth) .method("GET", HttpRequest.BodyPublishers.noBody()) .build(); HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode() + " " + response.body());
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());
package main import ( "fmt" "io" "net/http" ) func main() { req, _ := http.NewRequest("GET", "https://{DOMAIN}/api/Ruleset/list", nil) req.SetBasicAuth("{EMAIL}", "{API_TOKEN}") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.StatusCode, string(out)) }

Parámetros

Este endpoint no acepta parámetros.

Autenticación: HTTP Basic — su email de DQE One y su API token (My Account > API Token). Consulte el artículo de Introducción.

Respuesta

Array. Estado HTTP 200.

El cuerpo es un array JSON; cada elemento contiene estas claves.

Clave Descripción Tipo
id Id numérico - el que /api/Process/create espera en 'ruleSet'. Integer
setId Id de tipo cadena - el que /api/Ruleset/get espera en 'set_id'. String
label String
updatedOn String
source String

Ejemplo de respuesta

Respuesta de ejemplo
[ { "id": 7, "setId": "RS_ABC", "label": "Contacts email+name", "updatedOn": "2026-11-01T10:00:00Z", "source": "postgres" } ]

Errores

HTTP Cuerpo / significado
401 Unauthorized

Probar la API

Haga clic en el botón de abajo para probar este endpoint en directo en su navegador.

Atención: esta consola envía una solicitud real a su propio servidor desde su navegador, con su API token real.
Abrir consola
Obtener un RuleSet - DQE One Standalone API

Devuelve la definición completa de un RuleSet, incluidas las etiquetas de reglas de coincidencia que necesita para un process check_duplicate.

getRuleset

Solicitud

Envíe una solicitud GET con el set_id de tipo cadena.

Dónde están las etiquetas: los valores de matching.Labels[].value son los que se indican en fields al crear el process, p. ej. {"RS_ABC": ["Email + Name"]}.
GEThttps://{DOMAIN}/api/Ruleset/get?set_id={set_id}

Ejemplos de código

Obtener un RuleSet

curl -u "{EMAIL}:{API_TOKEN}" \ "https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC"
fetch("https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC", { method: "GET", headers: { "Authorization": "Basic " + btoa("{EMAIL}:{API_TOKEN}") } }) .then(r => r.text()) .then(data => console.log(data));
import requests response = requests.get( "https://{DOMAIN}/api/Ruleset/get", auth=("{EMAIL}", "{API_TOKEN}"), params={"set_id": "RS_ABC"}, ) print(response.status_code, response.text)
<?php $ch = curl_init("https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($ch, CURLOPT_USERPWD, "{EMAIL}:{API_TOKEN}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . " " . $response;
const axios = require('axios'); axios({ method: "get", url: "https://{DOMAIN}/api/Ruleset/get", auth: { username: "{EMAIL}", password: "{API_TOKEN}" }, params: { "set_id": "RS_ABC" } }) .then(res => console.log(res.status, res.data)) .catch(err => console.log(err.response ? err.response.status : err.message, err.response && err.response.data));
import java.net.URI; import java.net.http.*; import java.util.Base64; String auth = Base64.getEncoder().encodeToString("{EMAIL}:{API_TOKEN}".getBytes()); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC")) .header("Authorization", "Basic " + auth) .method("GET", HttpRequest.BodyPublishers.noBody()) .build(); HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode() + " " + response.body());
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());
package main import ( "fmt" "io" "net/http" ) func main() { req, _ := http.NewRequest("GET", "https://{DOMAIN}/api/Ruleset/get?set_id=RS_ABC", nil) req.SetBasicAuth("{EMAIL}", "{API_TOKEN}") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.StatusCode, string(out)) }

Parámetros

Campo Descripción Tipo Obl / Opc
set_id La cadena setId de la lista. String Obligatorio
Autenticación: HTTP Basic — su email de DQE One y su API token (My Account > API Token). Consulte el artículo de Introducción.

Respuesta

RuleSet. Estado HTTP 200.

Clave Descripción Tipo
setId String
isEditable Boolean
label String
updatedOn String
source String
matching Object
filtering Object
parenting Object
merging Object
objectsNames Array
multiobjectsMapping Object
isPublished Boolean

Ejemplo de respuesta

La respuesta es un archivo adjunto, no JSON.

Errores

HTTP Cuerpo / significado
400 set_id parameter is required
401 Unauthorized
404 RuleSet not found

Probar la API

Haga clic en el botón de abajo para probar este endpoint en directo en su navegador.

Atención: esta consola envía una solicitud real a su propio servidor desde su navegador, con su API token real.
Abrir consola
Exportar RuleSets - DQE One Standalone API

Descarga todos sus RuleSets en un único archivo JSON indexado por set_id. No hay filtro ni paginación.

exportRulesets

Solicitud

Envíe una solicitud GET. La respuesta es un archivo JSON adjunto.

GEThttps://{DOMAIN}/api/Ruleset/export

Ejemplos de código

Exportar todos sus RuleSets

curl -u "{EMAIL}:{API_TOKEN}" \ "https://{DOMAIN}/api/Ruleset/export"
fetch("https://{DOMAIN}/api/Ruleset/export", { method: "GET", headers: { "Authorization": "Basic " + btoa("{EMAIL}:{API_TOKEN}") } }) .then(r => r.text()) .then(data => console.log(data));
import requests response = requests.get( "https://{DOMAIN}/api/Ruleset/export", auth=("{EMAIL}", "{API_TOKEN}"), ) print(response.status_code, response.text)
<?php $ch = curl_init("https://{DOMAIN}/api/Ruleset/export"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($ch, CURLOPT_USERPWD, "{EMAIL}:{API_TOKEN}"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . " " . $response;
const axios = require('axios'); axios({ method: "get", url: "https://{DOMAIN}/api/Ruleset/export", auth: { username: "{EMAIL}", password: "{API_TOKEN}" } }) .then(res => console.log(res.status, res.data)) .catch(err => console.log(err.response ? err.response.status : err.message, err.response && err.response.data));
import java.net.URI; import java.net.http.*; import java.util.Base64; String auth = Base64.getEncoder().encodeToString("{EMAIL}:{API_TOKEN}".getBytes()); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/api/Ruleset/export")) .header("Authorization", "Basic " + auth) .method("GET", HttpRequest.BodyPublishers.noBody()) .build(); HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode() + " " + response.body());
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());
package main import ( "fmt" "io" "net/http" ) func main() { req, _ := http.NewRequest("GET", "https://{DOMAIN}/api/Ruleset/export", nil) req.SetBasicAuth("{EMAIL}", "{API_TOKEN}") resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.StatusCode, string(out)) }

Parámetros

Este endpoint no acepta parámetros.

Autenticación: HTTP Basic — su email de DQE One y su API token (My Account > API Token). Consulte el artículo de Introducción.

Respuesta

Archivo adjunto JSON. Estado HTTP 200.

Respuesta binaria/archivo adjunto (application/octet-stream).

Ejemplo de respuesta

La respuesta es un archivo adjunto, no JSON.

Errores

HTTP Cuerpo / significado
401 Unauthorized

Probar la API

Haga clic en el botón de abajo para probar este endpoint en directo en su navegador.

Atención: esta consola envía una solicitud real a su propio servidor desde su navegador, con su API token real.
Abrir consola
Importar RuleSets - DQE One Standalone API

Importa uno o varios RuleSets desde un archivo JSON en el formato de exportación.

importRuleset

Solicitud

Envíe una solicitud multipart/form-data mediante POST con un campo llamado file (un archivo .json).

Comportamiento que debe conocer: las reglas de código personalizado (una regla con una clave Definition, o Custom: true) se rechazan. Un RuleSet editable existente con el mismo set_id se sobrescribe. Un archivo puede tener éxito parcial: en ese caso se obtiene partial success con la lista de errores. Cuando todos los RuleSets fallan, el estado es 500 y error es una lista (a diferencia de todos los demás endpoints, donde es una cadena). Un RuleSet que apunta a un archivo o a un credential debe hacer referencia a uno que exista.
POSThttps://{DOMAIN}/api/Ruleset/import

Ejemplos de código

Importar RuleSets

curl -u "{EMAIL}:{API_TOKEN}" -X POST \ -F "file=@rulesets.json" \ "https://{DOMAIN}/api/Ruleset/import"
const form = new FormData(); form.append("file", fileInput.files[0]); // <input type="file"> fetch("https://{DOMAIN}/api/Ruleset/import", { method: "POST", headers: { "Authorization": "Basic " + btoa("{EMAIL}:{API_TOKEN}") }, body: form }) .then(r => r.text()) .then(data => console.log(data));
import requests response = requests.post( "https://{DOMAIN}/api/Ruleset/import", auth=("{EMAIL}", "{API_TOKEN}"), files={"file": open("rulesets.json", "rb")}, ) print(response.status_code, response.text)
<?php $ch = curl_init("https://{DOMAIN}/api/Ruleset/import"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_USERPWD, "{EMAIL}:{API_TOKEN}"); curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => new CURLFile("rulesets.json")]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo $status . " " . $response;
const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('file', fs.createReadStream("rulesets.json")); axios({ method: "post", url: "https://{DOMAIN}/api/Ruleset/import", auth: { username: "{EMAIL}", password: "{API_TOKEN}" }, headers: form.getHeaders(), data: form }) .then(res => console.log(res.status, res.data)) .catch(err => console.log(err.response ? err.response.status : err.message, err.response && err.response.data));
import java.net.URI; import java.net.http.*; import java.util.Base64; String auth = Base64.getEncoder().encodeToString("{EMAIL}:{API_TOKEN}".getBytes()); String boundary = "----dqe" + System.nanoTime(); byte[] content = java.nio.file.Files.readAllBytes(java.nio.file.Path.of("rulesets.json")); var out = new java.io.ByteArrayOutputStream(); out.write(("--" + boundary + "\r\nContent-Disposition: form-data; name=\"file\"; filename=\"" + "rulesets.json" + "\"\r\n\r\n").getBytes()); out.write(content); out.write(("\r\n--" + boundary + "--\r\n").getBytes()); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/api/Ruleset/import")) .header("Authorization", "Basic " + auth) .header("Content-Type", "multipart/form-data; boundary=" + boundary) .method("POST", HttpRequest.BodyPublishers.ofByteArray(out.toByteArray())) .build(); HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode() + " " + response.body());
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());
package main import ( "bytes" "fmt" "io" "mime/multipart" "net/http" "os" ) func main() { var buf bytes.Buffer w := multipart.NewWriter(&buf) part, _ := w.CreateFormFile("file", "rulesets.json") f, _ := os.Open("rulesets.json") io.Copy(part, f) w.Close() req, _ := http.NewRequest("POST", "https://{DOMAIN}/api/Ruleset/import", &buf) req.SetBasicAuth("{EMAIL}", "{API_TOKEN}") req.Header.Set("Content-Type", w.FormDataContentType()) resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.StatusCode, string(out)) }

Parámetros

Campo Descripción Tipo Obl / Opc
file Una exportación de RuleSets en .json. String (file) Obligatorio
Autenticación: HTTP Basic — su email de DQE One y su API token (My Account > API Token). Consulte el artículo de Introducción.

Respuesta

Importado (éxito o éxito parcial). Estado HTTP 200.

Clave Descripción Tipo
status
Valores: success, partial success, error
String
id Array
error Aquí es una LISTA (a diferencia de todos los demás endpoints). Array

Ejemplo de respuesta

Respuesta de ejemplo
{ "status": "success", "id": [ 7 ] }

Errores

HTTP Cuerpo / significado
400 API only accept .json file.
401 Unauthorized
500

Probar la API

Haga clic en el botón de abajo para probar este endpoint en directo en su navegador.

Atención: esta consola envía una solicitud real a su propio servidor desde su navegador, con su API token real. Esto crea o sobrescribe RuleSets reales.
Abrir consola

Véase también

Relacionada con

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0