Los items del flujo son los elementos que puedes agregar al arrayDocumentation Index
Fetch the complete documentation index at: https://gotrebol.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
flow_items.items del account-flow. Se dividen en dos categorías:
- Items del widget (
ubos,forms): información que el widget captura del prospecto mediante UI. El usuario final interactúa con ellos. - Consultas a fuentes externas (
siger,rues,public_sat_signatures, etc.): Trébol las ejecuta automáticamente al crear cada verificación con este flujo. No tienen UI — corren en segundo plano.
Los documentos que el widget le solicita al prospecto son distintos: se configuran en el
record_validation_schema del flujo (no son items). Ver Crear el flujo.ubos — beneficiarios finales
Captura la declaración de beneficiarios finales (UBOs) de una empresa. El prospecto declara personas físicas con participación relevante y sus datos de identificación. Solo se puede agregar un ubos por flujo.
Cuándo usarlo: onboarding de empresas que requiera cumplir con políticas de conocimiento del beneficiario final (KYB/AML).
Opciones
| Opción | Tipo | Descripción |
|---|---|---|
ubos_data_extraction | boolean | Extrae información automáticamente de los documentos cargados en esta sección. |
ubos_form_schema | "mx_form" | "co_form" | Define el esquema de campos del formulario. Si no se especifica, se infiere del país de la verificación. |
ubos_threshold | number | Porcentaje mínimo de participación accionaria para declarar un UBO. Por defecto: 5% para Colombia, 25% para otros países. Por defecto este valor se recalcula recursivamente para empresas anidadas según el porcentaje de participación de cada accionista; ese comportamiento puede modificarse con maintain_threshold_on_add. |
reported_levels_required | number | Cantidad de niveles del árbol societario que el prospecto debe completar para que el ítem se considere complete automáticamente. El nivel raíz (accionistas directos de la empresa) es el 1. Si no se especifica, se exige completar todos los niveles alcanzables según el threshold. |
maintain_threshold_on_add | boolean | Si es true, el threshold del nivel padre se hereda tal cual en cada nivel hijo, en lugar de recalcularse en función del porcentaje de participación del accionista intermedio. Útil cuando se requiere reportar UBOs reales en niveles profundos sin que el umbral se “diluya”. Por defecto: false. |
is_optional | boolean | Si es true, el prospecto puede omitir esta sección. |
¿Cuándo usar
reported_levels_required y maintain_threshold_on_add?- Si tu negocio acepta que el prospecto complete solo los primeros N niveles del árbol societario (por ejemplo, accionistas directos y el siguiente nivel), usa
reported_levels_required: N. Si el prospecto presiona “continuar sin completar” en niveles más profundos, el ítem se marca para revisión manual en lugar de cerrarse automáticamente. - Si tu negocio requiere reportar todos los niveles con un threshold constante (por ejemplo, 5% en cada nivel, sin diluirse con la participación del padre), combina
ubos_thresholdconmaintain_threshold_on_add: truey omitereported_levels_requiredpara forzar todo el árbol. - Si no envías ninguno de estos dos flags, el comportamiento es el histórico: el threshold se recalcula al descender y se exige que todos los niveles alcanzados por ese threshold queden completos.
Esquemas de formulario (ubos_form_schema)
- mx_form
- co_form
Formulario para México. Campos según el tipo de accionista:
- Personas: nombre, nacionalidad, porcentaje de participación, email, ocupación, teléfono y documento de identidad.
- Empresas: nombre, nacionalidad, porcentaje de participación, régimen de capital y documentos opcionales (acta constitutiva, documento de accionistas).
Los campos de nacionalidad y país usan el estándar ISO 3166-1 alpha-2 (249 países y territorios). Consulta la lista completa en Países y nacionalidades.
Ejemplos de configuración
Configuración básica:forms — formularios personalizados
Cuestionarios de onboarding que tú configuras con preguntas abiertas, opciones múltiples u otros campos. Útil para capturar información específica de tu producto que no corresponde a un documento. Solo se puede agregar un forms por flujo.
Cuándo usarlo: capturar datos de contexto propios de tu onboarding (tipo de cuenta deseada, origen de fondos declarado, etc.) directamente desde el widget.
Configuración
Antes de referenciar el formulario en el flujo, crea su esquema con el endpoint de esquemas de formularios y usa elschema_id resultante en options.
Cómo se renderiza el formulario al prospecto
El widget usa el esquema JSON del formulario para decidir cómo mostrarlo:- Secciones (menú lateral): cada propiedad de nivel raíz con
ui_type: "section"ypropertiesanidadas se muestra como una sección. El título visible es elui_labeldel objeto. - Campos sueltos en la raíz: si hay campos de nivel raíz que no son secciones (texto, número, fecha, etc.), el widget los agrupa automáticamente bajo una sección llamada «Información general». Si ya existe una propiedad raíz
generalcomo objeto, no se duplica. - Orden: sigue el
ui_orderconfigurado en el esquema, tanto en el menú lateral como en la pantalla del formulario.
Campos condicionales (depends_on / depends_on_value)
Cualquier campo del esquema puede declararse como condicional: solo se mostrará (y, si es requerido, solo se exigirá) cuando el valor de otro campo del mismo nivel cumpla una condición. Esto te permite construir formularios dinámicos sin ramificar el esquema.
| Propiedad | Tipo | Descripción |
|---|---|---|
depends_on | string | Clave del campo del cual depende. Debe existir en el ui_order del mismo nivel (raíz si el campo está en raíz, o dentro de la misma sección si está anidado). No se permiten dependencias entre niveles. |
depends_on_value | string[] | Lista de valores que activan la visibilidad del campo. Las entradas se evalúan con lógica OR (literal): basta con que una se cumpla, y AND (comparación numérica): todas tienen que cumplirse. |
depends_on_value puede ser de dos tipos:
- Literal: se compara por igualdad. Si el campo padre es de selección múltiple (array), el match ocurre si el array del padre incluye ese valor.
- Comparación numérica: la cadena debe iniciar con uno de estos operadores seguido de un número, sin espacios:
>,<,>=,<=,!=. El valor del campo padre se intenta convertir a número; si no es numérico, esa entrada simplemente no matchea (las demás se siguen evaluando).
No existe un operador
= porque la igualdad ya está cubierta por el caso literal.- Si declaras
depends_on, es obligatorio declarar tambiéndepends_on_valuecomo un array no vacío. - No puedes declarar
depends_on_valuesindepends_on. - Cada entrada de
depends_on_valuedebe ser un literal o un operador válido seguido de un número parseable (">abc"o">="se rechazan al crear el esquema). - Mientras la condición no se cumpla, el campo está oculto y no se valida como requerido, aunque tenga
ui_required: true. - Cuando todas las entradas de
depends_on_valueson de comparación numérica, se evalúa que el valor cumpla con todas las condiciones (AND). De lo contrario, basta con que pase una sola (OR).
Ejemplo: literal + comparación numérica
nit solo aparece si el prospecto eligió "Juridica", y tutor_legal solo aparece si la edad ingresada es menor a 18.
Ejemplo: múltiples condiciones por rangos (AND)
Ejemplo de configuración
Consultas a fuentes externas
A diferencia deubos y forms, las consultas a fuentes externas no tienen UI para el prospecto. Trébol las ejecuta automáticamente al crear cada verificación con este flujo, consumiendo información de registros públicos. No necesitas añadirlas al payload de cada verificación.
Disponibles por país
Cada consulta tiene sus opciones y estructura de respuesta documentadas en la guía del país:- Colombia:
rues,public_rut_co,public_address_cc_co. Referencia completa: Items de consultas públicas — Colombia. - México:
siger,public_sat_signatures. Referencia completa: Items de consultas públicas — México.
Opciones para public_sat_signatures (México)
Requiere una llave type en options con valor "business", "representatives" o ambos, según la información que necesites extraer del SAT. Puedes declarar dos items public_sat_signatures en el mismo flujo si necesitas ambos.