Legal / Términos
Una pregunta de aceptación de términos y condiciones que presenta una declaración y requiere que el encuestado acepte o rechace.

Type identifier: legal
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
buttonText | string | El texto legal o los términos a mostrar. Este es el texto del acuerdo legal que el encuestado está aceptando. | Ninguno |
Comportamiento
- Muestra el texto legal de
buttonText. - El encuestado hace clic en "Acepto" o "No acepto".
- Típicamente se usa para políticas de privacidad, términos de servicio, formularios de consentimiento y acuerdos de procesamiento de datos.
Validación
Si required es true, el encuestado debe aceptar los términos para continuar. Rechazar (seleccionar "No acepto") cuando la pregunta es requerida mostrará un error de validación.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Cuando se usa equals, compara contra true (aceptado) o false (rechazado).
Formato de Respuesta
La respuesta se almacena como un boolean (true para aceptar, false para rechazar, o null si no se responde).
Puntuación en Modo Cuestionario
Legal es un tipo de pregunta puntuable:
- Knowledge Quiz: Establece
correctAnswerscon"true"o"false". - Lead Qualification: Establece
choiceScorescon claves"true"y"false". - Match Quiz: Establece
choiceOutcomesmapeando aceptación/rechazo a pantallas finales.
El tipo de pregunta Legal es funcionalmente similar a Sí/No pero está específicamente diseñado para escenarios de términos y condiciones. La interfaz presenta botones "Acepto" / "No acepto" en lugar de "Sí" / "No".
Pago
Recopila pagos de los encuestados como parte del flujo del formulario usando la integración con Stripe. Soporta dos modos de pago, monedas configurables y montos fijos o variables.
Type identifier: payment
Modos de Pago
| Modo | Planes | Descripción |
|---|---|---|
platform | Todos los planes | NueForm procesa los pagos y transfiere los fondos a ti. Comisión del 2.9% + $0.30 por transacción. |
connect | Pro, Enterprise | Los pagos van directamente a tu cuenta de Stripe conectada. Sin comisiones de NueForm. |
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
price | number | Monto de pago fijo en unidades mayores (por ejemplo, 29.99). Dejar vacío para montos variables. | Ninguno |
currency | string | Código de moneda (por ejemplo, "USD", "EUR", "GBP"). | "usd" |
paymentMode | string | Modo de pago: "platform" o "connect". | "platform" |
paymentDescription | string | Descripción que aparece en el cargo de Stripe. | Ninguno |
paymentButtonText | string | Texto personalizado para el botón de pago. | "Pay $X.XX" |
minAmount | number | Monto mínimo permitido para pagos variables (unidades mayores). | Ninguno |
maxAmount | number | Monto máximo permitido para pagos variables (unidades mayores). | Ninguno |
stripeConnectionId | string | ID de la cuenta de Stripe conectada a usar. | Ninguno |
enableTracking | boolean | Rastrear totales de pagos acumulados. | false |
paymentAccountId | string | ID de cuenta de seguimiento de pagos. | Ninguno |
accountTotalVariable | string | Nombre de variable para almacenar el total acumulado de la cuenta. | Ninguno |
Comportamiento
- Si
priceestá establecido, el encuestado ve el monto fijo y proporciona los detalles de la tarjeta. - Si
priceno está establecido, el encuestado ingresa su propio monto (modo variable/donación). - Se renderiza el Stripe Payment Element para la recopilación segura de tarjetas.
- Tras un pago exitoso, el formulario avanza automáticamente a la siguiente pregunta.
Validación
Si required es true, el encuestado debe completar el pago para continuar.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un objeto PaymentResult:
{
"paymentIntentId": "pi_abc123",
"amount": 2999,
"currency": "usd",
"status": "succeeded"
}
Para instrucciones de configuración, consulta la guía práctica de Recopilar Pagos.
Fecha
Un selector de fecha que permite a los encuestados seleccionar una fecha. Soporta formatos de fecha configurables.

Type identifier: date
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
dateFormat | string | El formato en que se muestra y analiza la fecha (por ejemplo, "MM/DD/YYYY", "DD/MM/YYYY", "YYYY-MM-DD"). | Predeterminado del sistema |
Comportamiento
- Muestra una interfaz de selector de fecha.
- El encuestado puede escribir una fecha manualmente o seleccionar de un widget de calendario.
- La fecha se almacena en formato ISO independientemente del formato de visualización.
Validación
Si required es true, el encuestado debe seleccionar una fecha.
| Regla | Descripción |
|---|---|
min | Fecha mínima permitida. |
max | Fecha máxima permitida. |
customMessage | Mensaje de error personalizado para la validación de fecha. |
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un string (el valor de la fecha, típicamente en formato ISO o el dateFormat configurado).
Clasificación
Presenta una lista de elementos para que el encuestado los ordene en su orden preferido arrastrando y soltando.

Type identifier: ranking
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
choices | Choice[] | Array de elementos a clasificar. Cada uno tiene un id y label. | [] |
Comportamiento
- Los elementos se muestran en una lista.
- El encuestado arrastra elementos para reordenarlos.
- Los controles de arrastre indican los elementos arrastrables.
- Se soportan tanto interacción táctil como con ratón.
Validación
Si required es true, el encuestado debe enviar una clasificación.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un array de strings (IDs de elecciones en el orden clasificado por el encuestado).
Matriz
Un tipo de pregunta basado en cuadrícula donde los encuestados califican múltiples elementos a través de múltiples categorías.

Type identifier: matrix
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
rows | string[] | Array de etiquetas de fila (elementos que se están calificando). | [] |
columns | string[] | Array de etiquetas de columna (categorías de calificación). | [] |
randomizeRows | boolean | Aleatorizar el orden de las filas. | false |
randomizeColumns | boolean | Aleatorizar el orden de las columnas. | false |
Comportamiento
- Se muestra como una cuadrícula con filas a la izquierda y columnas en la parte superior.
- El encuestado selecciona una opción por fila.
- En móvil, la cuadrícula se adapta a un formato apilado para mejor usabilidad.
Validación
Si required es true, el encuestado debe seleccionar una opción para cada fila.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un object mapeando etiquetas de fila a etiquetas de columna seleccionadas:
{
"Quality": "Excellent",
"Speed": "Good",
"Support": "Average"
}
Información de Contacto
Recopila información de contacto estructurada incluyendo nombre, dirección de email y número de teléfono en una sola pregunta.
Type identifier: contact_info
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
defaultCountryCode | string | Código de país predeterminado para el campo de teléfono (por ejemplo, "US", "GB"). | Ninguno |
Comportamiento
- Muestra campos para Nombre, Apellido, Email y Número de Teléfono.
- El campo de teléfono incluye un selector de código de país.
- Cada subcampo puede ser individualmente requerido u opcional.
Validación
Si required es true, todos los subcampos visibles deben ser completados.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un object:
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane@example.com",
"phone": "+14155551234"
}
Dirección
Recopila una dirección postal completa con autocompletado opcional impulsado por Google Places.
Type identifier: address
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
enableAddressAutocomplete | boolean | Habilitar autocompletado de Google Places para búsqueda de direcciones. | false |
Comportamiento
- Muestra campos para dirección, ciudad, estado/provincia, código postal y país.
- Cuando el autocompletado está habilitado, escribir en el campo de dirección muestra sugerencias.
- Seleccionar una sugerencia rellena automáticamente todos los campos de dirección.
Validación
Si required es true, todos los campos de dirección deben ser completados.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un object:
{
"street": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105",
"country": "US"
}
Data Node
Un tipo de pregunta invisible que realiza llamadas HTTP API durante el flujo del formulario. Los Data Nodes no se renderizan a los encuestados -- se ejecutan automáticamente y pueden obtener datos, validar respuestas o activar acciones externas.
Type identifier: data_node
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
dataNodeUrl | string | La URL a llamar. Soporta interpolación {variable}. | Ninguno |
dataNodeMethod | string | Método HTTP: "GET", "POST", "PUT", "DELETE". | "GET" |
dataNodeHeaders | string | String JSON de encabezados de solicitud. Soporta interpolación {variable}. | "{}" |
dataNodeBody | string | String JSON del cuerpo de solicitud. Soporta interpolación {variable}. | "" |
dataNodeResponseVariable | string | Nombre de variable para almacenar la respuesta JSON completa. | Ninguno |
dataNodeTimeout | number | Tiempo de espera de solicitud en segundos. | 10 |
dataNodeSilent | boolean | Modo disparar y olvidar -- no se muestra pantalla de carga. | false |
dataNodeDebug | boolean | Mostrar un panel de depuración con detalles de solicitud/respuesta. | false |
dataNodeLoadingText | string | Texto de carga personalizado mostrado durante la solicitud. | "Loading..." |
dataNodeValidation | boolean | Usar como puerta de validación para la pregunta anterior. | false |
Comportamiento
- Se ejecuta automáticamente cuando se alcanza en el flujo del formulario.
- Todos los tokens
{variableName}en URL, encabezados y cuerpo se reemplazan con los valores actuales de las variables. - Si
dataNodeResponseVariableestá establecido, la respuesta JSON completa se almacena como una variable de formulario. - En modo silencioso, la solicitud se dispara en segundo plano sin indicador de carga.
- En modo puerta de validación, una solicitud fallida bloquea la progresión desde la pregunta anterior.
Casos de Uso
- Obtener datos externos: Buscar detalles de productos, precios o perfiles de usuario durante el flujo del formulario.
- Validar respuestas: Verificar un email contra tu base de datos, validar un código de cupón o verificar una dirección.
- Activar acciones: Enviar datos a un webhook, crear un registro en tu CRM o iniciar un flujo de trabajo.
Los Data Nodes son invisibles para los encuestados. Aparecen en el constructor y editor de flujo de trabajo pero se omiten en el formulario en vivo -- solo se ejecuta la llamada API. Consulta la guía práctica de Data Nodes para ejemplos.
Características Avanzadas Comunes
Texto Enriquecido en Títulos y Descripciones
Todos los tipos de preguntas avanzados soportan texto enriquecido en sus campos de título y descripción. El texto enriquecido se ingresa a través de un editor basado en Tiptap en el constructor de formularios y soporta:
- Negrita, cursiva, subrayado y
tachado - Enlaces (con atributos
href,target,rel) - Listas ordenadas y no ordenadas
- Código en línea
- Subíndice y superíndice
- Familias de fuente y colores personalizados vía estilos en línea
El texto enriquecido se almacena como HTML y se sanitiza antes de renderizar usando DOMPurify con una lista de permitidos estricta de etiquetas y atributos.
Sustitución de Variables
Todos los tipos de preguntas avanzados soportan sustitución {variableName} en sus campos de título y descripción. Consulta la guía de Variables.
Archivos Multimedia Adjuntos
Todos los tipos de preguntas avanzados soportan archivos multimedia adjuntos (imagen, video, ícono, código QR) con la gama completa de opciones de diseño. Consulta la guía de Crear Formularios.