Saltar al contenido principal
El informe de cuestionario contiene el formulario estructurado que se mostró al usuario, el recorrido que siguió por las ramas condicionales y la respuesta a cada elemento visible. Se devuelve por nodo, de modo que los workflows con varias instancias (por ejemplo, un cuestionario por UBO) incluyen una entrada por cada ocurrencia.
Informe de cuestionario KYC de Didit con respuestas estructuradas, secciones y tipos de elemento

Descripción general

Cada respuesta de cuestionario describe:
  • La versión del cuestionario que vio el usuario (título, descripción, idiomas, metadatos de versión, secciones).
  • Los elementos visibles del recorrido que el usuario siguió realmente por el grafo del formulario: los elementos ocultos por la lógica condicional se eliminan de la respuesta.
  • La respuesta a cada elemento interactivo visible, con la estructura que corresponde a su element_type.
  • Un único estado para la respuesta en su conjunto.
Los elementos de diseño se reorganizan en lugar de incluir respuestas: cada SECTION_HEADER se convierte en un límite de sección (su título y su descripción pasan a ser el title/description de la sección), mientras que HEADING, PARAGRAPH y SEPARATOR permanecen en items[] sin clave answer, para que el informe conserve la misma estructura visual que vio el usuario.

Dónde aparece

El informe de cuestionario aparece como el array en plural questionnaire_responses[] en GET /v3/session/{sessionId}/decision/, tanto en sesiones KYC como KYB, siempre que se haya ejecutado una función de cuestionario. El campo es null hasta que se haya iniciado al menos una instancia de cuestionario. Cada entrada incluye un node_id para que los flujos con varias instancias puedan distinguir qué paso del grafo la generó.

Estructura de los elementos

Consulta Respuesta de cuestionario en la referencia de modelos de datos para ver el esquema canónico.
Los elementos SECTION_HEADER nunca aparecen en items[]: abren una nueva sección y aportan su title y su description.

Tipos de elemento

Un elemento interactivo visible al que el usuario nunca respondió se devuelve con "answer": null.

Visibilidad condicional

Cuando un cuestionario define un grafo (lógica condicional), solo se incluyen los elementos del recorrido que el usuario siguió realmente. Un elemento oculto por una rama que el usuario no siguió no aparece en sections[].items, aunque exista en la plantilla. Las secciones que se quedan sin elementos visibles se eliminan por completo.

Valores de estado

El status a nivel de respuesta es uno de tres valores. Internamente, el estado base (Approved, o In Review cuando el flujo fuerza la revisión manual) se combina con las reglas de estado personalizadas que coincidan, según la precedencia de toda la plataforma: Declined > In Review > Approved; después, un resultado Declined a nivel de cuestionario se convierte en In Review para que los operadores decidan el resultado final durante la revisión.

Advertencias

Los cuestionarios emiten un único código de advertencia, que se genera cuando una regla de estado personalizada configurada en el nodo del cuestionario coincide con una respuesta: El additional_data de la advertencia incluye field, operator, rule_value, actual_value, target_status y score cuando la regla define una puntuación. Su log_type depende del estado objetivo de la regla: error para Declined, warning para In Review e information en los demás casos. A diferencia de otras funciones, la entrada del cuestionario no incluye un array warnings[]: los registros de reglas activadas se guardan en la sesión con feature: "QUESTIONNAIRE" y se muestran en la pantalla de revisión de la consola (consulta también el listado de advertencias de Verificación de empresas; el mismo código se aplica a las sesiones KYC).

Ejemplo — Cuestionario de origen de los fondos

Ejemplo — Sin finalizar

Cuando el usuario ha llegado al paso del cuestionario pero todavía no ha enviado sus respuestas, la respuesta se devuelve con status: "Not Finished" y "answer": null en cada elemento visible. Una sesión que nunca llegó a ese paso no genera ninguna entrada: questionnaire_responses sigue siendo null cuando no existe ninguna instancia.

Notas

  • Las URL de los archivos expiran. Las entradas de answer.files son URL prefirmadas (con una validez de 4 horas por defecto). Vuelve a consultar el endpoint de decisión cuando necesites URL nuevas.
  • Localización. Los campos title, description y placeholder de cada elemento, el label de cada opción y los campos title/description de cada sección se devuelven en inglés cuando el cuestionario lo admite y, en caso contrario, en el default_language del cuestionario. El value de una opción se mantiene igual en todos los idiomas, así que puedes basar tu lógica de negocio en él con seguridad.
  • El campo description de un elemento es su texto de ayuda. Cualquier elemento puede tenerlo, incluidas las preguntas, y es null cuando no se ha definido. Un SEPARATOR nunca lo tiene.

Relacionado

Visión general de los cuestionarios

Cómo crear cuestionarios, gestionar sus versiones y añadirlos a un flujo (workflow).

Modelos de datos: respuesta del cuestionario

Esquema canónico de este objeto, campo por campo.

Obtener sesión

Referencia del endpoint para el payload de decisión V3.
Última modificación el 1 de noviembre de 2026