Una vez que haya indexado registros con un proceso Index Records (vea Create and launch a process in DQE One Standalone), sus propias aplicaciones pueden consultar ese índice en tiempo real mediante una pequeña API REST — para impulsar una búsqueda con autocompletado, o para comprobar si existe un duplicado antes de crear un nuevo registro.
Autenticación
Los 4 endpoints siguientes usan las mismas credenciales que el servidor MCP y el resto de la API REST de DQE One Standalone: HTTP Basic Auth con el email de su cuenta y su token de API.
# Linux / macOS echo -n "you@example.com:your_api_token" | base64
# Windows PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("you@example.com:your_api_token"))Encuentre o regenere su token en My Account > API Token. Envíelo como Authorization: Basic <valor base64> en cada solicitud.
Use las credenciales de una cuenta real y existente — una cabecera bien formada que haga referencia a un email que no existe actualmente devuelve un error del servidor en lugar de una respuesta "no autorizado" limpia.
Estos endpoints también permiten solicitudes de origen cruzado, por lo que puede llamarlos directamente desde un navegador (por ejemplo, para crear un cuadro de búsqueda en tiempo real). Si lo hace, tenga en cuenta que su token de API sería entonces visible para cualquiera que inspeccione la página — para cualquier uso más allá de una herramienta interna de confianza, llame a estos endpoints desde su propio backend y mantenga el token en el servidor.
Qué endpoint usar
| Endpoint | Qué hace | Úselo para |
|---|---|---|
GET /api/searchRecords |
Búsqueda de texto literal/fonética en todos los campos indexados — sin reglas de coincidencia de duplicados implicadas | Búsqueda con autocompletado |
POST /api/lookupRecords |
Todos los registros candidatos cuyos datos podrían coincidir con los suyos, usando las reglas de coincidencia de su RuleSet — sin puntuar ni clasificar | Mostrar una lista de posibles coincidencias para que una persona la revise |
POST /api/lookupGolden |
La única mejor coincidencia, con una puntuación de certeza, usando el mismo motor de coincidencias que Unify Process | Comprobación de duplicados en tiempo real antes de crear un registro |
GET /api/searchGoldentambién existe y toma los mismos parámetros quesearchRecords— pero actualmente ejecuta exactamente la misma búsqueda literal/fonética, no una búsqueda de coincidencia de duplicados. A pesar de su nombre, no devuelve un registro golden ni aplica ninguna regla de coincidencia. UselookupGoldenpara eso.
Identificar qué índice consultar
Cada endpoint necesita saber los datos de qué proceso Index Records debe buscar. Proporcione uno de los dos:
-
pid— el id del proceso Index Records. -
recordType— el nombre del objeto/tabla que indexa (por ejemplo, un nombre de objeto de Salesforce o Dynamics). Standalone lo resuelve al proceso Index Records publicado, no archivado, creado más recientemente que indexa ese objeto — si ninguno coincide, obtendrá un error en lugar de recurrir silenciosamente a otra cosa.
Si no se proporciona ninguno de los dos, la solicitud falla con {"status":"error","error":"Either 'pid' or 'recordType' must be provided"}.
GET /api/searchRecords
Parámetros (cadena de consulta):
| Parámetro | Obligatorio | Descripción |
|---|---|---|
| search | Sí | El texto a buscar |
| pid / recordType | Uno de los dos | Qué índice consultar |
Devuelve un array JSON de registros coincidentes — cada uno es el conjunto completo de campos almacenados en el momento de la indexación, limitado a 50 resultados (sin paginación). No hay puntuación de distancia: un registro coincide con uno de los niveles de búsqueda siguientes, o no coincide en absoluto.
Standalone prueba cada nivel en orden y se detiene en cuanto uno de ellos devuelve suficientes resultados:
- Una coincidencia exacta de una palabra completa.
- Una coincidencia parcial/por prefijo (útil mientras la persona todavía está escribiendo).
- Una coincidencia fonética en francés.
- Una coincidencia fonética genérica.
En la práctica, esto significa que un término de búsqueda corto o ligeramente mal escrito puede seguir mostrando el registro correcto — pero también significa que una búsqueda puede, de vez en cuando, devolver un registro fonéticamente similar que no es el que buscaba (por ejemplo, buscar "Dupont" puede también mostrar "Dupond").
Ejemplo:
curl -G "https://your-standalone-url/api/searchRecords" \ --data-urlencode "search=Dupont" \ --data-urlencode "recordType=Contact" \ -H "Authorization: Basic <valor base64>"
POST /api/lookupRecords
Cuerpo: un objeto JSON de pares campo/valor sobre los que buscar coincidencias, más pid o recordType (en el cuerpo o como parámetros de consulta), por ejemplo:
{
"pid": 12,
"LastName": "Dupont",
"Email": "a@b.com"
}Ejemplo:
curl -X POST "https://your-standalone-url/api/lookupRecords" \
-H "Authorization: Basic <valor base64>" \
-H "Content-Type: application/json" \
-d '{"recordType": "Contact", "LastName": "Dupont", "Email": "a@b.com"}'Devuelve un array JSON de todos los registros candidatos que las reglas de coincidencia de su RuleSet consideran una posible coincidencia — sin límite en el número de resultados y sin clasificación/puntuación por registro. Trátelo como una lista reducida para que usted mismo la afine, no como una respuesta final.
POST /api/lookupGolden — comprobación de duplicados en tiempo real
Mismo cuerpo de solicitud que lookupRecords. Este es el único endpoint que aplica una puntuación completa — reutiliza los mismos algoritmos de coincidencia y los ajustes de Threshold configurados en la pestaña Matching de su RuleSet.
curl -X POST "https://your-standalone-url/api/lookupGolden" \
-H "Authorization: Basic <valor base64>" \
-H "Content-Type: application/json" \
-d '{"recordType": "Contact", "LastName": "Dupont", "Email": "a@b.com"}'Respuesta, si se encuentra una coincidencia:
{
"certainty": 0.92,
"matched_by": "Name + Email",
"record": { "LastName": "Dupont", "Email": "a@b.com", ... }
}- certainty — una puntuación de 0 a 1 (1 = coincidencia exacta), derivada de la puntuación de distancia de la regla de coincidencia.
- matched_by — el nombre de la regla de coincidencia que produjo la mejor puntuación.
- record — el registro indexado completo. Si su proceso Index Records tiene un campo Parent Id configurado, este es el padre del registro coincidente en lugar de la propia coincidencia.
Si nada coincide lo suficientemente cerca como para satisfacer el Threshold de alguna regla, la respuesta es un objeto vacío {} — trátelo como "no se encontró ningún duplicado".
Mantener el índice actualizado
No hay indexación incremental — cada vez que se ejecuta el proceso Index Records, reconstruye por completo su índice desde cero. Para mantener los resultados actualizados:
- Vuelva a ejecutar el proceso manualmente, o prográmelo (vea Schedule a process in DQE One Standalone) — la frecuencia mínima disponible es cada 15 minutos.
- Cambiar las reglas de coincidencia del RuleSet surte efecto de inmediato en estos 4 endpoints sin necesidad de volver a ejecutar nada — pero esto solo afecta a cómo se puntúan las futuras consultas, no a los datos ya indexados.
Gestión de errores
Casi todos los errores — un pid/recordType ausente, un recordType desconocido, un cuerpo de solicitud malformado — se devuelven como una respuesta HTTP 200 normal con {"status":"error","error":"..."} en el cuerpo. El único caso que devuelve un estado HTTP distinto es el fallo de autenticación (401). Compruebe siempre el cuerpo de la respuesta, no solo el código de estado HTTP.
Límites
-
searchRecords/searchGoldendevuelven como máximo 50 resultados, sin paginación — reduzca su término de búsqueda si necesita ver más. - No hay limitación de velocidad integrada en ninguno de estos 4 endpoints. Si los llama desde una integración de alto tráfico (por ejemplo, un cuadro de búsqueda de cara al público), añada su propia limitación en su lado en lugar de confiar en que DQE One Standalone se proteja a sí mismo.
Artículos relacionados
- Field Reference in DQE One Standalone
- Create and launch a process in DQE One Standalone
- Connect a data source in DQE One Standalone
- Configure a RuleSet in DQE One Standalone
- Schedule a process in DQE One Standalone
Relacionada con