Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.
Transcripción completa de Crea un flujo de verificación KYC sin código (tutorial completo): video 3 de 10 de Didit Academy, 18:54. Ver en YouTube. Cada párrafo enlaza al momento exacto del video.
Los precios cambiaron el 1 de noviembre de 2026: las 500 verificaciones gratuitas al mes pasaron a ser $10 de crédito al mes para las organizaciones que se registraron con un correo electrónico corporativo. El video muestra los precios anteriores.
00:03 En este video vamos a crear un flujo de verificación completo desde cero, y no vas a necesitar escribir ni una sola línea de código. Un flujo de verificación (workflow) es, en realidad, una receta para una verificación: qué comprobaciones se ejecutan y en qué orden. Normalmente, eso queda en manos de tus ingenieros. Pero en Didit lo construyes tú mismo, de forma visual. Ves cómo se actualiza el precio a medida que avanzas y lo pones en producción cuando estés listo.00:28 Si quieres crear uno tú mismo, puedes ir a didit.me, registrarte gratis y montar tu primer flujo en solo unos minutos. Muy bien, empecemos por donde vive todo flujo de verificación, que es en
00:39 la lista de flujos, dentro de la pestaña de configuración. Aquí están todos los flujos que tenemos actualmente en esta cuenta y puedes ver el tipo. Tenemos KYC y KYB. Tenemos simples y de grafo, y podemos ver todas las comprobaciones y funciones de cada flujo. Podemos ver el rango de precios. Básicamente, muestra el rango de precios entre alguien que realiza una sola comprobación y no completa el proceso y alguien que completa todo el flujo. Tenemos un enlace para el flujo.01:09 Podemos añadir una nueva sesión manualmente. Podemos copiar el ID del flujo. Podemos duplicar, renombrar, archivar, todo lo habitual. Y este de aquí es el ID de tu flujo. Las distintas versiones del mismo flujo funcionan con el mismo ID. Así que, si actualizas el flujo, no necesitas cambiar nada en tu código ni en tu aplicación. La forma más sencilla de entender un flujo es como una receta para una verificación: qué comprobaciones se ejecutan, en qué orden y qué reglas se siguen. Hay dos
01:40 estructuras distintas, como mencioné. Están los simples y los de grafo. Un flujo simple es solo una comprobación o unas pocas, sin ninguna ramificación. Sin lógica condicional. Se configura rápido y cubre la mayoría de los casos. Eliges tus módulos y listo. Por ejemplo, si miramos este flujo de ejemplo, puedes ver que podemos seleccionar los módulos aquí a la izquierda y los va a secuenciar todos en orden. Ahora, en un
02:05 flujo basado en grafo, si entramos aquí, podemos ver que hay algunas ramificaciones al final. Así podemos ser un poco más precisos sobre cómo dirigimos al usuario a lo largo de este flujo de verificación. Puedes ver que en este flujo, por ejemplo, hay varios puntos de ramificación distintos. También podemos incluir llamadas de webhook. Y, en general, podemos añadir algo más de complejidad aquí cuando haga falta.02:30 Fíjate también en que los flujos KYB se ven exactamente igual, solo que con comprobaciones distintas. Bien. Si queremos añadir una comprobación, podemos entrar aquí. Podemos elegir una de las acciones del usuario o configurar algunas comprobaciones en segundo plano. Estas son las que el usuario no ve en la interfaz. Así que
02:51 lo único que tienes que hacer es pulsar en nuevo flujo. Tenemos un par de opciones aquí: KYC y KYB. Seleccionemos KYC. Y tenemos simple frente a avanzado, como te mostré antes. Te enseñaré opciones para ambos. Si hacemos clic en simple, tenemos un montón de plantillas distintas para todo tipo de sectores. Y podemos ver el costo de cada una de estas plantillas. Tenemos controles de edad. Tenemos verificación de correo electrónico.03:19 Tenemos autenticación biométrica, seguros, salud, todo eso. Ahora, por ejemplo, si usamos una verificación de empresas y elegimos la versión avanzada, que es la de grafo, de nuevo tenemos un montón de plantillas distintas, o recetas, si quieres llamarlas así. Podríamos configurar KYB de países de alto riesgo y listo. Ni siquiera tienes que hacer clic ni arrastrar y soltar nada aquí. Ya está configurado.
03:48 Cada nodo de aquí tiene un menú desplegable. Así que puedes elegir la comprobación que quieras. Puedes cambiarla, como aquí, o podemos poner la verificación del registro de empresas. Lo que quieras. Verificación de identidad, prueba de vida, coincidencia facial, AML, prueba de domicilio. Todas las comprobaciones que Didit ofrece para KYB y KYC están disponibles dentro de estos nodos. Así que, si quisiera añadir una comprobación adicional aquí, por ejemplo, digamos que quiero hacer una revisión AML, puedo añadirlo aquí. Veremos las reglas y estas pestañas en un momento, pero puedes ver que en este flujo lo he añadido. Si entras en un flujo de grafo de KYC, la mayoría de estos flujos van a empezar con la verificación de identidad. Es la comprobación
04:33 verificación. Y aquí puedes ver que este es el nodo de verificación de identidad. Tenemos 500 verificaciones gratuitas al mes, y lo mismo para la prueba de vida y para la coincidencia facial. Ahora bien, esta verificación de identidad hace mucho más que leer el texto de una tarjeta. Demuestra que el documento es auténtico: comprueba las medidas de seguridad, busca manipulaciones, analiza las fuentes y la maquetación, y luego extrae cada campo, el nombre, la fecha de nacimiento, el número de documento, la fecha de caducidad, todo mediante OCR, en cualquier idioma y en los más de 14,000 tipos de documentos admitidos. Así que nunca se trata solo de texto. Primero es una comprobación de autenticidad y después vienen los datos. Configuremos uno de estos módulos.
05:15 Bueno, si vamos al módulo de prueba de vida, verás que tenemos varios modos de prueba de vida. Tenemos el pasivo, que detecta la prueba de vida con una selfie. Tenemos el de destellos, que confirma la prueba de vida con patrones de luz dinámicos para detectar rostros de usuarios reales. Y luego tenemos la acción 3D, que confirma la prueba de vida mediante algún tipo de acción, ya sea parpadear o girar la cabeza. Como ves, con la prueba de vida pasiva tenemos 500 créditos gratuitos al mes y luego 10 centavos por comprobación, mientras que el modo de destellos y la acción 3D cuestan 15 centavos por comprobación. Y estos no incluyen ninguna comprobación gratuita en nuestra cuenta gratuita. Así que, en la pestaña de reglas,
Reglas: umbrales, rostros duplicados, varios rostros
05:56 así decidimos si el módulo es obligatorio u opcional. Si vamos a la pestaña de reglas, vemos que hay varias opciones. Esto nos permite configurar la sensibilidad de la comprobación. Podemos fijar un nivel de tolerancia: si alguien obtiene una puntuación de la prueba de vida inferior a 70, se enviará a revisión. Y podemos cambiarlo si queremos. Lo mismo ocurre con el rechazo. También tenemos una opción para los rostros duplicados: cuando el rostro de un usuario coincide con el de una sesión aprobada anteriormente, ¿cómo procedemos? Aprobar, revisar o rechazar. Además, podemos personalizar el umbral de similitud por etnia, es decir, ajustar la sensibilidad de la detección de duplicados según la etnia de la persona. Y por último, podemos definir la acción que se toma cuando se detectan varios rostros en la imagen de la prueba de vida. El rostro más grande siempre se usa para la puntuación de la prueba de vida. Así que esa es una opción que podemos configurar aquí. Si entramos en la
06:56 en la pestaña de configuración avanzada tenemos varias opciones. Aquí tenemos el modo de privacidad facial; el número máximo de intentos de prueba de vida, es decir, cuántas veces puede un usuario repetir la prueba de vida dentro de una misma sesión de verificación; y el umbral de calidad facial. Si alguna vez no tienes claro qué hace exactamente alguna de estas opciones, puedes pasar el cursor sobre este botón de información. Aquí vemos que la calidad facial mide la claridad, la resolución y la nitidez de la imagen.07:20 Las imágenes de baja calidad pueden deberse a desenfoque, pixelación o malas condiciones de iluminación. Así que aquí podemos fijar el umbral según la puntuación de calidad facial. También tenemos un umbral de luminosidad: podemos establecer el rango de luminosidad aceptable y, si la luminosidad queda por debajo de ese rango, enviar al usuario a revisión o rechazarlo. Y por último, podemos crear nuestras propias reglas personalizadas si ninguna de estas se ajusta a la
07:47 la configuración que queremos. En la pestaña de datos devueltos podemos seleccionar los datos que queremos excluir de los resultados de la verificación, por motivos de RGPD, por ejemplo. Además, en cada uno de estos módulos vemos el precio de la comprobación y, arriba,
08:00 aquí podemos ver el precio total. Déjame explicártelo, porque cada nodo tiene su propio precio y es probable que el coste total de cada flujo sea algo distinto. Solo pagas por los pasos que realmente se ejecutan: cada paso se cobra por separado. Así que, si el solicitante abandona a mitad del proceso, solo se cobran las primeras comprobaciones por las que haya pasado. Por eso abajo ves un rango de 20 a 43 centavos. Ese es el rango. Si alguien pasa por el flujo, completa el primer paso y sale, solo te costará 20 centavos. Si completa todo el flujo de verificación, te costará 43. Y, como ves, en el centro aparecen todos los módulos que contiene este flujo en concreto. Podemos ver cuántos créditos tenemos al mes. Cuando se agotan esos créditos gratuitos, una vez realizadas esas 500 comprobaciones, se te empezarán a cobrar. Uno de los módulos más potentes que puedes añadir ni siquiera es una comprobación con cámara. Es la
Validación de base de datos contra registros gubernamentales
09:05 validación de base de datos. Vamos a añadirla. Es una comprobación de antecedentes. Vamos a ver qué hace exactamente, porque esta validación de base de datos se conecta a registros y bases de datos gubernamentales oficiales de todo el mundo. Lo que hace es cotejar los datos del usuario con esas fuentes oficiales y luego enriquecerlos con los campos adicionales que contiene el registro. Puedes elegir qué registros y fuentes consultar en cada país, como ves aquí. Y cada servicio indica su propio precio. Aquí abajo, por ejemplo, vemos distintos servicios en Canadá y, lógicamente, cada registro tiene un precio distinto. Si quisiéramos ver un país concreto, como Alemania, por ejemplo, veríamos las comprobaciones disponibles en Alemania y podríamos seleccionarlas según nuestras necesidades.09:59 Y esta validación de base de datos no es solo algo que puedas ejecutar aquí en el panel: también puedes invocarla directamente a través de la API de Didit desde tu propio backend. Y, como en todos estos módulos, tenemos reglas, configuración avanzada y datos devueltos. Así que, de nuevo, aquí puedes configurar tus reglas. Si hacemos clic aquí en coincidencia parcial, podemos ver cómo es una coincidencia total: por ejemplo, que el nombre completo y el número de identificación coincidan en el registro; una coincidencia parcial podría ser solo el número de identificación. Y luego podemos decidir qué significa esa coincidencia parcial dentro de tu flujo. ¿La enviamos a revisión? ¿La rechazamos? ¿La aprobamos? Así que tenemos ramificaciones dentro de este flujo. Tenemos
10:36 podemos tener una ramificación AML según la puntuación de riesgo AML. AML no es más que prevención del blanqueo de capitales. Pero abajo del todo vemos que ya tenemos una ramificación configurada para esta puntuación de riesgo AML. Así que, si la puntuación de riesgo supera 70, simplemente podemos rechazar la sesión, y podemos hacer clic aquí. Aquí vemos la lógica condicional, ¿verdad? Es algo que podemos configurar como queramos. Tenemos la rama uno, la rama dos y luego todos los demás casos, lo que significa que la sesión se va a aprobar. Por ejemplo, si alguien está en este grupo de aquí, se le envía a la rama dos. Podríamos pedirle más información, ¿verdad? Podríamos pedirle un comprobante de domicilio, por ejemplo. Así, si alguien presenta un riesgo moderado, podemos pedirle más información que nos ayude a decidir si esa persona debe ser aprobada o rechazada. Otro de los nodos que tenemos aquí es el de estado, que ya se ha añadido aquí, pero puedes añadirlos al final de tu flujo para determinar cuál va a ser el resultado. Otro de los
11:40 Uno de los nodos que podemos incluir en el flujo es el nodo de webhook. El flujo también puede conectarse con tus propios sistemas en mitad de una verificación, y para eso sirve este nodo. Puede invocar un endpoint y recuperar datos. Y va a esperar a que ese webhook responda. Aquí puedes ver que tenemos un webhook POST. Tenemos un payload JSON que se puede modificar. También podemos enviar distintos payloads. Estos son los pares clave-valor que asignan los campos de tu sesión a la solicitud que envías. Y los campos que vuelven se convierten en variables que la siguiente rama puede evaluar. Así combinas los controles de Didit con tus propios datos de riesgo, todo dentro de un único flujo. Y una última cosa: podemos incluir los encabezados aquí abajo. Más pares clave-valor. Aquí tenemos autenticación básica. Todo lo que esperarías de una llamada de webhook. Didit valida el
12:28 grafo durante todo el tiempo que lo estás construyendo. Así que, si un nodo está mal configurado o una ruta está rota, te va a indicar exactamente dónde. ¿Verdad? Hacemos clic aquí abajo. Vemos que el flujo tiene dos errores. Y vemos que la rama uno tiene reglas incompletas. Te va a indicar qué hay que corregir dentro de tu flujo. Y no vamos a poder publicarlo hasta que se corrijan estos errores. Por ejemplo, si tuviera un flujo nuevo y hubiera un error, no podría publicar ese flujo. Más allá de los nodos individuales
Configuración del flujo: reintentos, caducidad y URL de callback
12:58 del flujo, tenemos la pestaña de configuración aquí arriba, y vemos que esta configuración se aplica a todo el flujo y no a una sola comprobación. Tenemos, por supuesto, el nombre del flujo, y tenemos una URL de callback, que es la dirección a la que Didit redirige al usuario cuando termina el flujo. Podemos permitir el acceso desde escritorio si quieres permitir que continúen en el escritorio. Tenemos el número de reintentos, que puedes cambiar. Es decir, el número de veces que un usuario puede volver a intentar la captura del documento dentro de una misma sesión de verificación si un intento anterior falla. Tenemos la caducidad de la sesión, es decir, cuánto tiempo sigue siendo válida una sesión sin terminar antes de expirar automáticamente. Y esto se va a aplicar a las sesiones creadas a partir de ahora. Y tenemos la ventana de reintentos, es decir, el número de días durante los cuales se permiten los reintentos. Desde
13:43 dentro de este flujo, podemos ir a la pestaña de personalización haciendo clic en este botón de aquí arriba. La marca blanca está integrada directamente en el propio flujo. Puedes entrar en esta pestaña y empezar a ajustar cómo se ve este flujo de verificación: los colores, la marca, el correo electrónico, el dominio, todo eso. Y en esta maqueta puedes ver cómo se va a ver en el móvil y también cómo se va a ver en escritorio.14:13 También puedes probarlo en distintos idiomas. Si lo ponemos en francés, puedes ver que ahora todas las comprobaciones están en francés. Y si quieres activarla, puedes activar tu marca aquí. Listo. Puedes ponerla como la configuramos en la pestaña de personalización o desactivarla. Y podemos ver qué pasa si elegimos una ruta distinta aquí y qué se le envía al usuario. Obviamente, el usuario no va a ver el módulo para elegir la ruta, pero esto nos sirve para visualizar qué va a pasar en el siguiente paso, ¿verdad? Así que, si se rechaza la verificación, vamos a ver verificación rechazada, verificación en revisión o que ha sido verificado. Tenemos la opción de copiar el enlace
14:58 aquí arriba. Si lo copiamos y abrimos una pestaña nueva, podemos entrar en el enlace y vamos a ver lo que va a ver el usuario. A veces solo quieres pasarle a alguien el flujo sin escribir nada de código. Y esta opción para copiar el enlace hace exactamente eso. Copia una URL alojada, lista para compartir, de este flujo. Es útil para una prueba rápida o un envío manual, pero no es la forma recomendada de integrarlo. En producción, puedes crear una sesión por usuario a través del SDK o de la API con los datos del proveedor, y así es como obtienes los resultados en tiempo real mediante webhooks y el SDK. Así que el enlace para copiar es ideal para pruebas y eventos, y una sesión propiamente dicha es lo que vas a lanzar en producción. Así que
15:41 Aquí arriba tenemos el historial de versiones. Podemos ver las distintas versiones y restaurar o consultar las versiones anteriores. Si estuviéramos editando este flujo de verificación (workflow), esos cambios quedarían como borrador por encima del historial publicado. Y lo mejor es que cada nueva versión que publicas mantiene el mismo ID de flujo. Así, tu backend sigue usando ese único ID y la solicitud se redirige de forma transparente al flujo más reciente que hayas creado, porque ese historial queda registrado; puedes iterar con confianza y volver a versiones anteriores siempre que lo necesites. Por ejemplo, este flujo es completamente nuevo. Puedes ver que está en modo borrador. Si hacemos cualquier cambio en el flujo, quedará en borrador y tendremos que publicarlo. Así que podemos
16:24 pulsa publicar. Este flujo solo pasa a producción cuando se publica. Se valida el grafo para asegurarse de que no haya errores. Y listo: podemos copiar el enlace y el flujo ya está en producción y listo para usarse. Veamos
Integración: SDK, clave de API y el prompt de configuración
16:37 En cuanto a la integración. Hay varias formas de integrarlo. Podemos elegir el SDK que necesitemos: React Native, iOS, React o Next.js. Podemos seleccionar el flujo; en este caso, tenemos el de revisión de países de alto riesgo. Podemos seleccionar la clave de API, así que puedes tener distintas claves de API para distintos flujos o distintas integraciones, como prefieras. También puedes seleccionar un webhook: si quieres recibir notificaciones de las decisiones, puedes indicarlo ahí. La forma más sencilla de integrarlo es copiar un prompt y pegarlo directamente en Claude Code o Codex.17:12 Ese prompt integrará este flujo. Así que, aunque todavía no tengas Didit integrado en tu aplicación, este prompt te dará todo lo necesario para que este flujo funcione en tu aplicación. Y ni siquiera tienes que hacer eso. Simplemente puedes
17:27 Instala un servidor MCP de Didit. Solo tienes que describir el flujo en lenguaje natural y creará el flujo por ti y lo integrará automáticamente en tu aplicación. Dile qué hacer y se encargará de hacerlo. Veremos cómo configurar el MCP en otro video, pero, en esencia, MCP es Model Context Protocol, que te permite crear con Didit usando lenguaje natural en herramientas como Claude Code, Cursor, Codex y muchas otras. Pasemos rápidamente a la personalización.17:57 Añadiríamos el nombre público y la URL de la política de privacidad. Tenemos la sección de marca, donde podemos cambiar los colores. También puedes obtener tus logotipos y colores automáticamente desde tu sitio web, algo muy útil y fácil de hacer. Aquí abajo podemos subir tus logotipos. Como ves, ya configuré estos colores. Y para probar cómo se vería con esos colores, si activamos este interruptor, podemos ver cómo se aplica nuestra marca blanca en el flujo de verificación. Por ahora lo voy a desactivar. Puedes configurar un correo electrónico personalizado. Tendrás que completar estos datos. Luego, al continuar con la verificación, obtendrás la información DNS para conectarla con tu dominio. Lo mismo aquí si quieres usar un subdominio. Así, todo este flujo queda completamente alojado con tu propia marca y tu propio dominio. De este modo, el proceso de verificación resulta realmente fluido para tus usuarios.
Última modificación el 1 de noviembre de 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Didit Docs","description":"The best way to integrate identity and fraud checks into your app. One API, four product lines (KYC · KYB · Transaction Monitoring · Wallet Screening), 220+ countries, 14,000+ documents, sub-2s inference, $10 free credit/month.","colors":{"primary":"#2567FF","light":"#90B1FF","dark":"#1B4FE0"},"logo":{"light":"https://mintcdn.com/didit-0f962782/dCzNNoYCusBNdK3I/logo/didit.svg?fit=max\u0026auto=format\u0026n=dCzNNoYCusBNdK3I\u0026q=85\u0026s=9f162fb8295fa1fd9300a24b293ce0b7","dark":"https://mintcdn.com/didit-0f962782/TefoKXCbZA_GIK5a/logo/didit-logo-wordmark-white.svg?fit=max\u0026auto=format\u0026n=TefoKXCbZA_GIK5a\u0026q=85\u0026s=c8c541689c814ca6a2c873cf6185a3a7","href":"https://docs.didit.me"},"favicon":"https://mintcdn.com/didit-0f962782/t6r0B-WdGMU5mSS-/favicon.ico?fit=max\u0026auto=format\u0026n=t6r0B-WdGMU5mSS-\u0026q=85\u0026s=b291917b960ebe959ae3b1aa233eafa8","api":{"examples":{"prefill":true},"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://verification.didit.me"}},"background":{"color":{"light":"#FFFFFF","dark":"#1A1A1A"}},"navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Support"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Sign in","href":"https://business.didit.me"}},"footer":{"socials":{"x":"https://x.com/didit","github":"https://github.com/didit-protocol","linkedin":"https://linkedin.com/company/91001155","website":"https://didit.me"}},"search":{"prompt":"Search Didit docs..."},"seo":{"metatags":{"twitter:site":"@didit","theme-color":"#2567FF","apple-mobile-web-app-title":"Didit Docs"},"organization":{"id":"https://didit.me/#organization","name":"Didit","legalName":"Didit Protocol","url":"https://didit.me","logo":"https://didit.me/logos/primary-horizontal-light.png","sameAs":["https://www.linkedin.com/company/91001155","https://www.youtube.com/@getdidit","https://github.com/didit-protocol","https://x.com/didit"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter","weight":500},"body":{"family":"Inter","weight":400}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page moved or never existed. [Back to docs](/)"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light","background":"https://mintcdn.com/didit-0f962782/Xkecx-xLq1K2abHK/images/og-thumbnail-backplate.png?fit=max\u0026auto=format\u0026n=Xkecx-xLq1K2abHK\u0026q=85\u0026s=c699fa252554b2ac8d4c631e209a1473","fonts":{"family":"Inter"}},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"href":"es"},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"href":"pt-br"},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"href":"ja"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"didit-0f962782","hasAudioNarration":false,"actualSubdomain":"didit-0f962782","customDomains":["docs.didit.me"],"gitSource":{"type":"github","owner":"didit-protocol","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae6fa1c62ef36be88636f75","collectionId":"50020d30-4212-40ce-b44f-967797e5972b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae6fa1c62ef36be88636f75"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae71ae0a0d878501ab6c761","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"es","tag":"Referencia de la API","count":432},{"language":"ja","tag":"APIリファレンス","count":432},{"language":"pt-BR","tag":"Referência da API","count":432},{"language":"en","tag":"API Reference","count":424},{"language":"en","tag":"Database Validation","count":129},{"language":"es","tag":"Validación de base de datos","count":129},{"language":"ja","tag":"データベース検証","count":129},{"language":"pt-BR","tag":"Validação de banco de dados","count":129},{"language":"es","tag":"Primeros pasos","count":93},{"language":"ja","tag":"はじめに","count":93},{"language":"pt-BR","tag":"Primeiros passos","count":93},{"language":"en","tag":"Get Started","count":87},{"language":"en","tag":"User Verification","count":74},{"language":"es","tag":"Verificación de usuarios","count":74},{"language":"ja","tag":"ユーザー認証","count":74},{"language":"pt-BR","tag":"Verificação de usuários","count":74},{"language":"en","tag":"Integrate / SDKs","count":62},{"language":"es","tag":"Integración / SDKs","count":62},{"language":"ja","tag":"連携 / SDK","count":62},{"language":"pt-BR","tag":"Integração / SDKs","count":62},{"language":"en","tag":"Travel Rule","count":55},{"language":"es","tag":"Travel Rule","count":55},{"language":"ja","tag":"トラベルルール","count":55},{"language":"pt-BR","tag":"Travel Rule","count":55},{"language":"en","tag":"Verification","count":48},{"language":"es","tag":"Verificación","count":48},{"language":"ja","tag":"検証","count":48},{"language":"pt-BR","tag":"Verificação","count":48},{"language":"en","tag":"Authentication","count":37},{"language":"es","tag":"Autenticación","count":37},{"language":"ja","tag":"認証","count":37},{"language":"pt-BR","tag":"Autenticação","count":37},{"language":"en","tag":"Digital ID wallets","count":35},{"language":"en","tag":"User and Business Verifications","count":35},{"language":"es","tag":"Wallets de identidad digital","count":35},{"language":"es","tag":"Verificaciones de usuarios y empresas","count":35},{"language":"ja","tag":"デジタルIDウォレット","count":35},{"language":"ja","tag":"ユーザーと企業の認証","count":35},{"language":"pt-BR","tag":"Carteiras de identidade digital","count":35},{"language":"pt-BR","tag":"Verificações de usuários e empresas","count":35}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/didit-0f962782/e74dc7c3efa9e767/style.css"}],"page":{"pagePath":"es/academy/build-kyc-workflow","slug":"/es/academy/build-kyc-workflow","pageMetadata":{"title":"Flujo KYC sin código: cómo crearlo paso a paso","keywords":["Didit Academy","flujo KYC sin código","crear flujo de verificación KYC","verificación de identidad","KYC sin código","videotutorial","transcripción","reglas de riesgo","Didit"],"description":"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.","href":"/es/academy/build-kyc-workflow"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const VideoEmbed=({src,title=`Video`,type=`iframe`})=>_jsx(`div`,{className:type===`iframe`?`didit-video-embed`:`didit-video-embed didit-video-native`,children:type===`iframe`?_jsx(`iframe`,{src,title,style:{width:`100%`,height:`100%`,border:0,borderRadius:`12px`},allow:`accelerometer; autoplay; clipboard-write; compute-pressure; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:true}):_jsx(`video`,{controls:true,autoPlay:true,muted:true,loop:true,playsInline:true,src,title,style:{width:`100%`,height:`auto`,display:`block`,borderRadius:`12px`}})});function _createMdxContent(props){const _components={a:`a`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,_MdxComponentBoundary}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`VideoEmbed`,children:_jsx(VideoEmbed,{src:`https://www.youtube.com/embed/7-nJ3JE20i4`,title:`Crea un flujo de verificación KYC sin código (tutorial completo)`})}),`\n`,_jsxs(_components.p,{children:[`Transcripción completa de `,_jsx(_components.strong,{children:`Crea un flujo de verificación KYC sin código (tutorial completo)`}),`: video 3 de 10 de Didit Academy, 18:54. `,_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4`,children:`Ver en YouTube`}),`. Cada párrafo enlaza al momento exacto del video.`]}),`\n`,_jsx(Note,{children:`Los precios cambiaron el 1 de noviembre de 2026: las 500 verificaciones gratuitas al mes pasaron a ser $10 de crédito al mes para las organizaciones que se registraron con un correo electrónico corporativo. El video muestra los precios anteriores.`}),`\n`,_jsx(Heading,{level:`2`,id:`qué-es-un-flujo-de-verificación`,children:`Qué es un flujo de verificación`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=3s`,children:`00:03`}),` En este video vamos a crear un flujo de verificación completo desde cero, y no vas a necesitar escribir ni una sola línea de código. Un flujo de verificación (workflow) es, en realidad, una receta para una verificación: qué comprobaciones se ejecutan y en qué orden. Normalmente, eso queda en manos de tus ingenieros. Pero en Didit lo construyes tú mismo, de forma visual. Ves cómo se actualiza el precio a medida que avanzas y lo pones en producción cuando estés listo.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=28s`,children:`00:28`}),` Si quieres crear uno tú mismo, puedes ir a didit.me, registrarte gratis y montar tu primer flujo en solo unos minutos. Muy bien, empecemos por donde vive todo flujo de verificación, que es en`]}),`\n`,_jsx(Heading,{level:`2`,id:`la-lista-de-flujos-y-los-id-de-flujo`,children:`La lista de flujos y los ID de flujo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=39s`,children:`00:39`}),` la lista de flujos, dentro de la pestaña de configuración. Aquí están todos los flujos que tenemos actualmente en esta cuenta y puedes ver el tipo. Tenemos KYC y KYB. Tenemos simples y de grafo, y podemos ver todas las comprobaciones y funciones de cada flujo. Podemos ver el rango de precios. Básicamente, muestra el rango de precios entre alguien que realiza una sola comprobación y no completa el proceso y alguien que completa todo el flujo. Tenemos un enlace para el flujo.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=69s`,children:`01:09`}),` Podemos añadir una nueva sesión manualmente. Podemos copiar el ID del flujo. Podemos duplicar, renombrar, archivar, todo lo habitual. Y este de aquí es el ID de tu flujo. Las distintas versiones del mismo flujo funcionan con el mismo ID. Así que, si actualizas el flujo, no necesitas cambiar nada en tu código ni en tu aplicación. La forma más sencilla de entender un flujo es como una receta para una verificación: qué comprobaciones se ejecutan, en qué orden y qué reglas se siguen. Hay dos`]}),`\n`,_jsx(Heading,{level:`2`,id:`flujos-simples-frente-a-flujos-de-grafo`,children:`Flujos simples frente a flujos de grafo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=100s`,children:`01:40`}),` estructuras distintas, como mencioné. Están los simples y los de grafo. Un flujo simple es solo una comprobación o unas pocas, sin ninguna ramificación. Sin lógica condicional. Se configura rápido y cubre la mayoría de los casos. Eliges tus módulos y listo. Por ejemplo, si miramos este flujo de ejemplo, puedes ver que podemos seleccionar los módulos aquí a la izquierda y los va a secuenciar todos en orden. Ahora, en un`]}),`\n`,_jsx(Heading,{level:`2`,id:`un-flujo-basado-en-grafos-con-ramificaciones`,children:`Un flujo basado en grafos con ramificaciones`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=125s`,children:`02:05`}),` flujo basado en grafo, si entramos aquí, podemos ver que hay algunas ramificaciones al final. Así podemos ser un poco más precisos sobre cómo dirigimos al usuario a lo largo de este flujo de verificación. Puedes ver que en este flujo, por ejemplo, hay varios puntos de ramificación distintos. También podemos incluir llamadas de webhook. Y, en general, podemos añadir algo más de complejidad aquí cuando haga falta.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=150s`,children:`02:30`}),` Fíjate también en que los flujos KYB se ven exactamente igual, solo que con comprobaciones distintas. Bien. Si queremos añadir una comprobación, podemos entrar aquí. Podemos elegir una de las acciones del usuario o configurar algunas comprobaciones en segundo plano. Estas son las que el usuario no ve en la interfaz. Así que`]}),`\n`,_jsx(Heading,{level:`2`,id:`crear-un-flujo-nuevo-a-partir-de-una-plantilla`,children:`Crear un flujo nuevo a partir de una plantilla`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=171s`,children:`02:51`}),` lo único que tienes que hacer es pulsar en nuevo flujo. Tenemos un par de opciones aquí: KYC y KYB. Seleccionemos KYC. Y tenemos simple frente a avanzado, como te mostré antes. Te enseñaré opciones para ambos. Si hacemos clic en simple, tenemos un montón de plantillas distintas para todo tipo de sectores. Y podemos ver el costo de cada una de estas plantillas. Tenemos controles de edad. Tenemos verificación de correo electrónico.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=199s`,children:`03:19`}),` Tenemos autenticación biométrica, seguros, salud, todo eso. Ahora, por ejemplo, si usamos una verificación de empresas y elegimos la versión avanzada, que es la de grafo, de nuevo tenemos un montón de plantillas distintas, o recetas, si quieres llamarlas así. Podríamos configurar KYB de países de alto riesgo y listo. Ni siquiera tienes que hacer clic ni arrastrar y soltar nada aquí. Ya está configurado.`]}),`\n`,_jsx(Heading,{level:`2`,id:`elegir-una-comprobación-en-cada-nodo`,children:`Elegir una comprobación en cada nodo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=228s`,children:`03:48`}),` Cada nodo de aquí tiene un menú desplegable. Así que puedes elegir la comprobación que quieras. Puedes cambiarla, como aquí, o podemos poner la verificación del registro de empresas. Lo que quieras. Verificación de identidad, prueba de vida, coincidencia facial, AML, prueba de domicilio. Todas las comprobaciones que Didit ofrece para KYB y KYC están disponibles dentro de estos nodos. Así que, si quisiera añadir una comprobación adicional aquí, por ejemplo, digamos que quiero hacer una revisión AML, puedo añadirlo aquí. Veremos las reglas y estas pestañas en un momento, pero puedes ver que en este flujo lo he añadido. Si entras en un flujo de grafo de KYC, la mayoría de estos flujos van a empezar con la verificación de identidad. Es la comprobación`]}),`\n`,_jsx(Heading,{level:`2`,id:`dentro-del-nodo-de-verificación-de-identidad`,children:`Dentro del nodo de verificación de identidad`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=273s`,children:`04:33`}),` verificación. Y aquí puedes ver que este es el nodo de verificación de identidad. Tenemos 500 verificaciones gratuitas al mes, y lo mismo para la prueba de vida y para la coincidencia facial. Ahora bien, esta verificación de identidad hace mucho más que leer el texto de una tarjeta. Demuestra que el documento es auténtico: comprueba las medidas de seguridad, busca manipulaciones, analiza las fuentes y la maquetación, y luego extrae cada campo, el nombre, la fecha de nacimiento, el número de documento, la fecha de caducidad, todo mediante OCR, en cualquier idioma y en los más de 14,000 tipos de documentos admitidos. Así que nunca se trata solo de texto. Primero es una comprobación de autenticidad y después vienen los datos. Configuremos uno de estos módulos.`]}),`\n`,_jsx(Heading,{level:`2`,id:`modos-de-prueba-de-vida-y-cuánto-cuesta-cada-uno`,children:`Modos de prueba de vida y cuánto cuesta cada uno`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=315s`,children:`05:15`}),` Bueno, si vamos al módulo de prueba de vida, verás que tenemos varios modos de prueba de vida. Tenemos el pasivo, que detecta la prueba de vida con una selfie. Tenemos el de destellos, que confirma la prueba de vida con patrones de luz dinámicos para detectar rostros de usuarios reales. Y luego tenemos la acción 3D, que confirma la prueba de vida mediante algún tipo de acción, ya sea parpadear o girar la cabeza. Como ves, con la prueba de vida pasiva tenemos 500 créditos gratuitos al mes y luego 10 centavos por comprobación, mientras que el modo de destellos y la acción 3D cuestan 15 centavos por comprobación. Y estos no incluyen ninguna comprobación gratuita en nuestra cuenta gratuita. Así que, en la pestaña de reglas,`]}),`\n`,_jsx(Heading,{level:`2`,id:`reglas-umbrales-rostros-duplicados-varios-rostros`,children:`Reglas: umbrales, rostros duplicados, varios rostros`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=356s`,children:`05:56`}),` así decidimos si el módulo es obligatorio u opcional. Si vamos a la pestaña de reglas, vemos que hay varias opciones. Esto nos permite configurar la sensibilidad de la comprobación. Podemos fijar un nivel de tolerancia: si alguien obtiene una puntuación de la prueba de vida inferior a 70, se enviará a revisión. Y podemos cambiarlo si queremos. Lo mismo ocurre con el rechazo. También tenemos una opción para los rostros duplicados: cuando el rostro de un usuario coincide con el de una sesión aprobada anteriormente, ¿cómo procedemos? Aprobar, revisar o rechazar. Además, podemos personalizar el umbral de similitud por etnia, es decir, ajustar la sensibilidad de la detección de duplicados según la etnia de la persona. Y por último, podemos definir la acción que se toma cuando se detectan varios rostros en la imagen de la prueba de vida. El rostro más grande siempre se usa para la puntuación de la prueba de vida. Así que esa es una opción que podemos configurar aquí. Si entramos en la`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuración-avanzada-y-umbrales-de-calidad`,children:`Configuración avanzada y umbrales de calidad`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=416s`,children:`06:56`}),` en la pestaña de configuración avanzada tenemos varias opciones. Aquí tenemos el modo de privacidad facial; el número máximo de intentos de prueba de vida, es decir, cuántas veces puede un usuario repetir la prueba de vida dentro de una misma sesión de verificación; y el umbral de calidad facial. Si alguna vez no tienes claro qué hace exactamente alguna de estas opciones, puedes pasar el cursor sobre este botón de información. Aquí vemos que la calidad facial mide la claridad, la resolución y la nitidez de la imagen.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=440s`,children:`07:20`}),` Las imágenes de baja calidad pueden deberse a desenfoque, pixelación o malas condiciones de iluminación. Así que aquí podemos fijar el umbral según la puntuación de calidad facial. También tenemos un umbral de luminosidad: podemos establecer el rango de luminosidad aceptable y, si la luminosidad queda por debajo de ese rango, enviar al usuario a revisión o rechazarlo. Y por último, podemos crear nuestras propias reglas personalizadas si ninguna de estas se ajusta a la`]}),`\n`,_jsx(Heading,{level:`2`,id:`datos-devueltos-y-rgpd`,children:`Datos devueltos y RGPD`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=467s`,children:`07:47`}),` la configuración que queremos. En la pestaña de datos devueltos podemos seleccionar los datos que queremos excluir de los resultados de la verificación, por motivos de RGPD, por ejemplo. Además, en cada uno de estos módulos vemos el precio de la comprobación y, arriba,`]}),`\n`,_jsx(Heading,{level:`2`,id:`cómo-se-calcula-el-precio-del-flujo`,children:`Cómo se calcula el precio del flujo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=480s`,children:`08:00`}),` aquí podemos ver el precio total. Déjame explicártelo, porque cada nodo tiene su propio precio y es probable que el coste total de cada flujo sea algo distinto. Solo pagas por los pasos que realmente se ejecutan: cada paso se cobra por separado. Así que, si el solicitante abandona a mitad del proceso, solo se cobran las primeras comprobaciones por las que haya pasado. Por eso abajo ves un rango de 20 a 43 centavos. Ese es el rango. Si alguien pasa por el flujo, completa el primer paso y sale, solo te costará 20 centavos. Si completa todo el flujo de verificación, te costará 43. Y, como ves, en el centro aparecen todos los módulos que contiene este flujo en concreto. Podemos ver cuántos créditos tenemos al mes. Cuando se agotan esos créditos gratuitos, una vez realizadas esas 500 comprobaciones, se te empezarán a cobrar. Uno de los módulos más potentes que puedes añadir ni siquiera es una comprobación con cámara. Es la`]}),`\n`,_jsx(Heading,{level:`2`,id:`validación-de-base-de-datos-contra-registros-gubernamentales`,children:`Validación de base de datos contra registros gubernamentales`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=545s`,children:`09:05`}),` validación de base de datos. Vamos a añadirla. Es una comprobación de antecedentes. Vamos a ver qué hace exactamente, porque esta validación de base de datos se conecta a registros y bases de datos gubernamentales oficiales de todo el mundo. Lo que hace es cotejar los datos del usuario con esas fuentes oficiales y luego enriquecerlos con los campos adicionales que contiene el registro. Puedes elegir qué registros y fuentes consultar en cada país, como ves aquí. Y cada servicio indica su propio precio. Aquí abajo, por ejemplo, vemos distintos servicios en Canadá y, lógicamente, cada registro tiene un precio distinto. Si quisiéramos ver un país concreto, como Alemania, por ejemplo, veríamos las comprobaciones disponibles en Alemania y podríamos seleccionarlas según nuestras necesidades.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=599s`,children:`09:59`}),` Y esta validación de base de datos no es solo algo que puedas ejecutar aquí en el panel: también puedes invocarla directamente a través de la API de Didit desde tu propio backend. Y, como en todos estos módulos, tenemos reglas, configuración avanzada y datos devueltos. Así que, de nuevo, aquí puedes configurar tus reglas. Si hacemos clic aquí en coincidencia parcial, podemos ver cómo es una coincidencia total: por ejemplo, que el nombre completo y el número de identificación coincidan en el registro; una coincidencia parcial podría ser solo el número de identificación. Y luego podemos decidir qué significa esa coincidencia parcial dentro de tu flujo. ¿La enviamos a revisión? ¿La rechazamos? ¿La aprobamos? Así que tenemos ramificaciones dentro de este flujo. Tenemos`]}),`\n`,_jsx(Heading,{level:`2`,id:`ramificación-aml-y-lógica-condicional`,children:`Ramificación AML y lógica condicional`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=636s`,children:`10:36`}),` podemos tener una ramificación AML según la puntuación de riesgo AML. AML no es más que prevención del blanqueo de capitales. Pero abajo del todo vemos que ya tenemos una ramificación configurada para esta puntuación de riesgo AML. Así que, si la puntuación de riesgo supera 70, simplemente podemos rechazar la sesión, y podemos hacer clic aquí. Aquí vemos la lógica condicional, ¿verdad? Es algo que podemos configurar como queramos. Tenemos la rama uno, la rama dos y luego todos los demás casos, lo que significa que la sesión se va a aprobar. Por ejemplo, si alguien está en este grupo de aquí, se le envía a la rama dos. Podríamos pedirle más información, ¿verdad? Podríamos pedirle un comprobante de domicilio, por ejemplo. Así, si alguien presenta un riesgo moderado, podemos pedirle más información que nos ayude a decidir si esa persona debe ser aprobada o rechazada. Otro de los nodos que tenemos aquí es el de estado, que ya se ha añadido aquí, pero puedes añadirlos al final de tu flujo para determinar cuál va a ser el resultado. Otro de los`]}),`\n`,_jsx(Heading,{level:`2`,id:`el-nodo-de-webhook`,children:`El nodo de webhook`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=700s`,children:`11:40`}),` Uno de los nodos que podemos incluir en el flujo es el nodo de webhook. El flujo también puede conectarse con tus propios sistemas en mitad de una verificación, y para eso sirve este nodo. Puede invocar un endpoint y recuperar datos. Y va a esperar a que ese webhook responda. Aquí puedes ver que tenemos un webhook POST. Tenemos un payload JSON que se puede modificar. También podemos enviar distintos payloads. Estos son los pares clave-valor que asignan los campos de tu sesión a la solicitud que envías. Y los campos que vuelven se convierten en variables que la siguiente rama puede evaluar. Así combinas los controles de Didit con tus propios datos de riesgo, todo dentro de un único flujo. Y una última cosa: podemos incluir los encabezados aquí abajo. Más pares clave-valor. Aquí tenemos autenticación básica. Todo lo que esperarías de una llamada de webhook. Didit valida el`]}),`\n`,_jsx(Heading,{level:`2`,id:`validación-del-grafo-y-errores`,children:`Validación del grafo y errores`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=748s`,children:`12:28`}),` grafo durante todo el tiempo que lo estás construyendo. Así que, si un nodo está mal configurado o una ruta está rota, te va a indicar exactamente dónde. ¿Verdad? Hacemos clic aquí abajo. Vemos que el flujo tiene dos errores. Y vemos que la rama uno tiene reglas incompletas. Te va a indicar qué hay que corregir dentro de tu flujo. Y no vamos a poder publicarlo hasta que se corrijan estos errores. Por ejemplo, si tuviera un flujo nuevo y hubiera un error, no podría publicar ese flujo. Más allá de los nodos individuales`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuración-del-flujo-reintentos-caducidad-y-url-de-callback`,children:`Configuración del flujo: reintentos, caducidad y URL de callback`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=778s`,children:`12:58`}),` del flujo, tenemos la pestaña de configuración aquí arriba, y vemos que esta configuración se aplica a todo el flujo y no a una sola comprobación. Tenemos, por supuesto, el nombre del flujo, y tenemos una URL de callback, que es la dirección a la que Didit redirige al usuario cuando termina el flujo. Podemos permitir el acceso desde escritorio si quieres permitir que continúen en el escritorio. Tenemos el número de reintentos, que puedes cambiar. Es decir, el número de veces que un usuario puede volver a intentar la captura del documento dentro de una misma sesión de verificación si un intento anterior falla. Tenemos la caducidad de la sesión, es decir, cuánto tiempo sigue siendo válida una sesión sin terminar antes de expirar automáticamente. Y esto se va a aplicar a las sesiones creadas a partir de ahora. Y tenemos la ventana de reintentos, es decir, el número de días durante los cuales se permiten los reintentos. Desde`]}),`\n`,_jsx(Heading,{level:`2`,id:`marca-blanca-en-el-flujo`,children:`Marca blanca en el flujo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=823s`,children:`13:43`}),` dentro de este flujo, podemos ir a la pestaña de personalización haciendo clic en este botón de aquí arriba. La marca blanca está integrada directamente en el propio flujo. Puedes entrar en esta pestaña y empezar a ajustar cómo se ve este flujo de verificación: los colores, la marca, el correo electrónico, el dominio, todo eso. Y en esta maqueta puedes ver cómo se va a ver en el móvil y también cómo se va a ver en escritorio.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=853s`,children:`14:13`}),` También puedes probarlo en distintos idiomas. Si lo ponemos en francés, puedes ver que ahora todas las comprobaciones están en francés. Y si quieres activarla, puedes activar tu marca aquí. Listo. Puedes ponerla como la configuramos en la pestaña de personalización o desactivarla. Y podemos ver qué pasa si elegimos una ruta distinta aquí y qué se le envía al usuario. Obviamente, el usuario no va a ver el módulo para elegir la ruta, pero esto nos sirve para visualizar qué va a pasar en el siguiente paso, ¿verdad? Así que, si se rechaza la verificación, vamos a ver verificación rechazada, verificación en revisión o que ha sido verificado. Tenemos la opción de copiar el enlace`]}),`\n`,_jsx(Heading,{level:`2`,id:`el-enlace-para-compartir-y-cuándo-no-usarlo`,children:`El enlace para compartir y cuándo no usarlo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=898s`,children:`14:58`}),` aquí arriba. Si lo copiamos y abrimos una pestaña nueva, podemos entrar en el enlace y vamos a ver lo que va a ver el usuario. A veces solo quieres pasarle a alguien el flujo sin escribir nada de código. Y esta opción para copiar el enlace hace exactamente eso. Copia una URL alojada, lista para compartir, de este flujo. Es útil para una prueba rápida o un envío manual, pero no es la forma recomendada de integrarlo. En producción, puedes crear una sesión por usuario a través del SDK o de la API con los datos del proveedor, y así es como obtienes los resultados en tiempo real mediante webhooks y el SDK. Así que el enlace para copiar es ideal para pruebas y eventos, y una sesión propiamente dicha es lo que vas a lanzar en producción. Así que`]}),`\n`,_jsx(Heading,{level:`2`,id:`historial-de-versiones-y-reversión`,children:`Historial de versiones y reversión`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=941s`,children:`15:41`}),` Aquí arriba tenemos el historial de versiones. Podemos ver las distintas versiones y restaurar o consultar las versiones anteriores. Si estuviéramos editando este flujo de verificación (workflow), esos cambios quedarían como borrador por encima del historial publicado. Y lo mejor es que cada nueva versión que publicas mantiene el mismo ID de flujo. Así, tu backend sigue usando ese único ID y la solicitud se redirige de forma transparente al flujo más reciente que hayas creado, porque ese historial queda registrado; puedes iterar con confianza y volver a versiones anteriores siempre que lo necesites. Por ejemplo, este flujo es completamente nuevo. Puedes ver que está en modo borrador. Si hacemos cualquier cambio en el flujo, quedará en borrador y tendremos que publicarlo. Así que podemos`]}),`\n`,_jsx(Heading,{level:`2`,id:`publicar-tu-flujo`,children:`Publicar tu flujo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=984s`,children:`16:24`}),` pulsa publicar. Este flujo solo pasa a producción cuando se publica. Se valida el grafo para asegurarse de que no haya errores. Y listo: podemos copiar el enlace y el flujo ya está en producción y listo para usarse. Veamos`]}),`\n`,_jsx(Heading,{level:`2`,id:`integración-sdk-clave-de-api-y-el-prompt-de-configuración`,children:`Integración: SDK, clave de API y el prompt de configuración`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=997s`,children:`16:37`}),` En cuanto a la integración. Hay varias formas de integrarlo. Podemos elegir el SDK que necesitemos: React Native, iOS, React o Next.js. Podemos seleccionar el flujo; en este caso, tenemos el de revisión de países de alto riesgo. Podemos seleccionar la clave de API, así que puedes tener distintas claves de API para distintos flujos o distintas integraciones, como prefieras. También puedes seleccionar un webhook: si quieres recibir notificaciones de las decisiones, puedes indicarlo ahí. La forma más sencilla de integrarlo es copiar un prompt y pegarlo directamente en Claude Code o Codex.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=1032s`,children:`17:12`}),` Ese prompt integrará este flujo. Así que, aunque todavía no tengas Didit integrado en tu aplicación, este prompt te dará todo lo necesario para que este flujo funcione en tu aplicación. Y ni siquiera tienes que hacer eso. Simplemente puedes`]}),`\n`,_jsx(Heading,{level:`2`,id:`crear-flujos-con-el-servidor-mcp`,children:`Crear flujos con el servidor MCP`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=1047s`,children:`17:27`}),` Instala un servidor MCP de Didit. Solo tienes que describir el flujo en lenguaje natural y creará el flujo por ti y lo integrará automáticamente en tu aplicación. Dile qué hacer y se encargará de hacerlo. Veremos cómo configurar el MCP en otro video, pero, en esencia, MCP es Model Context Protocol, que te permite crear con Didit usando lenguaje natural en herramientas como Claude Code, Cursor, Codex y muchas otras. Pasemos rápidamente a la personalización.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.youtube.com/watch?v=7-nJ3JE20i4\u0026t=1077s`,children:`17:57`}),` Añadiríamos el nombre público y la URL de la política de privacidad. Tenemos la sección de marca, donde podemos cambiar los colores. También puedes obtener tus logotipos y colores automáticamente desde tu sitio web, algo muy útil y fácil de hacer. Aquí abajo podemos subir tus logotipos. Como ves, ya configuré estos colores. Y para probar cómo se vería con esos colores, si activamos este interruptor, podemos ver cómo se aplica nuestra marca blanca en el flujo de verificación. Por ahora lo voy a desactivar. Puedes configurar un correo electrónico personalizado. Tendrás que completar estos datos. Luego, al continuar con la verificación, obtendrás la información DNS para conectarla con tu dominio. Lo mismo aquí si quieres usar un subdominio. Así, todo este flujo queda completamente alojado con tu propia marca y tu propio dominio. De este modo, el proceso de verificación resulta realmente fluido para tus usuarios.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{VideoEmbed,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Flujo KYC sin código: cómo crearlo paso a paso","keywords":["Didit Academy","flujo KYC sin código","crear flujo de verificación KYC","verificación de identidad","KYC sin código","videotutorial","transcripción","reglas de riesgo","Didit"],"description":"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.","href":"/es/academy/build-kyc-workflow"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[146,708,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Qué es un flujo de verificación","slug":"qué-es-un-flujo-de-verificación","depth":2,"children":[]},{"title":"La lista de flujos y los ID de flujo","slug":"la-lista-de-flujos-y-los-id-de-flujo","depth":2,"children":[]},{"title":"Flujos simples frente a flujos de grafo","slug":"flujos-simples-frente-a-flujos-de-grafo","depth":2,"children":[]},{"title":"Un flujo basado en grafos con ramificaciones","slug":"un-flujo-basado-en-grafos-con-ramificaciones","depth":2,"children":[]},{"title":"Crear un flujo nuevo a partir de una plantilla","slug":"crear-un-flujo-nuevo-a-partir-de-una-plantilla","depth":2,"children":[]},{"title":"Elegir una comprobación en cada nodo","slug":"elegir-una-comprobación-en-cada-nodo","depth":2,"children":[]},{"title":"Dentro del nodo de verificación de identidad","slug":"dentro-del-nodo-de-verificación-de-identidad","depth":2,"children":[]},{"title":"Modos de prueba de vida y cuánto cuesta cada uno","slug":"modos-de-prueba-de-vida-y-cuánto-cuesta-cada-uno","depth":2,"children":[]},{"title":"Reglas: umbrales, rostros duplicados, varios rostros","slug":"reglas-umbrales-rostros-duplicados-varios-rostros","depth":2,"children":[]},{"title":"Configuración avanzada y umbrales de calidad","slug":"configuración-avanzada-y-umbrales-de-calidad","depth":2,"children":[]},{"title":"Datos devueltos y RGPD","slug":"datos-devueltos-y-rgpd","depth":2,"children":[]},{"title":"Cómo se calcula el precio del flujo","slug":"cómo-se-calcula-el-precio-del-flujo","depth":2,"children":[]},{"title":"Validación de base de datos contra registros gubernamentales","slug":"validación-de-base-de-datos-contra-registros-gubernamentales","depth":2,"children":[]},{"title":"Ramificación AML y lógica condicional","slug":"ramificación-aml-y-lógica-condicional","depth":2,"children":[]},{"title":"El nodo de webhook","slug":"el-nodo-de-webhook","depth":2,"children":[]},{"title":"Validación del grafo y errores","slug":"validación-del-grafo-y-errores","depth":2,"children":[]},{"title":"Configuración del flujo: reintentos, caducidad y URL de callback","slug":"configuración-del-flujo-reintentos-caducidad-y-url-de-callback","depth":2,"children":[]},{"title":"Marca blanca en el flujo","slug":"marca-blanca-en-el-flujo","depth":2,"children":[]},{"title":"El enlace para compartir y cuándo no usarlo","slug":"el-enlace-para-compartir-y-cuándo-no-usarlo","depth":2,"children":[]},{"title":"Historial de versiones y reversión","slug":"historial-de-versiones-y-reversión","depth":2,"children":[]},{"title":"Publicar tu flujo","slug":"publicar-tu-flujo","depth":2,"children":[]},{"title":"Integración: SDK, clave de API y el prompt de configuración","slug":"integración-sdk-clave-de-api-y-el-prompt-de-configuración","depth":2,"children":[]},{"title":"Crear flujos con el servidor MCP","slug":"crear-flujos-con-el-servidor-mcp","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/didit-0f962782/5fb7c0c336c92274/snippets/data/database-validation-coverage.js","/_mintlify/custom/didit-0f962782/4ac7d3c2a19a354d/database-validation-playground.js"],"subdomain":"didit-0f962782","siteName":"Didit Docs","title":"Flujo KYC sin código: cómo crearlo paso a paso - Didit Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/academy/build-kyc-workflow","matchLevel":1},"es":{"href":"/es/academy/build-kyc-workflow","matchLevel":0},"pt-BR":{"href":"/pt-br/academy/build-kyc-workflow","matchLevel":1},"ja":{"href":"/ja/academy/build-kyc-workflow","matchLevel":1}}},"lastModified":"2026-11-01T10:59:49.276Z","gitLastModified":"2026-11-01T10:56:28.000Z","originalFileLocation":"es/academy/build-kyc-workflow.mdx","locale":"es"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Flujo KYC sin código: cómo crearlo paso a paso - Didit Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Didit Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.didit.me/es/academy/build-kyc-workflow\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://didit-0f962782.mintlify.app/_mintlify/api/og/v2?division=Didit+Academy\u0026amp;title=Flujo+KYC+sin+c%C3%B3digo%3A+c%C3%B3mo+crearlo+paso+a+paso\u0026amp;description=Video+de+Didit+%28transcripci%C3%B3n%29%3A+crea+un+flujo+KYC+sin+c%C3%B3digo+con+controles%2C+ramas%2C+reglas+de+riesgo%2C+pruebas+y+publicaci%C3%B3n+en+producci%C3%B3n.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=f650789d04f0c4dd0521446c345ed4e60f9215e3a9fdf81555827d5a3910a2e0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Flujo KYC sin código: cómo crearlo paso a paso - Didit Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://didit-0f962782.mintlify.app/_mintlify/api/og/v2?division=Didit+Academy\u0026amp;title=Flujo+KYC+sin+c%C3%B3digo%3A+c%C3%B3mo+crearlo+paso+a+paso\u0026amp;description=Video+de+Didit+%28transcripci%C3%B3n%29%3A+crea+un+flujo+KYC+sin+c%C3%B3digo+con+controles%2C+ramas%2C+reglas+de+riesgo%2C+pruebas+y+publicaci%C3%B3n+en+producci%C3%B3n.\u0026amp;theme=f6d5c5eb819d99f700ee852a\u0026amp;signature=f650789d04f0c4dd0521446c345ed4e60f9215e3a9fdf81555827d5a3910a2e0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/didit-0f962782/h7Er2opLBVoQwrdf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Didit Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2567FF\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#2567FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.didit.me/es/academy/build-kyc-workflow\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/es/academy/build-kyc-workflow.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.didit.me/es/academy/build-kyc-workflow\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.didit.me/academy/build-kyc-workflow\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.didit.me/pt-br/academy/build-kyc-workflow\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.didit.me/ja/academy/build-kyc-workflow\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.didit.me/academy/build-kyc-workflow\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://didit.me/#organization\",\"name\":\"Didit\",\"legalName\":\"Didit Protocol\",\"url\":\"https://didit.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://didit.me/logos/primary-horizontal-light.png\"},\"sameAs\":[\"https://www.linkedin.com/company/91001155\",\"https://www.youtube.com/@getdidit\",\"https://github.com/didit-protocol\",\"https://x.com/didit\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.didit.me#website\",\"name\":\"Didit Docs\",\"url\":\"https://docs.didit.me\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.didit.me/es/academy/build-kyc-workflow#webpage\",\"url\":\"https://docs.didit.me/es/academy/build-kyc-workflow\",\"name\":\"Flujo KYC sin código: cómo crearlo paso a paso\",\"description\":\"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\",\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.didit.me/es/academy/build-kyc-workflow#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.didit.me/es/academy/build-kyc-workflow#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Didit Academy\",\"item\":\"https://docs.didit.me/es/academy/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flujo KYC sin código: cómo crearlo paso a paso\",\"item\":\"https://docs.didit.me/es/academy/build-kyc-workflow\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.didit.me/es/academy/build-kyc-workflow#article\",\"headline\":\"Flujo KYC sin código: cómo crearlo paso a paso\",\"name\":\"Flujo KYC sin código: cómo crearlo paso a paso\",\"description\":\"Video de Didit (transcripción): crea un flujo KYC sin código con controles, ramas, reglas de riesgo, pruebas y publicación en producción.\",\"url\":\"https://docs.didit.me/es/academy/build-kyc-workflow\",\"mainEntityOfPage\":{\"@id\":\"https://docs.didit.me/es/academy/build-kyc-workflow#webpage\"},\"dateModified\":\"2026-11-01T10:56:28.000Z\",\"keywords\":\"Didit Academy, flujo KYC sin código, crear flujo de verificación KYC, verificación de identidad, KYC sin código, videotutorial, transcripción, reglas de riesgo, Didit\",\"publisher\":{\"@id\":\"https://didit.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.didit.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Didit Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Didit Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/academy/build-kyc-workflow"}]},{"language":"es","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Soporte"},{"icon":"signal","href":"https://status.didit.me","label":"Estado"}],"primary":{"type":"button","label":"Iniciar sesión","href":"https://business.didit.me"}},"tabs":[{"tab":"Primeros pasos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/rocket.svg","groups":[{"group":"Visión general","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/overview.svg","pages":[{"title":"API de verificación de identidad, KYC y AML","sidebarTitle":"Documentación de Didit","href":"/es"},{"title":"Verificación de identidad para la era de la IA","sidebarTitle":"Introducción","href":"/es/getting-started/introduction"},{"title":"Inicio rápido: lanza tu verificación de identidad","sidebarTitle":"Inicio rápido: lanza tu primer flujo de verificación KYC","href":"/es/getting-started/quick-start"},{"title":"Autenticación de la API: solicitudes seguras a la API KYC","sidebarTitle":"Autenticación de la API","href":"/es/getting-started/api-authentication"},{"title":"Funciones de la plataforma Didit: KYC, KYB, AML y fraude","sidebarTitle":"Funciones","href":"/es/getting-started/features"},{"title":"Recorrido de verificación de usuarios: flujo KYC y UX","sidebarTitle":"Flujo del usuario","href":"/es/getting-started/user-verification-journey"}]},{"group":"Precios","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/pricing.svg","pages":[{"title":"Precios de verificación de identidad: KYC completo $0.33","sidebarTitle":"Precios","href":"/es/getting-started/pricing"},{"title":"Precios de registros KYB por país: Lite, accionistas, UBO","sidebarTitle":"Precios de registros KYB","href":"/es/getting-started/kyb-registry-pricing"},{"title":"Precios de validación en bases de datos: ID oficial","sidebarTitle":"Precios validación BD","href":"/es/getting-started/database-validation-pricing"},{"title":"Precios de verificación telefónica: OTP SMS y WhatsApp","sidebarTitle":"Precios telefónicos","href":"/es/getting-started/phone-verification-pricing"},{"title":"Precios de verificación bancaria por país","sidebarTitle":"Precios bancarios","href":"/es/getting-started/bank-verification-pricing"}]},{"group":"Flujos y verificación","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/workflows.svg","pages":[{"title":"Workflow Builder: diseñador de flujos KYC sin código","sidebarTitle":"Workflows","href":"/es/console/workflows"},{"title":"Configurar métodos de verificación de ID en la consola","sidebarTitle":"Métodos de verificación de ID","href":"/es/console/id-verification-methods"},{"title":"Marketplace: usa tu propio motor de verificación","sidebarTitle":"Marketplace","href":"/es/console/marketplace"},{"title":"Enlaces de verificación: URLs de KYC alojado y códigos QR","sidebarTitle":"Enlaces de verificación","href":"/es/console/verification-links"},{"title":"Unilinks: enlaces KYC reutilizables sin código","sidebarTitle":"Unilinks","href":"/es/console/uni-links"},{"title":"54 idiomas compatibles: KYC multilingüe","sidebarTitle":"Idiomas compatibles","href":"/es/integration/supported-languages"}]},{"group":"Revisión y operaciones","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/clipboard-check.svg","pages":[{"title":"Monitorización de transacciones: AML, KYT y Travel Rule","sidebarTitle":"Monitorización de transacciones","href":"/es/console/transaction-monitoring"},{"group":"Gestión de casos","icon":"/icons/clipboard-check.svg","pages":[{"title":"Gestión de casos: casos y ciclo de vida","sidebarTitle":"Casos","href":"/es/console/case-management/cases"},{"title":"Crear casos: puntos de entrada","sidebarTitle":"Crear casos","href":"/es/console/case-management/creating-cases"},{"title":"Asignación de casos a revisores","sidebarTitle":"Asignación","href":"/es/console/case-management/assignment"},{"title":"Blueprints de casos: asignación y contenido de casos","sidebarTitle":"Blueprints","href":"/es/console/case-management/blueprints"},{"title":"Checklist de casos: bloqueo de la resolución","sidebarTitle":"Checklist","href":"/es/console/case-management/checklist"},{"title":"Mensajes a clientes en la gestión de casos","href":"/es/console/case-management/customer-messages"},{"title":"Revisión de cuatro ojos: aprobación maker/checker","sidebarTitle":"Revisión de cuatro ojos","href":"/es/console/case-management/four-eyes"},{"title":"Informes regulatorios para la UIF (FIU) y plantillas","sidebarTitle":"Informes para la UIF","href":"/es/console/case-management/fiu-reports"},{"title":"Analítica de casos y panel de resumen","sidebarTitle":"Analítica","href":"/es/console/case-management/analytics"}]},{"title":"Revisión manual de KYC: panel del revisor","sidebarTitle":"Revisión manual","href":"/es/console/manual-review"},{"title":"Agente Investigator: revisión con IA de KYC, AML y casos","sidebarTitle":"Agente Investigator","href":"/es/console/investigator"},{"title":"Redes de fraude: detección de redes de fraude organizadas","sidebarTitle":"Redes","href":"/es/console/networks"},{"title":"Chats de sesión: colaboración de equipo en revisión KYC","sidebarTitle":"Chats de sesión","href":"/es/console/session-chats"},{"title":"Lista de bloqueo: rostros, documentos, teléfonos y emails","sidebarTitle":"Bloquear usuarios","href":"/es/console/blocklist-users"},{"title":"Exportar datos de verificación: informes PDF y CSV","sidebarTitle":"Exportar PDF y CSV","href":"/es/console/export-pdf-csv"}]},{"group":"Entidades (usuarios y empresas)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/users.svg","pages":[{"title":"Entidades: usuarios y empresas en Didit","sidebarTitle":"Visión general","href":"/es/entities/overview"},{"title":"Ciclo de vida de entidades: estados de usuario y empresa","sidebarTitle":"Ciclo de vida","href":"/es/entities/lifecycle"},{"title":"Vinculación de vendor_data: asocia IDs a entidades","sidebarTitle":"Vinculación de vendor_data","href":"/es/entities/vendor-data-linking"},{"group":"Usuarios","icon":"/icons/users.svg","pages":[{"title":"Vendor Users: registro KYC persistente","sidebarTitle":"Resumen","href":"/es/entities/users/overview"},{"title":"Modelo de datos de usuario: esquema Vendor User","sidebarTitle":"Modelo de datos de usuario","href":"/es/entities/users/data-model"},{"title":"Operaciones de usuarios: CRUD de usuarios del proveedor","sidebarTitle":"Operaciones de usuarios","href":"/es/entities/users/operations"},{"title":"Biometría de usuarios: búsqueda facial y lista de bloqueo","sidebarTitle":"Rostros y biometría","href":"/es/entities/users/faces-and-biometrics"},{"title":"Documentos de usuario: ID, domicilio y archivos de apoyo","sidebarTitle":"Documentos de usuario","href":"/es/entities/users/documents"},{"title":"Lista de bloqueo de usuarios: rostros, documentos, emails","sidebarTitle":"Lista de bloqueo de usuarios","href":"/es/entities/users/blocklist"},{"title":"Historial KYC del usuario: sesiones y reverificación","sidebarTitle":"Historial KYC del usuario","href":"/es/entities/users/kyc-history"},{"title":"Transacciones de usuario: historial KYT y riesgo","sidebarTitle":"Transacciones de usuario","href":"/es/entities/users/transactions"},{"title":"Importar y exportar usuarios: operaciones masivas con CSV","sidebarTitle":"Importar y exportar usuarios","href":"/es/entities/users/import-export"},{"title":"Usuarios en la consola de Didit: guía para analistas","sidebarTitle":"Usuarios en la consola","href":"/es/entities/users/console"}]},{"group":"Empresas","icon":"/icons/businesses.svg","pages":[{"title":"Empresas proveedoras: registro KYB persistente","sidebarTitle":"Descripción general","href":"/es/entities/businesses/overview"},{"title":"Modelo de datos de empresas: esquema KYB","sidebarTitle":"Modelo de datos de empresas","href":"/es/entities/businesses/data-model"},{"title":"CRUD de empresas (KYB): operaciones con la Management API","sidebarTitle":"Operaciones de empresas","href":"/es/entities/businesses/operations"},{"title":"Historial KYB de empresas: sesiones e informes","sidebarTitle":"Historial KYB de empresas","href":"/es/entities/businesses/kyb-history"},{"title":"Transacciones de empresas: historial KYT","sidebarTitle":"Transacciones de empresas","href":"/es/entities/businesses/transactions"},{"title":"Personas clave de empresas: UBO y directivos","sidebarTitle":"Personas clave","href":"/es/entities/businesses/key-people"},{"title":"Lista de bloqueo de empresas: bloquear KYB y países","sidebarTitle":"Lista de bloqueo de empresas","href":"/es/entities/businesses/blocklist"},{"title":"Importar y exportar empresas: carga masiva por CSV","sidebarTitle":"Importar y exportar empresas","href":"/es/entities/businesses/import-export"},{"title":"Empresas en la consola de Didit: guía de KYB","sidebarTitle":"Empresas en la consola","href":"/es/entities/businesses/console"}]},{"title":"Webhooks de entidades: eventos de usuario y empresa","sidebarTitle":"Webhooks de entidades","href":"/es/entities/webhooks"}]},{"group":"Ajustes y personalización","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/sliders.svg","pages":[{"title":"KYC de marca blanca: branding y dominio personalizados","sidebarTitle":"Marca blanca","href":"/es/console/white-label"},{"title":"Dominio personalizado para KYC: configuración DNS","sidebarTitle":"Dominio personalizado","href":"/es/console/custom-domain"},{"title":"Panel de analítica: métricas de KYC, KYB y KYT","sidebarTitle":"Panel de analítica","href":"/es/console/analytics"},{"title":"Aplicaciones en la consola Didit: producción y Sandbox","sidebarTitle":"Aplicaciones","href":"/es/console/applications"},{"title":"Facturación y plan en la consola de Didit","sidebarTitle":"Facturación y plan","href":"/es/console/billing"},{"title":"Seguridad e inicio de sesión en la consola de Didit","sidebarTitle":"Seguridad e inicio de sesión","href":"/es/console/security-and-sign-in"},{"title":"Roles y permisos: RBAC en la consola KYC de Didit","sidebarTitle":"Roles y permisos","href":"/es/console/roles-permissions"},{"title":"Claves de API con permisos: acceso restringido a KYC","sidebarTitle":"Claves de API","href":"/es/console/api-keys"},{"title":"Registros de auditoría: actividad de API y cumplimiento","sidebarTitle":"Registros de auditoría","href":"/es/console/audit-logs"},{"title":"Preferencia de entrenamiento de modelos","href":"/es/console/model-training-preference"},{"title":"Retención y eliminación de datos según el RGPD","sidebarTitle":"Retención de datos","href":"/es/console/data-retention"},{"title":"Ask Didit: copiloto de IA de la consola de Didit","sidebarTitle":"Ask Didit","href":"/es/console/ask-didit"}]},{"group":"Seguridad y cumplimiento","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/shield.svg","pages":[{"title":"Seguridad y cumplimiento: SOC 2, ISO 27001 y RGPD","sidebarTitle":"Seguridad y cumplimiento","href":"/es/getting-started/security-compliance"},{"title":"Consentimiento biométrico para BIPA, CUBI y Colorado","sidebarTitle":"Consentimiento biométrico","href":"/es/getting-started/biometric-consent"},{"title":"Certificaciones de Didit: SOC 2, ISO 27001, iBeta","sidebarTitle":"Certificaciones y atestaciones","href":"/es/getting-started/certifications"},{"title":"Guía de cumplimiento AMLR: Reglamento UE 2024/1624 y APIs","sidebarTitle":"Guía de cumplimiento AMLR","href":"/es/getting-started/amlr-compliance"}]},{"group":"Didit Academy","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/play.svg","pages":[{"title":"Curso en video de Didit Academy y transcripciones","sidebarTitle":"Didit Academy","href":"/es/academy/overview"},{"title":"Recorrido por la plataforma: KYC, KYB y transacciones","href":"/es/academy/platform-tour"},{"title":"Verificación KYC: lo que ve el usuario final","description":"Transcripción de video de Didit: flujo KYC del usuario final paso a paso, con marca, documento, NFC, prueba de vida, coincidencia facial y rechazo.","href":"/es/academy/kyc-user-experience"},{"title":"Flujo KYC sin código: cómo crearlo paso a paso","href":"/es/academy/build-kyc-workflow"},{"title":"Conectar Didit a Claude con MCP","description":"Transcripción del video: conecta el servidor MCP de Didit a Claude para ejecutar KYC, consultar sesiones y editar reglas antifraude desde el chat.","href":"/es/academy/mcp-claude"},{"title":"Resultado de verificación: cómo interpretarlo","href":"/es/academy/verification-results"},{"title":"KYB explicado: del registro al beneficiario final (UBO)","href":"/es/academy/kyb-explained"},{"title":"Reglas de monitorización de transacciones en tiempo real","href":"/es/academy/transaction-monitoring"},{"title":"Integrar Didit: API, SDK y webhooks","href":"/es/academy/integrate-api-sdk"},{"title":"Analíticas, equipos y roles en Didit","href":"/es/academy/analytics-teams-roles"},{"title":"Precios de Didit explicados (video)","href":"/es/academy/pricing"}]},{"group":"Recursos","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/book.svg","pages":[{"title":"Modelos de datos y esquemas JSON de la API","sidebarTitle":"Modelos de datos","href":"/es/reference/data-models"},{"title":"Demos en vivo: KYC, AML y prueba de vida en el navegador","sidebarTitle":"Demos en vivo","href":"/es/integration/demos"},{"title":"Didit vs Sumsub, Veriff, Onfido y Persona: comparativa","sidebarTitle":"Comparativa de plataformas","href":"/es/getting-started/competition-analysis"},{"title":"Skills para agentes de IA: KYC en Cursor y Claude Code","sidebarTitle":"Skills para agentes de IA","href":"/es/getting-started/agent-skills"}]}]},{"tab":"Integración / SDKs","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Integración / SDKs","href":"/es/integration/sdks"}]},{"tab":"Referencia de la API","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/code.svg","pages":[{"title":"Referencia de la API","href":"/es/api-reference/overview"}]},{"tab":"Verificación de usuarios","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/user-verifications.svg","pages":[{"title":"Verificación de usuarios","href":"/es/core-technology/liveness/overview"}]},{"tab":"Verificación de empresas","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/business-verifications.svg","pages":[{"title":"Verificación de empresas","href":"/es/business-verification/overview"}]},{"tab":"Monitorización de transacciones","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/transactions.svg","pages":[{"title":"Monitorización de transacciones","href":"/es/transaction-monitoring/overview"}]},{"tab":"Registro de cambios","icon":"https://mintlify.s3.us-west-1.amazonaws.com/didit-0f962782/icons/calendar.svg","pages":[{"title":"Registro de cambios","href":"/es/changelog"}]}],"global":{"anchors":[{"anchor":"Referencia de la API","icon":"code","href":"/es/api-reference/overview"},{"anchor":"Business Console","icon":"gauge","href":"https://business.didit.me"},{"anchor":"Especificación OpenAPI","icon":"file-code","href":"https://docs.didit.me/es/openapi-25.json"},{"anchor":"Prompt de integración","icon":"wand-magic-sparkles","href":"/es/integration/integration-prompt"},{"anchor":"Servidor MCP","icon":"plug","href":"/es/integration/mcp/overview"},{"anchor":"Agent Skills","icon":"robot","href":"https://github.com/didit-protocol/skills"}]}},{"language":"pt-BR","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"Suporte"},{"icon":"signal","href":"https://status.didit.me","label":"Status"}],"primary":{"type":"button","label":"Entrar","href":"https://business.didit.me"}},"pages":[{"title":"pt-BR","href":"/pt-br/academy/build-kyc-workflow"}]},{"language":"ja","navbar":{"links":[{"icon":"comment-dots","href":"https://help.didit.me","label":"サポート"},{"icon":"signal","href":"https://status.didit.me","label":"ステータス"}],"primary":{"type":"button","label":"サインイン","href":"https://business.didit.me"}},"pages":[{"title":"ja","href":"/ja/academy/build-kyc-workflow"}]}]},"basePath":"","title":"Flujo KYC sin código: cómo crearlo paso a paso - Didit Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}