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
↓
El admin ve los envíos ← getFormsData() ← OneEntry devuelve los datos
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
Ejemplos de escenarios:
| Escenario | Lo que 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
},
{
marker: 'number',
type: 'integer',
value: 1,
},
]
};
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
↓
5. Se envían notificaciones (correo, webhook)
↓
6. El admin recupera con getFormsData()
↓
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 | El 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 ú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
Estructura de los Datos del Formulario
El array formData contiene objetos de campo:
formData: [
{
marker: "field_name", // Identificador del campo
type: "text" // Tipo de campo
value: "user_input", // Entrada del usuario
}
]
Importante:
markerdebe coincidir con los marcadores de campo de la definición del formulariotypees útil para la validaciónvaluecontiene la entrada del usuario
Estado del Envío
Usa status para rastrear el estado del envío:
| Estado | Significado | Cuándo Usar |
|---|---|---|
"sent" | Enviado con éxito | Predeterminado para nuevos envíos |
"pending" | Esperando revisión | Moderación requerida |
"processed" | Manejado por el admin | Marcado como revisado |
"archived" | Envío antiguo/cerrado | Mantener para registros |
Paginación
Recupera envíos en lotes.
Marcador del Formulario
Una forma de identificar envíos:
| Identificador | Qué Es | Cuándo Usar |
|---|---|---|
| Marcador del Formulario | Identificador de plantilla del formulario | Obtener todos los envíos para un formulario específico |
📊 Tabla de Referencia Rápida
| Método | Descripción | Caso de Uso |
|---|---|---|
| postFormsData() | Enviar nuevos datos de formulario | El usuario envía el formulario de contacto |
| getFormsData() | Obtener todos los envíos (paginados) | Panel de control del admin mostrando todos los formularios |
| getFormsDataByMarker() | Obtener envíos para un formulario específico | Ver todos los envíos del formulario de contacto |