Si CBPay configuró una comisión de compliance, se debita antes de la
llamada (verás
compliance_fee en la respuesta) y se reembolsa
automáticamente si el screening falla. Con comisión 0 el servicio es
gratuito para ti. Requiere tener tu propia
verificación de identidad aprobada.Catálogos para construir el formulario
Antes de armar el formulario de screening (o de verificación), obtén los catálogos oficiales conGET /v1/aml/catalogs: géneros, estados de empresa,
tipos de dirección, formas jurídicas (globales y en cascada por país),
fuentes de ingreso/patrimonio, estándares de industria con su default por
país, y las listas ISO-3166 de países y subdivisiones. Cada entrada trae
value (lo que envías a la API) y label (lo que muestras). Es data
estática: puedes cachearla por horas.
Catálogo de ciudades (por país)
Cuando el formulario pide una ciudad, consultaGET /v1/aml/catalogs/cities?country=US apenas se elige el país — una sola
llamada por país y luego filtras por estado en el cliente:
- Las claves de
statesson las mismas subdivisiones ISO 3166-2 decountry_subdivisionsen el catálogo principal;country_citieslista las ciudades cuya región no pudo mapearse a una subdivisión — ofrécelas también. Ningún campo es jamásnull. - Los nombres vienen en su escritura local (tildes incluidas — “Alhué”, “São Paulo”, “Ciudad de México”) y las divisiones urbanas están cubiertas (comunas, distritos, alcaldías), así el selector ofrece la ciudad tal como la conoce tu usuario.
- Un país sin cobertura responde
200con listas vacías — cae a un campo de ciudad de texto libre. Un código mal formado recibe400 invalid_country; uno desconocido,404 country_not_found. - Data estática servida con
Cache-Control: public, max-age=86400— se puede cachear por un día.
Lookup por código postal (US)
Cuando el formulario pide una dirección, resuelve primero el ZIP conGET /v1/aml/catalogs/postal-code?country=US&code=33130 y pre-llena ciudad
y estado:
- Hoy solo los ZIP de US (5 dígitos) tienen dataset. Un
404 postal_code_not_foundsignifica que el ZIP es desconocido — o que el país no tiene dataset — así que los campos de dirección siguen manuales. - Una solicitud mal formada recibe
400 invalid_payload. - Mismo caché que los demás catálogos:
Cache-Control: public, max-age=86400.
Enviar el screening
Un solo endpoint para persona y empresa; el tipo se detecta del payload (las demás diferencias entre ambos tipos de cuenta están en personas y empresas):person/company, se completa con los datos de tu cuenta (el
tipo persona/empresa se toma del tipo de la cuenta).
Envía toda la identidad que tengas (recomendado)
El objetocustomer acepta muchos más campos, todos opcionales, y se
reenvían íntegros al motor de screening: mientras más datos de identidad
envíes, más preciso es el análisis — la fecha de nacimiento, los países y
los documentos fuertes descartan homónimos y reducen falsos positivos.
Una consulta con exactamente los mismos datos de identidad reutiliza el
screening anterior (no se cobra uno nuevo). Agregar o cambiar campos de
identidad (nombre, fecha, país, documento, alias) hace la búsqueda más
específica y ejecuta — y cobra — un screening nuevo. Los campos cosméticos
(email, teléfono, dirección textual) no cambian el matching.
201 — persona y empresa devuelven la misma forma; cambia
compliance_service (compliance_person vs compliance_company, cada uno
con su comisión):
Rescreening
Re-ejecuta el análisis de la misma identidad (por ejemplo, ante un cambio de datos o por política periódica). No lleva body — usa elcustomer_id de tu
screening anterior:
200 (cobra compliance_rescreen, si está configurada):
409 no_screening.
Monitoreo continuo
Activa (o desactiva) la vigilancia permanente de la identidad — cambios en listas, PEP, prensa adversa. Las novedades llegan por el webhookaml_screening_updated:
200:
compliance_fee vuelve "0.000000" — desactivar es
siempre gratis.
Informe PDF del screening
Cada screening de tu historial puede descargarse como informe PDF ejecutivo con tu branding: portada con la decisión y su semáforo de riesgo, indicadores (sanciones, watchlists, PEP, terrorismo, narcóticos, prensa adversa, fraude, corrupción, armas), las coincidencias consolidadas con sus listas y vínculos, alias, glosario de señales y una sección final de respaldo con las fuentes internacionales consultadas. Es el documento que entregas a un auditor o a una contraparte como evidencia del análisis. Primero ubica elscreening_id en tu historial:
application/pdf con Content-Disposition y nombre de
archivo descriptivo. lang acepta en (default), es y zh; otro valor
devuelve 400 invalid_language. Un screening_id de otra cuenta devuelve
404.
El informe se genera desde la evidencia persistida del screening, por lo
que siempre está disponible aunque el motor de compliance esté caído. Los
datos del análisis (nombres de listas, títulos de prensa) se muestran en su
idioma original; solo las etiquetas del informe se traducen.
Webhook
Payload de ejemplo:
Errores
Preguntas frecuentes
¿Cuál es la diferencia entre AML screening y la verificación KYC/KYB?
¿Cuál es la diferencia entre AML screening y la verificación KYC/KYB?
El screening contrasta una identidad contra listas (sanciones, PEP, prensa
adversa) — no pide documentos. La verificación KYC/KYB
comprueba que la persona/empresa es quien dice ser, con formulario,
documentos y prueba de vida en video. Se complementan: verifica la identidad
con KYC/KYB y vigila su riesgo con AML.
¿Puedo screenear a mis propios clientes?
¿Puedo screenear a mis propios clientes?
Sí: el objeto
customer acepta cualquier identidad, no solo la de tu
cuenta. Cada screening cobra su comisión (persona o empresa según el
payload).¿El screening cambia el estado de verificación de mi cuenta?
¿El screening cambia el estado de verificación de mi cuenta?
No. Desde v1.34 el
kyc_status de tu cuenta lo maneja exclusivamente la
verificación de identidad KYC/KYB (tu onboarding). El screening solo evalúa
riesgo en listas.¿Por qué un screening antiguo no aparece en el historial ni tiene informe PDF?
¿Por qué un screening antiguo no aparece en el historial ni tiene informe PDF?
El historial y el informe PDF se generan desde la evidencia persistida de
cada screening, disponible para las operaciones ejecutadas desde que el
historial existe (v1.55). Los screenings anteriores a esa versión no tienen
evidencia persistida, por lo que no aparecen en
GET /v1/aml/screenings ni
pueden descargar informe. Si necesitas el documento, ejecuta un screening
nuevo de la misma identidad (si los datos son idénticos, reutiliza el
resultado sin cobrar de nuevo) y descarga su informe.