Saltar al contenido principal
Esta guía te lleva por una verificación KYB completa en menos de 10 minutos. Crearás un flujo de verificación (workflow), iniciarás una sesión, entregarás el enlace de verificación alojado a tu contacto de la empresa, esperarás el webhook y obtendrás la decisión final.

Requisitos previos

  • Una aplicación de Didit con KYB activado. Crea una en business.didit.me si hace falta.
  • Una clave de API desde Developer Settings → Claves API.
  • Un endpoint de webhook accesible desde internet (para el webhook de la decisión).

Pasos

1

Crea un flujo de verificación KYB en la consola

Ve a Flujos → Crear flujo de trabajo. Elige Verificación de empresas como tipo de flujo.Activa las funciones que necesites:
  • Registro mercantil (obligatorio)
  • AML de la empresa (recomendado)
  • Personas clave (obligatorio en la mayoría de los sectores regulados)
  • Documentos (opcional: elige los tipos de documento que exigirás)
Guarda y copia el workflow_id: lo usarás en el siguiente paso.
2

Crea una sesión de verificación de empresas (KYB) por API

La respuesta contiene el session_id, el session_number y la url, el enlace de verificación alojado que entregas al contacto de la empresa. El tipo del flujo (KYB) marca automáticamente la sesión como sesión de empresa.
3

Envía el enlace a tu contacto de la empresa

Entrega la url al administrador de la empresa por tu propio correo o chat. Él la abre, completa los datos del registro, añade a las personas clave y a los UBO, y sube los documentos.Puedes personalizar la experiencia alojada con tu marca, logotipo y dominio: consulta Marca blanca.
4

Recibe el webhook de estado

Cuando la empresa termina el flujo y el procesamiento KYB alcanza un estado final, Didit envía por POST un evento status.updated a tu endpoint de webhook. Los eventos de las sesiones de empresa llevan session_kind: "business" dentro de data: filtra por ese valor para enviar el evento a tu gestor de KYB.Verifica la firma HMAC X-Signature-V2 antes de confiar en el evento (consulta webhooks) y después ejecuta tu lógica posterior. Guarda el secret_shared_key del destino (se devuelve al registrar el webhook) como DIDIT_WEBHOOK_SECRET en tu .env.Ejemplo de carga:
5

Obtén la decisión (opcional)

La carga del webhook status.updated ya contiene la decisión completa. Solo necesitas llamar a este endpoint si no te suscribiste a los webhooks o si quieres obtener la decisión bajo demanda más adelante.
La decisión incluye los datos del registro, las personas clave (UBO, accionistas, administradores y representantes), las coincidencias AML, los documentos y los resultados por función. Consulta el esquema de respuesta para ver la referencia completa de la carga.
6

Actúa según la decisión

Según el status:
  • APPROVED: da de alta a la empresa.
  • DECLINED: recházala y registra el código del motivo.
  • IN_REVIEW: espera la decisión del analista; recibirás otro webhook cuando se resuelva.

Ejemplo en Node.js

Qué ocurre automáticamente

  • Consulta al registro mercantil en 190+ jurisdicciones.
  • Extracción de UBO y directivos a partir de los datos del registro.
  • Análisis AML a nivel de empresa (sanciones, PEP, noticias adversas).
  • AML a nivel de persona para cada parte identificada.
  • OCR de documentos y comprobación cruzada.
  • Creación y agregación de perfiles de empresa identificados por vendor_data.

Siguientes pasos

Guía de integración

Arquitectura de extremo a extremo, sondeo frente a webhooks y lógica de reintentos.

Webhooks de KYB

Todos los eventos de KYB y la forma de sus cargas.

Estados

Referencia de estados de sesión, de función y de registro.

Esquema de respuesta

La carga completa de la decisión de KYB.

Entidades de empresa

Cómo se agregan los perfiles entre sesiones.