Flujo: Widget de onboarding embebido
Cuándo usar el widget vs API directa
El widget es ideal cuando:
- Tienes una app propia y quieres onboarding embebido
- Tus prospectos no son técnicos — solo necesitan subir archivos
- Quieres una UX guiada sin construirla tú
Diferencias clave
Loop completo (frontend + backend)
Instalar el widget en tu HTML
Paso 1: Cargar el script desde el CDN
<head> o antes del cierre de <body>. defer asegura que el script no bloquee el render del HTML.
Paso 2: Insertar el componente
Atributos
Comportamiento de redirecturl
La redirección ocurre cuando el usuario termina el flujo del widget (envía o cancela). El estado real de la verificación lo confirmas con webhooks, no con la URL de redirección.
Patrón recomendado:
- La página de
redirecturlmuestra un mensaje genérico (“Estamos procesando tu información…”) - Tu frontend hace polling a tu propio backend cada N segundos
- Tu backend devuelve el estado real (que actualizaste con los webhooks)
- Cuando el backend confirma
finished, muestras el siguiente paso al usuario
redirecturl (query params, body, eventos), consulta la documentación oficial: https://docs.gotrebol.com/guia-devs/crear-verificaciones/via-widget/instalar
Ejemplo HTML completo
Crear el account-flow (vía API, antes de embeber)
Endpoint:POST /account-flows
Un flow tiene dos partes:
record_validation_schema— qué documentos pedir y con qué reglas. Cada requerimiento es un slot:doc_1,doc_2, etc.flow_items— items adicionales no-documento: UBOs, formularios personalizados, consultas SAT.
Ejemplo mínimo
country en account-flows:
- En
POST /account-flows(schemaAccountFlowCreate) el campocountryno está declarado en la spec — se omite del body de creación. - En
PUTyGETde account-flows sí aparece, con enum["mx", "co"]. - Si necesitas crear un flow para EEUU, consulta con Trébol antes de inventar un valor de país.
Items del flow
Los más usados:
Para la lista completa de items soportados (incluyendo aml_validation, signatory_validation, items por país), consulta
reference/openapi.yaml o https://docs.gotrebol.com/guia-devs/referencia/tipos-item.
Personalización (branding)
Configura colores, logo y políticas desde app.gotrebol.com → Personalización. No requiere código. En la misma pantalla se configura el dominio personalizado de onboarding: se agrega el dominio, se crea el registro DNS que muestra la interfaz (CNAME acname.vercel-dns.com para subdominios; A 76.76.21.21 para dominio raíz) y se verifica.
Con el dominio verificado, las ligas de inicio de onboarding (correos de invitación y aplicativo web) quedan https://<dominio>/<id_slug> — el id_slug del account-flow; también son construibles a mano. El onboarding_url que devuelve el API conserva su formato de liga directa a la verificación (con su token de acceso); solo cambia el host, incluso al consultar verificaciones creadas antes de verificar el dominio. Sin dominio configurado, o con el dominio pendiente, todo usa el dominio por defecto de Trébol. El widget embebido (<trebol-widget>) sigue cargando desde el dominio por defecto.
Estados del expediente
A medida que el usuario carga documentos, el expediente pasa por estados. Para monitorear, usa webhooks (verification.v2.created, verification_item.v2.completed, verification.v2.finished) o consulta: