Introducción
Maneja envíos de formularios y recupera datos de formularios.
🎯 ¿Qué hace este módulo?
El módulo FormData te permite enviar formularios llenos por los usuarios (formularios de contacto, encuestas, registros) a OneEntry y recuperar los datos enviados para análisis, informes y gestión.
Piénsalo como tu gestor de envíos de formularios: los usuarios envían formularios, tú los almacenas en OneEntry y los recuperas siempre que necesites ver respuestas, generar informes o analizar datos.
📖 Explicación Simple
Imagina que tienes un formulario de contacto en tu sitio web. Cuando los usuarios lo llenan:
- Enviar - El usuario hace clic en "Enviar" → Los datos del formulario van a OneEntry
- Almacenar - OneEntry guarda el envío (nombre, correo electrónico, mensaje)
- Recuperar - Tú obtienes los envíos para ver, exportar o analizar
- Gestionar - Filtrar, buscar y organizar las respuestas del formulario
Flujo de trabajo en el mundo real:
El usuario llena el formulario de contacto
↓
postFormsData() → Guardado en OneEntry
↓
getFormsDataByMarker() → OneEntry devuelve los datos
↓
El Admin ve los envíos
Lo que puedes hacer:
- 📤 Enviar formularios - Enviar datos llenos por el usuario a OneEntry
- 📥 Ver envíos - Obtener todas las respuestas del formulario con paginación
- 🔍 Buscar envíos - Encontrar envíos específicos por marcador o filtro
- 📊 Exportar datos - Recuperar envíos para informes y análisis
- 📧 Gestionar respuestas - Rastrear envíos de formularios en un solo lugar
Escenarios de ejemplo:
| Escenario | Qué Sucede |
|---|---|
| Formulario de Contacto | El usuario envía → Recibes notificación por correo → Ver en el panel de control |
| Encuesta | Recoger respuestas → Exportar a CSV → Analizar resultados |
| Registro | El usuario se registra → Datos almacenados → Enviar correo de confirmación |
| Comentarios | El cliente deja comentarios → El equipo revisa → Responder al cliente |
✨ Conceptos Clave
¿Qué es el Datos del Formulario?
Los datos del formulario son la información que los usuarios envían a través de formularios.
Estructura del Envío del Formulario
Cada envío en OneEntry tiene:
const body: IBodyPostFormData = {
formIdentifier: 'contact_form', // Marcador del formulario
formModuleConfigId: 9, // ID de configuración del módulo
moduleEntityIdentifier: 'blog', // Identificador de entidad del módulo
replayTo: null, // Dirección de correo electrónico para responder
status: 'sent', // Estado del envío
formData: [ // Campos del formulario
{
marker: 'string', // Marcador del campo
type: 'string', // Tipo de campo
value: 'Test', // Valor del campo
},
]
};
Ciclo de Vida de los Datos del Formulario
1. El usuario llena el formulario en el navegador
↓
2. El frontend valida la entrada
↓
3. postFormsData() envía a OneEntry
↓
4. OneEntry valida y almacena el envío de datos del formulario
↓
5. Se envían notificaciones (correo, webhook)
↓
6. El Admin recupera con getFormsDataByMarker()
↓
7. Revisar, exportar o responder
Casos de Uso Comunes
| Caso de Uso | Descripción | Ejemplo |
|---|---|---|
| Formularios de Contacto | Los clientes se comunican con preguntas | El equipo de soporte revisa y responde |
| Generación de Leads | Recoger información de clientes potenciales | El equipo de ventas hace seguimiento |
| Encuestas | Recoger comentarios y opiniones | Marketing analiza resultados |
| Registros | Registrarse para eventos, boletines | Rastrear asistentes/suscriptores |
| Solicitudes de Empleo | Recoger currículos y cartas de presentación | RRHH revisa candidatos |
| Formularios de Comentarios | Satisfacción del cliente y reseñas | Mejorar productos/servicios |
📋 Lo Que Necesitas Saber
Enviar Formularios Requiere Configuración
Antes de enviar, necesitas:
- Marcador del formulario - Identificador de texto único del formulario
- ID de configuración del módulo del formulario - De la configuración del formulario
- Identificador de entidad del módulo - De la configuración del formulario
Cómo obtener estos:
// Obtener formulario
const form = await Forms.getFormByMarker('contact_form');
// Extraer IDs requeridos
const formModuleConfigId = form.moduleFormConfigs[0].id;
const moduleEntityIdentifier = form.moduleFormConfigs[0].entityIdentifiers[0].id;
// Ahora puedes enviar
¿Por qué es necesario? OneEntry necesita saber:
- Qué plantilla de formulario usar
- Dónde almacenar los datos
- Qué reglas de validación aplicar