Esta guía está enfocada en la configuración lógica y de producto de los
flujos. Para detalles técnicos de implementación, consulta la Referencia de
API.
Conceptos Clave
Un Account Flow se compone de 3 piezas fundamentales que trabajan en conjunto:Experiencia (UI)
flow_items Define secciones de solicitud de información adicional y
consultas de información externa. Más adelante se aclara cuáles ítems se
pueden enviar para cada caso.Compliance (Reglas)
record_validation_schema Define qué requisitos de documentos debe
cumplir el expediente para ser aprobado. Es el único parámetro obligatorio:
todo flujo necesita al menos un requerimiento de documentos.Regionalización
country Define los tipos de documento a solicitar y las validaciones a
realizar sobre el número de documento ingresado por el prospecto al iniciar
la verificación.Estructura del Flujo
1. Configurando la Experiencia (flow_items)
El objeto flow_items controla la secuencia de pasos que el usuario final completará. Es el único lugar donde se deben solicitar datos estructurados (formularios) o información de Beneficiarios finales. Además de la solicitud de información externa.
Tipos de Items Exclusivos de flow_items:
-
forms: Formularios personalizados para capturar datos (ej. teléfono, dirección, actividad económica). Solo puedes agregar uno por flujo. Antes de usarlo, crea el esquema del formulario mediante este endpoint y usa suschema_iden la llaveoptions. -
ubos: Módulo especializado para la captura de Beneficiarios Finales (UBOs). Solo puedes agregar uno por flujo. Opciones disponibles paraubos:Opción Tipo Descripción ubos_data_extractionbooleanExtrae 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_thresholdnumberPorcentaje mínimo de participación accionaria para declarar un UBO. Por defecto: 5% para Colombia, 25% para otros países. Este valor se usa recursivamente para calcular el umbral de empresas anidadas. is_optionalbooleanSi es true, el prospecto puede omitir esta sección.- mx_form
- co_form
Formulario para México. Solicita los siguientes 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).Lista de países y nacionalidades disponibles
Los campos de nacionalidad y país en los formularios de propietarios reales (ubos) utilizan la lista completa de 249 países y territorios según el estándar ISO 3166-1 alpha-2. Los nombres y gentilicios se muestran en español.Código País Nacionalidad AFAfganistán Afgano AXIslas Åland Alandés ALAlbania Albanés DEAlemania Alemán ADAndorra Andorrano AOAngola Angoleño AIAnguila Anguilano AQAntártida Antártico AGAntigua y Barbuda Antiguano SAArabia Saudita Saudí DZArgelia Argelino ARArgentina Argentino AMArmenia Armenio AWAruba Arubeño AUAustralia Australiano ATAustria Austriaco AZAzerbaiyán Azerbaiyano BSBahamas Bahameño BDBangladés Bangladesí BBBarbados Barbadense BHBaréin Bareiní BEBélgica Belga BZBelice Beliceño BJBenín Beninés BMBermudas Bermudeño BYBielorrusia Bielorruso BOBolivia Boliviano BQBonaire, San Eustaquio y Saba Caribeño Neerlandés BABosnia y Herzegovina Bosnio BWBotsuana Botsuano BVIsla Bouvet Bouvetense BRBrasil Brasileño BNBrunéi Bruneano BGBulgaria Búlgaro BFBurkina Faso Burkinés BIBurundi Burundés BTBután Butanés CVCabo Verde Caboverdiano KYIslas Caimán Caimanés KHCamboya Camboyano CMCamerún Camerunés CACanadá Canadiense QACatar Catarí TDChad Chadiano CLChile Chileno CNChina Chino CYChipre Chipriota VACiudad del Vaticano Vaticano COColombia Colombiano KMComoras Comorense KPCorea del Norte Norcoreano KRCorea del Sur Surcoreano CICosta de Marfil Marfileño CRCosta Rica Costarricense HRCroacia Croata CUCuba Cubano CWCurazao Curazoleño DKDinamarca Danés DMDominica Dominiqués ECEcuador Ecuatoriano EGEgipto Egipcio SVEl Salvador Salvadoreño AEEmiratos Árabes Unidos Emiratí EREritrea Eritreo SKEslovaquia Eslovaco SIEslovenia Esloveno ESEspaña Español USEstados Unidos Estadounidense EEEstonia Estonio SZEsuatini Suazi ETEtiopía Etíope PHFilipinas Filipino FIFinlandia Finlandés FJFiyi Fiyiano FRFrancia Francés GAGabón Gabonés GMGambia Gambiano GEGeorgia Georgiano GHGhana Ghanés GIGibraltar Gibraltareño GDGranada Granadino GRGrecia Griego GLGroenlandia Groenlandés GPGuadalupe Guadalupeño GUGuam Guameño GTGuatemala Guatemalteco GFGuayana Francesa Guayanés Francés GGGuernsey Guerneseyano GNGuinea Guineano GQGuinea Ecuatorial Ecuatoguineano GWGuinea-Bisáu Guineano-Bisauense GYGuyana Guyanés HTHaití Haitiano HMIslas Heard y McDonald Heardense HNHonduras Hondureño HKHong Kong Hongkonés HUHungría Húngaro INIndia Indio IDIndonesia Indonesio IQIrak Iraquí IRIrán Iraní IEIrlanda Irlandés IMIsla de Man Manés CXIsla de Navidad Navideño NFIsla Norfolk Norfolkense ISIslandia Islandés CCIslas Cocos Cocosiano CKIslas Cook Cookiano FOIslas Feroe Feroés GSIslas Georgias del Sur y Sandwich del Sur Georgiano del Sur FKIslas Malvinas Malvinense MPIslas Marianas del Norte Mariano del Norte MHIslas Marshall Marshalés PNIslas Pitcairn Pitcairnense SBIslas Salomón Salomonense TCIslas Turcas y Caicos Turcocaiqueño UMIslas Ultramarinas Menores de EE.UU. Estadounidense VGIslas Vírgenes Británicas Virgenense Británico VIIslas Vírgenes de EE.UU. Virgenense Estadounidense ILIsrael Israelí ITItalia Italiano JMJamaica Jamaicano JPJapón Japonés JEJersey Jerseyano JOJordania Jordano KZKazajistán Kazajo KEKenia Keniano KGKirguistán Kirguís KIKiribati Kiribatiano KWKuwait Kuwaití LALaos Laosiano LSLesoto Lesotense LVLetonia Letón LBLíbano Libanés LRLiberia Liberiano LYLibia Libio LILiechtenstein Liechtensteiniano LTLituania Lituano LULuxemburgo Luxemburgués MOMacao Macaense MGMadagascar Malgache MYMalasia Malasio MWMalaui Malauí MVMaldivas Maldivo MLMalí Maliense MTMalta Maltés MAMarruecos Marroquí MQMartinica Martiniqués MUMauricio Mauriciano MRMauritania Mauritano YTMayotte Mayotense MXMéxico Mexicano FMMicronesia Micronesio MDMoldavia Moldavo MCMónaco Monegasco MNMongolia Mongol MEMontenegro Montenegrino MSMontserrat Montserratino MZMozambique Mozambiqueño MMMyanmar Birmano NANamibia Namibio NRNauru Nauruano NPNepal Nepalí NINicaragua Nicaragüense NENíger Nigerino NGNigeria Nigeriano NUNiue Niuano NONoruega Noruego NCNueva Caledonia Neocaledonio NZNueva Zelanda Neozelandés OMOmán Omaní NLPaíses Bajos Neerlandés PKPakistán Paquistaní PWPalaos Palauano PSPalestina Palestino PAPanamá Panameño PGPapúa Nueva Guinea Papú PYParaguay Paraguayo PEPerú Peruano PFPolinesia Francesa Polinesio Francés PLPolonia Polaco PTPortugal Portugués PRPuerto Rico Puertorriqueño GBReino Unido Británico CFRepública Centroafricana Centroafricano CZRepública Checa Checo MKRepública de Macedonia del Norte Macedonio CDRepública Democrática del Congo Congoleño CGRepública del Congo Congoleño DORepública Dominicana Dominicano SSSudán del Sur Sursudanés REReunión Reunionés RWRuanda Ruandés RORumania Rumano RURusia Ruso EHSahara Occidental Saharaui WSSamoa Samoano ASSamoa Americana Samoano Americano BLSan Bartolomé Bartolomeano KNSan Cristóbal y Nieves Sancristobaleño SMSan Marino Sanmarinense MFSan Martín Sanmartinense PMSan Pedro y Miquelón Sanpedrino VCSan Vicente y las Granadinas Sanvicentino SHSanta Elena, Ascensión y Tristán de Acuña Santalenense LCSanta Lucía Santalucense STSanto Tomé y Príncipe Santotomense SNSenegal Senegalés RSSerbia Serbio SCSeychelles Seychellense SLSierra Leona Sierraleonés SGSingapur Singapurense SXSint Maarten Sintmaartenense SYSiria Sirio SOSomalia Somalí LKSri Lanka Esrilanqués ZASudáfrica Sudafricano SDSudán Sudanés SESuecia Sueco CHSuiza Suizo SRSurinam Surinamés SJSvalbard y Jan Mayen Svalbardense THTailandia Tailandés TWTaiwán Taiwanés TZTanzania Tanzano TJTayikistán Tayiko IOTerritorio Británico del Océano Índico Británico del Índico TFTierras Australes y Antárticas Francesas Francés Austral TLTimor Oriental Timorense TGTogo Togolés TKTokelau Tokelauano TOTonga Tongano TTTrinidad y Tobago Trinitense TNTúnez Tunecino TMTurkmenistán Turkmeno TRTurquía Turco TVTuvalu Tuvaluano UAUcrania Ucraniano UGUganda Ugandés UYUruguay Uruguayo UZUzbekistán Uzbeko VUVanuatu Vanuatuense VEVenezuela Venezolano VNVietnam Vietnamita WFWallis y Futuna Wallisiano YEYemen Yemení DJYibuti Yibutiano ZMZambia Zambiano ZWZimbabue Zimbabuense
- Colombia:
rues,public_rut_co,public_address_cc_co. - México:
siger,public_sat_signatures. Requieren una llavetypeenoptionscon valor"business","representatives"o ambos, según la información que necesites extraer del SAT.
Ejemplo de México (JSON)
options. Estas se aplicarán a cada verificación que se cree con este flujo:
- creator_email: Asociar un email a todas las verificaciones creadas con ese flujo.
- next_steps_checkout: Lista de pasos a seguir para tu prospecto al finalizar el flujo de onboarding. Se puede enviar un array vacío para no mostrar ningún paso. Puedes revisar su estructura en el API Reference
2. Definiendo Reglas de Negocio (record_validation_schema)
Este esquema dicta qué documentos son obligatorios y cuáles son opcionales para aprobar el expediente. Por medio de este parametro se genera la sección del widget de carga de documentos, la cual es la única requerida en cualquier flujo de onboarding.
version: Versión del esquema de validación. Actualmente solo se soporta la versión 2.requirements: Mapa de documentos obligatorios donde la clave es un ID personalizado (por ejemplo,"doc_1"). Al menos debes incluir uno por flujo.optional_requirements: Documentos complementarios, usan la misma estructura que losrequirementsy son opcionales.
Reglas de Validación de Documentos (validation_options.ruleset)
Cada requerimiento puede incluir reglas de validación de negocio que se evalúan automáticamente sobre el documento mediante IA. Se configuran dentro de validation_options.ruleset.
Las reglas siguen la misma estructura de reglas predefinidas y personalizadas documentada en la guía de flujo de validación de documentos, con una diferencia clave: al configurar el ruleset dentro de un account flow, cada regla requiere el campo error_message, que define el mensaje que verá el usuario si la regla no se cumple.
| Campo | Tipo | Cuándo aplica | Descripción |
|---|---|---|---|
id | string | Siempre requerido | Identificador de la regla. Para reglas predefinidas de Trébol usa vr_trebol_*. Para reglas personalizadas, cualquier identificador único. |
error_message | string | Requerido en account flow | Mensaje de error que se mostrará si la regla no se cumple. Solo aplica en la configuración del record_validation_schema de un account flow. |
validation_rule | string | Solo reglas personalizadas | Texto completo de la pregunta de validación. No incluir en reglas predefinidas de Trébol (vr_trebol_*). |
params | object | Solo reglas predefinidas | Parámetros para sustituir placeholders en reglas predefinidas de Trébol. |
Ejemplo de requerimiento con ruleset
Comportamiento ante error de validación (validation_options.on_invalid_type_error)
Esta propiedad controla qué sucede cuando un documento no pasa la validación de tipo o de ruleset. Se aplica por igual a ambos tipos de error: si el documento no coincide con los allowed_item_types configurados, o si falla alguna regla del ruleset.
| Valor | Comportamiento |
|---|---|
"invalidate" (default) | El documento se marca como error. El prospecto ve una alerta en el widget y puede decidir subir otro documento o continuar con el actual. |
"ignore" | El documento se marca como “en revisión”. El prospecto no ve ningún error en el widget. El operador del dashboard resuelve manualmente desde la webapp. |
- invalidate (default)
- ignore
Cuando un documento falla la validación de tipo o de ruleset:
- El widget muestra al prospecto una alerta indicando que el tipo de documento no es válido o que no cumple las reglas configuradas.
- El prospecto puede decidir subir un documento diferente o continuar con el documento actual.
- Los errores se reflejan inmediatamente en el estado del requerimiento como
status: "error".
Los errores de sistema (
validation_request_failed) siempre se tratan como
errores independientemente del valor de on_invalid_type_error, ya que
representan fallos técnicos y no decisiones de validación.Ejemplo con on_invalid_type_error:
3. Regionalización (country)
El campo country determina el contexto legal y las validaciones automáticas.
| Valor | Comportamiento |
|---|---|
mx | Habilita validaciones del SAT y documentos como csf_mx. |
co | Habilita validaciones del RUES/DIAN y documentos como rut_co. |
null / not_specified | Modo Genérico. Sin validaciones de formato locales. |
Ejemplo de Configuración
Ejemplo de un flujo de onboarding para una Empresa Mexicana. Nota cómoforms está en flow_items pero no en record_validation_schema.
Configuración del Body (JSON)
Tipos de Documentos Soportados
Para configurarallowed_item_types en el esquema de validación, usa solamente los códigos aquí documentados. Al decidir qué código usar, ten en cuenta el país que configuraste para el flujo. Puedes usar uno o más códigos en cada requerimiento del record_validation_schema.