# Validación de Correo, Roles y Aprobación IEA

La validación combina una acción del usuario desde el portal, procesos REST de Lirion y revisión administrativa por parte del IEA.

> **Idea clave:** el usuario llega a una URL del portal desde un correo. Esa URL incluye un parámetro que identifica el registro a validar y el portal ejecuta el flujo correspondiente según el rol.

## URL de validación en el portal

Las rutas de validación son secciones del portal web. Cada ruta recibe un parámetro en la URL, normalmente asociado al registro que se debe validar. El portal usa ese parámetro para buscar el registro correcto, aplicar la validación y continuar con la asignación de contraseña o rol cuando corresponde.

<p class="callout info">**Nota:** esta página describe el comportamiento del portal al abrir el enlace. Los correos y workflows que generan esos enlaces se documentan en la página de backend y workflows.</p>

## Rutas de validación

<table id="bkmrk-ruta-del-portal-par%C3%A1" style="width:100%;border-collapse:collapse;margin:12px 0 20px 0;"><thead><tr><th style="border:1px solid #d8dee9;padding:12px;background:#eef2f7;text-align:left;">Ruta del portal</th><th style="border:1px solid #d8dee9;padding:12px;background:#eef2f7;text-align:left;">Parámetro</th><th style="border:1px solid #d8dee9;padding:12px;background:#eef2f7;text-align:left;">Registro buscado</th><th style="border:1px solid #d8dee9;padding:12px;background:#eef2f7;text-align:left;">Resultado</th></tr></thead><tbody><tr><td style="border:1px solid #d8dee9;padding:12px;">`/validate-professional/:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`CDS_Professional`</td><td style="border:1px solid #d8dee9;padding:12px;">Marca `IsVerified`, ejecuta `cds_authuser` y asigna rol si corresponde.</td></tr><tr><td style="border:1px solid #d8dee9;padding:12px;">`/validate-company/:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`CDS_Company`</td><td style="border:1px solid #d8dee9;padding:12px;">Marca `IsVerified` y solicita definir contraseña. El acceso final depende de validación IEA.</td></tr><tr><td style="border:1px solid #d8dee9;padding:12px;">`/validate-assistant/:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`:uuid`</td><td style="border:1px solid #d8dee9;padding:12px;">`CDS_Assistant`</td><td style="border:1px solid #d8dee9;padding:12px;">Marca `IsVerified`, ejecuta `cds_authuser` y luego solicita definir contraseña.</td></tr></tbody></table>

## Campos de control

- `IsVerified`: indica que el usuario validó el correo desde el portal.
- `IsPublic`: indica que el registro ya está habilitado para uso público/login según rol.
- `C_Job_ID`: posición funcional usada para determinar el rol a asignar.
- `IEA_AuthConfig`: configuración que relaciona posición con rol de Lirion.

## Proceso de asignación de rol

El proceso `cds_authuser` valida que el registro esté verificado, lee `C_Job_ID`, busca una configuración activa en `IEA_AuthConfig`, crea `AD_User_Roles` si el usuario no tiene el rol y marca `IsPublic = true` cuando la columna existe.

<div drawio-diagram="106"><img src="https://docs.primware.net/uploads/images/drawio/2026-05/Gty2kRN2AAC5XY2A-drawing-1-1778729573.png" alt="Gty2kRN2AAC5XY2A-drawing-1-1778729573.png"/></div>