Documentación · API de verificación
La solicitud
Cómo describir las partes que usted verifica, dónde las busca el motor de coincidencias y qué parámetros acotan y ajustan el resultado.
Una solicitud de coincidencia describe las partes que desea comprobar, indica en qué colección buscar y, de forma opcional, acota los candidatos y ajusta la puntuación. Puede probar cada elemento en Verificación.
Un ejemplo de solicitud
Tres partes en una sola solicitud: una persona con nombres en dos escrituras, una empresa con su país y una embarcación con su número IMO. La cadena de consulta conserva solo los listados de sanciones, excluye un registro y pide un umbral más estricto.
curl -X POST "https://api.crownintelligence.net/api/match/default?limit=3&threshold=0.8&topics=sanction&exclude_dataset=Wikidata%20PEPs" \
-H "Content-Type: application/json" \
-d '{"queries":{"person":{"schema":"Person","properties":{"name":["Igor Putin","Игорь Путин"],"birthDate":["1953-03-30"],"nationality":["ru"]}},"company":{"schema":"Company","properties":{"name":["Rosneft"],"country":["ru"]}},"vessel":{"schema":"Vessel","properties":{"name":["Example Star"],"imoNumber":["9000000"]}}}}'import requests
BASE = "https://api.crownintelligence.net"
PARAMS = {
"limit": 3,
"threshold": 0.8, # stricter than the 0.75 default
"algorithm": "standard",
"topics": ["sanction"], # sanctions listings only
"exclude_dataset": ["Wikidata PEPs"],
}
PERSON = {"schema": "Person", "properties": {"name": ["Igor Putin", "Игорь Путин"], "birthDate": ["1953-03-30"], "nationality": ["ru"]}}
COMPANY = {"schema": "Company", "properties": {"name": ["Rosneft"], "country": ["ru"]}}
VESSEL = {"schema": "Vessel", "properties": {"name": ["Example Star"], "imoNumber": ["9000000"]}}
r = requests.post(f"{BASE}/api/match/default", params=PARAMS,
json={"queries": {"person": PERSON, "company": COMPANY, "vessel": VESSEL}}, timeout=90)
r.raise_for_status()
for key, answer in r.json()["responses"].items():
best = answer["results"][0] if answer["results"] else None
print(key, answer["status"], best and (best["score"], best["caption"], best["datasets"]))const BASE = "https://api.crownintelligence.net";
const params = new URLSearchParams({ limit: "3", threshold: "0.8", algorithm: "standard" });
params.append("topics", "sanction");
params.append("exclude_dataset", "Wikidata PEPs");
const queries = {
person: { schema: "Person", properties: { name: ["Igor Putin", "Игорь Путин"], birthDate: ["1953-03-30"], nationality: ["ru"] } },
company: { schema: "Company", properties: { name: ["Rosneft"], country: ["ru"] } },
vessel: { schema: "Vessel", properties: { name: ["Example Star"], imoNumber: ["9000000"] } },
};
const res = await fetch(`${BASE}/api/match/default?${params}`, {
method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ queries }),
});
const data = await res.json();
for (const [key, answer] of Object.entries(data.responses)) console.log(key, answer.status, answer.results[0]?.caption);Alcance: dónde busca el motor de coincidencias
La búsqueda de coincidencias se realiza en dos etapas. Primero, el servicio reúne candidatos de la colección: registros que contienen todas las palabras del nombre consultado y, si son menos de 50, registros que comparten cualquier palabra del nombre, comienzan con el nombre consultado o tienen el número IMO. Luego, cada candidato se puntúa frente a la consulta completa y se devuelven los mejores. El alcance y los filtros actúan sobre la primera etapa, por lo que determinan qué registros pueden llegar a puntuarse.
La colección
La colección forma parte de la ruta y es obligatoria: /api/match/default, /api/match/sanctions, /api/match/peps, /api/match/crime o /api/match/maritime. Un nombre desconocido devuelve 404 con la lista de colecciones.
| Colección | Contenido | Registros | Registros |
|---|---|---|---|
default | Todos los registros activos: sanciones, PEPs, inhabilitación para contratar, medidas coercitivas y otras listas de riesgo | — | — |
sanctions | Solo listados de sanciones | — | — |
peps | Personas expuestas políticamente | — | — |
crime | Inhabilitación para contratar, órdenes de embargo fiscal y avisos de insolvencia | — | — |
maritime | Embarcaciones y registros que incluyen un número IMO | — | — |
Las cifras corresponden a la compilación actual (/api/catalog). Un registro individual no puede usarse como ruta; use include_dataset en su lugar.
Filtrado
Los filtros son parámetros de la cadena de consulta y pueden repetirse. Varios valores del mismo filtro se combinan con OR; filtros distintos se combinan con AND. Así, ?topics=sanction&topics=debarment&exclude_dataset=US%20CSL significa "listados de sanciones o de inhabilitación para contratar, pero no del registro US CSL". Los filtros aplicados se devuelven en filters.
Filtrado por temas
topics acepta sanction, role.pep, debarment y reg.action (también como lista separada por comas). Por ahora, los temas se derivan del tipo de lista de la que proviene un registro; consulte Temas de riesgo. Un tema desconocido devuelve 400 con los valores aceptados.
Filtrado por registros
include_dataset conserva solo los registros de los registros indicados; exclude_dataset los elimina. Use los nombres de registro que muestran Fuentes, /api/sources y el campo datasets de cada resultado, por ejemplo include_dataset=UK%20OFSI. Los nombres deben ser exactos; un nombre desconocido simplemente no produce coincidencias.
La consulta
El cuerpo contiene hasta 20 consultas con nombre en queries. Nómbrelas según sus propios ID de cliente o de fila para poder relacionar después las respuestas. También se acepta una sola consulta sin el contenedor queries, y se responde como q1.
{"schema": "Company", "properties": {"name": ["Example Trading LLC"], "country": ["ae"]}}
El esquema
schema indica qué tipo de parte describe: Person, Company, Organization, Vessel, Airplane o LegalEntity (cualquier tipo). Es opcional y su valor predeterminado es LegalEntity. Un registro de un tipo claramente distinto (una embarcación cuando se pidió una persona) pierde 0.20; los registros de tipo desconocido no se penalizan. Use el tipo más específico que conozca.
Las propiedades
Las propiedades son listas de cadenas, con hasta cinco valores cada una. Estas son las que lee el motor de coincidencias; cualquier otra se ignora. El elemento query que se devuelve en la respuesta muestra exactamente lo que se leyó, lo que es la forma más rápida de detectar una propiedad mal escrita.
| Propiedad | También se acepta como | Formato y uso |
|---|---|---|
name | query | Nombres y alias. Obligatorio, salvo que se indique un número IMO. Cualquier escritura; se ignoran los acentos. |
birthDate | dob | YYYY, YYYY-MM o YYYY-MM-DD. Las fechas parciales se comparan con la precisión que usted indique. |
nationality | country, countries, jurisdiction, flag | Códigos ISO 3166 de dos letras, en mayúsculas o minúsculas. La nacionalidad de una persona, la jurisdicción de una empresa o el pabellón de una embarcación. |
imoNumber | imo | Número IMO de siete dígitos. Se eliminan los caracteres que no sean dígitos. |
Persona
Indique el nombre completo como una sola cadena (nombres y apellidos); las partes del nombre por separado no se leen de forma independiente. Agregue la fecha de nacimiento, aunque sea solo el año, y la nacionalidad: cada valor coincidente aumenta la puntuación y cada valor contradictorio la reduce.
Empresa y organización
Indique la razón social y los nombres comerciales, así como el país de registro. Los números de registro, de identificación fiscal y LEI aún no se puntúan, así que inclúyalos en sus propios registros para la revisión, pero no dependa de ellos aquí.
Embarcación
El número IMO es la evidencia más sólida: un número coincidente eleva la puntuación a al menos 0.98, y uno distinto le resta 0.30. Use flag para el Estado del pabellón. Consulte Marítimo para conocer la cobertura.
Parámetros de ajuste y valores predeterminados
| Parámetro | Valor predeterminado | Significado |
|---|---|---|
limit | 5 | Resultados por consulta, de 1 a 50. |
threshold | 0.75 | Puntuación a partir de la cual match es verdadero, de 0 a 1. Los resultados por debajo de ese valor se devuelven de todos modos. |
algorithm | standard | standard o name-only; best se acepta como el valor predeterminado actual. Consulte Ajuste. |
topics, include_dataset, exclude_dataset | ninguno | Filtros de candidatos, arriba. |
changed_since | ninguno | Fecha u hora ISO 8601: solo registros agregados o modificados desde ese momento. Para la reverificación programada; consulte Monitoreo. |
Más información: La respuesta, Referencia del modelo, Ajuste del motor de coincidencias.
Última actualización 2026-10-03