Documentación de MevvForms

Formularios accesibles, entradas locales y una migración reversible.

MevvForms es dueño del esquema del formulario, la validación en el servidor, el renderizado accesible, los envíos locales y una cola de notificaciones duradera — y además de eso un motor de lógica condicional que se vuelve a ejecutar en el servidor, vistas de front-end, herramientas de retención y privacidad, generación de formularios con IA local e importadores para otros siete plugins de formularios. Esta guía documenta lo que el plugin realmente hace hoy y dice con claridad dónde no se ha demostrado.

Visión general y requisitos

MevvForms Free es el runtime local. Un formulario publicado se lee de un registro de formulario de WordPress con versiones, se renderiza con etiquetas reales y relaciones de error, se valida de nuevo en el servidor, se almacena localmente y se entrega a una cola de notificaciones duradera.

WordPress
6.6 o posterior; probado hasta WordPress 7.1.
PHP
8.1 o posterior; la matriz de versiones cubre PHP 8.1–8.5.
Frontera de los datos
Las definiciones de formulario, las entradas y los trabajos en cola permanecen en el sitio WordPress de forma predeterminada.
Tablas
Trece tablas propias: los envíos y sus valores tipados, la cola de trabajos, los archivos, los envíos a medio terminar, el registro de notificaciones, dos contadores de analítica, los enlaces de contenido, el inventario, los cupones, los pagos y los eventos de pago.
Trabajos programados
Dos trabajos por hora. Uno aplica la retención, el otro vacía la única cola de trabajos que lleva las notificaciones, los feeds diferidos y las exportaciones — una sola cola en lugar de un cron por función.
Archivos de traducción
Diecinueve configuraciones regionales de WordPress vienen con el plugin, catálogos fuente incluidos.

Free no realiza ninguna petición de licencia, telemetría, IA ni actualización a un servicio externo mientras un visitante renderiza o envía un formulario.

Instalación

  1. Haga una copia de seguridad restaurable de la base de datos y de wp-content.
  2. Suba y active el ZIP de MevvForms Free.
  3. Confirme que se han creado las tablas de base de datos de MevvForms y que un administrador puede abrir el panel.
  4. Mantenga activo el plugin de formularios de origen hasta que la vista previa de la migración, la importación y las comprobaciones de salud estén completas.
  5. Instale el complemento Pro correspondiente solo cuando el formulario guardado use un módulo Pro ya publicado.

No elimine el paquete Free mientras Pro esté instalado. El runtime del formulario guardado pertenece a Free; Pro lo amplía.

El constructor

Los campos se arrastran hasta su lugar, y todo lo que puede hacer el ratón el teclado también puede hacerlo. Añadir, seleccionar y quitar un campo son botones ordinarios, así que Enter y Espacio ya funcionan; mover un campo tiene su propio atajo, Ctrl con la flecha arriba o abajo, que invoca exactamente el mismo movimiento que un arrastre. Después de cada cambio el foco se devuelve a la tarjeta con la que estaba trabajando, y una región activa anuncia lo ocurrido — “Movido Email de la posición 2 a la posición 5 de 9” — de modo que la reordenación se puede seguir sin ver.

Las columnas son una herramienta de diseño con una regla adjunta: el orden de lectura debe permanecer idéntico al orden de los campos. Esto se comprueba en el servidor, no se deja al CSS. Un diseño que colocara los campos en la página en un orden distinto al del esquema se rechaza con un error en lugar de renderizarse, porque un lector de pantalla y un visitante vidente tienen que recibir el mismo formulario.

Guardado automático
El borrador se escribe en el registro de borrador propio del formulario unos dos segundos y medio después de dejar de escribir. Nunca toca el formulario publicado ni crea una revisión de WordPress, así que el guardado automático no puede publicar nada por accidente.
Revisiones
Guardar usa el sistema de revisiones propio de WordPress en lugar de uno privado, lo que significa que las revisiones son visibles para cualquier otra cosa que entienda WordPress. El constructor lista las cincuenta más recientes y restaura cualquiera de ellas.

No hay deshacer ni rehacer en el constructor. Restaurar una revisión anterior es el camino de vuelta, y restaura el formulario entero en lugar de la última acción. Si va a hacer un cambio grande, guarde primero para que haya una revisión a la que volver.

Tipos de campo

Treinta y ocho tipos de campo, en cinco grupos. Todos están en el paquete gratuito, incluidos firma, repetidor, matriz y cuestionario.

Básico
Texto de una línea, texto de párrafo, correo electrónico, correo electrónico con confirmación, teléfono, URL del sitio web, número, contraseña, valor oculto.
Selección
Lista desplegable, lista desplegable con selección múltiple, grupo de opciones, grupo de casillas de verificación, casilla de verificación individual, consentimiento, valoración, clasificación, control deslizante.
Avanzado
Nombre, dirección, fecha, hora, fecha y hora, color, subida de archivo.
Pago
Cálculo, total del pedido, producto, código de descuento.
Diseño
Encabezado, salto de sección, separador, bloque de contenido, salto de página. Estos no llevan entrada y no producen ningún valor almacenado.

Un campo de contraseña se renderiza y se valida pero su valor nunca se escribe en un envío. Tampoco se escribe ningún campo marcado como no almacenado. Los campos de cálculo y de total sí muestran una casilla en pantalla, pero su valor no viene del navegador: el servidor vuelve a ejecutar la fórmula y sobrescribe lo que haya llegado.

Plantillas

Veintiocho formularios listos, pensados como punto de partida y no como producto terminado: contacto, solicitud de presupuesto, candidatura de empleo, inscripción a un evento, encuesta de satisfacción, solicitud de soporte, solicitud de cita, alta en el boletín, pedido de producto, reclamación, donación, reserva de mesa, registro de usuario, cuestionario, encuesta, envío de archivos, testimonio, encuesta de baja, solicitud de mantenimiento, planificador de reuniones, matrícula en un curso, consentimiento parental, encuesta de recomendación, reserva de alojamiento, alta de voluntariado, informe de error, alta de proveedor y solicitud de devolución de llamada.

Una plantilla se copia en un nuevo formulario y luego se edita; no es un enlace en vivo, así que cambiar una plantilla más tarde no cambia los formularios ya construidos a partir de ella.

Renderizar y enviar un formulario

Inserte un formulario publicado con [mevvforms id="123"]. El renderizador imprime identificadores de campo estables, etiquetas reales, descripciones, un destino de resumen de errores y una sesión firmada ligada a la revisión actual del formulario.

En el editor de bloques lo mismo es un bloque — MevvForms Form — y su vista previa no es una aproximación: el editor le pide al servidor que renderice el bloque, y el servidor lo renderiza exactamente con el mismo código que usa el front end. Lo que ve en el editor es la página.

  • El estado de obligatoriedad y las reglas de validación se toman del esquema que posee el servidor.
  • Los valores ocultos o desconocidos del cliente no pueden relajar las reglas del servidor.
  • Un envío válido crea la entrada antes de que se ejecute cualquier efecto secundario de notificación.
  • La respuesta contiene el mensaje configurado o la redirección segura, nunca los valores de campo almacenados.

Si un formulario cambió después de abrirse la página, actualice la página antes de enviarlo para que la sesión firmada coincida con la revisión actual.

Lógica condicional

Un campo se puede mostrar u ocultar según el valor de otros campos, con grupos Y y O anidados unos dentro de otros hasta diez niveles de profundidad. Hay catorce operadores disponibles: es igual a, no es igual a, contiene, no contiene, empieza por, termina por, está vacío, no está vacío, mayor que, menor que, mayor o igual que, menor o igual que, es uno de, y no es uno de.

Las condiciones se vuelven a evaluar en el servidor en cada envío. Un campo que el navegador ocultó se puede seguir enviando a mano por POST, así que ocultarlo en el navegador es una comodidad y nunca una regla. La misma evaluación decide qué campos existen para la validación, para el almacenamiento y para el cuerpo de la notificación — lo que también significa que el formulario se comporta correctamente con JavaScript desactivado, solo que sin el mostrar y ocultar en vivo.

Formularios de varios pasos y guardar y continuar

Un salto de página convierte un formulario en varios pasos. Es un campo de diseño ordinario, así que un formulario largo se convierte en un formulario de varios pasos añadiendo un campo en lugar de transformándolo en otra cosa.

Guardar y continuar conserva un envío a medio terminar y le entrega al visitante un enlace de vuelta a él. El enlace lleva un token firmado — el identificador de la fila y un HMAC sobre él — y la firma se deriva del secreto propio del sitio. Nada en la base de datos basta por sí solo para falsificar uno, la comparación se hace en tiempo constante, y el enlace caduca a los treinta días.

El token es la credencial: no se requiere inicio de sesión y no se establece ninguna cookie, así que cualquiera que tenga el enlace puede continuar ese envío. Trate un enlace de reanudación como trataría un enlace de restablecimiento de contraseña — envíelo a la persona, no a una bandeja de entrada compartida.

Entradas y frontera de privacidad

Las entradas y las proyecciones tipadas de los campos se guardan en tablas locales dedicadas. Las contraseñas, los datos de tarjeta, el CVV, los nonces de WordPress, los tokens de sesión y los campos marcados con store=false nunca se escriben en los valores de la entrada.

  • Las direcciones IP se representan solo mediante un HMAC específico del sitio allí donde lo necesita la limitación de frecuencia.
  • Las proyecciones de texto, numéricas y de fecha permiten buscar después sin cambiar la identidad original del campo.
  • Una escritura fallida de la entrada o de la bandeja de salida revierte por completo la transacción del envío.
  • La evidencia de producción registra solo los identificadores de formulario, entrada y trabajo; nunca registra los valores enviados.

La lista de envíos busca en los valores almacenados, filtra por estado, por el estado de leído y destacado y por rango de fechas, y aplica leído, no leído, destacar, quitar destacado, spam, papelera, restaurar y eliminar a una selección de una vez. Cada una de estas acciones se comprueba por separado contra sus capacidades, así que un rol que puede leer envíos pero no eliminarlos no puede eliminarlos mediante una acción masiva.

CSV que se abre correctamente
El archivo empieza con una marca de orden de bytes, que es lo que hace que Excel lo lea como UTF-8 — sin ella los caracteres turcos llegan rotos y la reacción habitual es culpar a la exportación en lugar de a la codificación.
CSV que no puede ejecutarse
Un valor que empieza con =, +, -, @, un tabulador o un retorno de carro se antepone con un apóstrofo. Esos caracteres hacen que una hoja de cálculo trate un valor enviado como una fórmula, y un formulario es exactamente el lugar donde un desconocido elige ese valor.

Notificaciones y confirmaciones

Las notificaciones son trabajos duraderos. Una caída del correo no puede borrar una entrada aceptada: los fallos transitorios se reintentan con esperas acotadas, mientras que los errores permanentes de configuración se detienen a la espera de que actúe un administrador.

Un formulario puede llevar varias notificaciones, cada una con sus propios destinatarios, asunto, cuerpo y condición. Los destinatarios pueden ser direcciones fijas, direcciones tomadas de un campo que el visitante rellenó, o rutas elegidas según el valor de un campo — y se usa cada ruta que coincide, no solo la primera, porque un formulario que llega a ventas y a soporte a la vez es el caso normal y no un error. Una respuesta automática es la misma maquinaria dirigida de vuelta a la persona que rellenó el formulario.

Cabeceras
Los destinatarios y las etiquetas de combinación de las cabeceras se validan; la inyección de CR/LF se elimina.
Cuerpo
El HTML se escapa o se filtra según su contexto de salida.
Confirmación
Las decisiones de mensaje, página del mismo sitio y redirección permitida se eligen del esquema guardado.
Idempotencia
La misma clave de trabajo de notificación no puede crear el mismo efecto secundario dos veces.
Registro de entrega
Una fila por intento: qué formulario, envío, notificación y trabajo, si se envió o falló, qué número de intento fue, los destinatarios, el asunto y el código y mensaje de error. Una fila fallida se puede reenviar desde la pantalla.

El registro anota lo que se intentó, no lo que se entregó. El correo se entrega a WordPress y de ahí a su alojamiento; una fila marcada como enviada significa que salió del sitio, y solo un rebote en el otro extremo puede contarle el resto.

Protección antispam

Dos defensas están activas desde el momento en que instala: un campo trampa que una persona nunca ve y una comprobación de tiempo que rechaza un formulario enviado en menos de tres segundos. Ninguna de las dos le cuesta nada al visitante ni rompe la tecnología de asistencia, y esa es la razón por la que son la opción por defecto en lugar de un desafío.

Más allá de eso, todo es opcional y está desactivado hasta que usted lo activa: reCAPTCHA v2 y v3, hCaptcha, Cloudflare Turnstile y Akismet, además de reglas de palabras clave, direcciones y países que se ejecutan enteramente en su propio servidor.

Un envío considerado spam se marca, no se elimina. Un impacto en el campo trampa, un CAPTCHA fallido o con puntuación baja y un veredicto de Akismet almacenan todos el envío con estado de spam, donde usted puede leerlo y cambiar de opinión — porque el coste de una consulta descartada por error es mucho más alto que el coste de una fila que tiene que mirar. Las dos excepciones son la comprobación de tiempo y la limitación de tasa, que rechazan la solicitud antes de que exista siquiera un envío; no hay nada que marcar, y nunca se aceptó nada para luego desecharlo.

Akismet es la única opción que envía los valores enviados, la dirección IP del visitante, el user agent del navegador y la URL de referencia a un tercero. Eso es una transferencia de datos personales: avise a sus visitantes antes de activarlo. Los demás proveedores solo reciben lo que su propio script recopila más el token del desafío, y la dirección IP del visitante no se les pasa a menos que un filtro en su sitio la solicite.

Control de acceso

Un formulario puede abrirse y cerrarse según un horario, detenerse después de un número de envíos, requerir un usuario con sesión iniciada o un rol determinado, o estar detrás de una contraseña. Las cuatro cosas las decide una sola función, y esa función se llama desde dos lugares: una vez cuando el formulario está a punto de renderizarse y otra cuando llega un envío.

Dos puntos de llamada, una decisión. Si ocultar el formulario y rechazar un envío directo se escribieran por separado, con el tiempo divergirían, y el formulario cerrado seguiría aceptando un POST de alguien que tuviera la dirección. Nada de esto se aplica en el navegador.

El límite de envíos se comprueba una vez más inmediatamente después de escribir la fila, con el contador bloqueado mientras se lee. De lo contrario, dos visitantes que pulsen enviar en el mismo segundo pasarían ambos una comprobación hecha antes de que ninguno de los dos hubiera sido contado.

Subidas de archivos

Los archivos subidos se mantienen fuera del alcance de la barra de direcciones. El nombre del directorio es imposible de adivinar y lleva reglas de denegación para Apache, IIS y un índice de directorio, así que un archivo no se sirve aunque alguien averigüe su ruta.

La bóveda se aloja dentro de su directorio de subidas a menos que defina MEVVFORMS_FILE_VAULT_DIR y la apunte a algún lugar fuera de la raíz web. Estar por debajo de la raíz web es más fuerte que las reglas de denegación, porque sobrevive a una configuración del servidor web que se ha reiniciado o que no se lee en absoluto. Si su alojamiento se lo permite, configúrela.

Un archivo se juzga por lo que contiene, no por el nombre con el que llegó. Los primeros bytes se comparan contra una tabla de firmas conocidas, los ejecutables se rechazan de plano, y un archivo se escanea en busca de un script incrustado incluso cuando su firma parecía inocente. Una extensión es una afirmación hecha por quien subió el archivo.

Las descargas pasan por un enlace firmado en lugar de una ruta. La firma cubre el archivo, la persona y una caducidad — quince minutos por defecto y nunca más de un día — y la descarga vuelve a comprobar que la persona tiene permiso para tenerlo, incluso mientras el enlace está dentro de su ventana. Un enlace reenviado a otra persona no le funciona.

Vistas de front-end

Los envíos se pueden volver a publicar en el sitio como una vista: una cuadrícula, una tabla, un calendario, una línea de tiempo o un mapa. Las vistas se colocan con [mevvforms_view id="12"], o con el bloque MevvForms View, y fijar un solo registro a una página es cuestión de nombrar el envío.

El mapa no contacta con ningún servicio externo. No hay teselas que obtener, ni clave que conseguir, ni solicitud de geocodificación: los puntos se dibujan como una imagen vectorial en línea en su propia página, con las coordenadas también escritas como texto debajo para quien no pueda ver el dibujo. Se ve más sencillo que un mapa de teselas, y a cambio ninguna dirección de un visitante se envía a una empresa de mapas por una página de la que no sabía que tenía un mapa.

Privacidad y retención

MevvForms está registrado en las herramientas propias de WordPress de exportación y borrado de datos personales, así que una solicitud de datos gestionada a través de WordPress encuentra los envíos, los envíos a medio terminar y los archivos sin que nadie tenga que acordarse de revisar una segunda pantalla.

La retención se establece por formulario como un número de días — cero significa conservar para siempre, y el tope es diez años. Un trabajo por hora la aplica.

Antes de guardar un cambio de retención, la pantalla le dice cuántos envíos quedarían aptos para eliminación permanente. El recuento se calcula primero y la eliminación es un paso aparte, confirmado por separado. Escribir 30 en una casilla nunca debería ser el mismo gesto que destruir cuatro mil registros.

Analítica de formularios

La analítica responde a una pregunta — dónde abandona la gente este formulario — y está desactivada hasta que usted la activa y nombra los formularios que puede medir. Mientras está desactivada no se escribe nada, no se añade ningún script a sus páginas y no existe ningún endpoint público en absoluto.

Activada, mantiene dos tablas de contadores diarios: por formulario, las visualizaciones, los inicios, los envíos y los abandonos; por campo, los abandonos en ese campo, las veces que se dejó vacío, los errores de validación, el tiempo total de foco y cuántos visitantes lo enfocaron.

No se crea ningún identificador de visitante y no se establece ninguna cookie. Las tablas no tienen columna para una dirección IP, un usuario, un correo electrónico, una sesión, una huella digital, un referrer o un valor enviado — lo que hace que una fila sea imposible de rastrear es la forma del esquema, no una promesa de no mirar. La señal del navegador va a su propio sitio y se autentica con el ticket de corta duración propio del formulario, que es idéntico para cada visitante de ese formulario. Como las filas son agregados, una exportación de datos personales no encuentra nada que exportar, y una solicitud de borrado se responde con una línea que lo dice.

Generar un formulario con IA

Puede describir un formulario en una frase y hacer que le organicen los campos. Se admiten tres conexiones: Ollama y LM Studio, que se ejecutan en su propia máquina o su propio servidor, y un endpoint compatible con OpenAI para quien prefiera usar un modelo alojado con su propia clave.

  • No hay cuota, ni crédito, ni contador de uso en ninguna parte del plugin — nada que se pueda agotar, porque el modelo no es nuestro.
  • Con Ollama o LM Studio, la descripción de su formulario nunca sale de la máquina en la que se ejecuta el modelo.
  • Sin ninguna conexión configurada, la función no se muestra en absoluto y no se hace ninguna solicitud. No hay un respaldo alojado esperando a usarse por accidente.

Una clave que pega se guarda en una única opción de WordPress que no se carga en cada página, y la pantalla la muestra enmascarada después — pero se almacena tal como la escribió, sin cifrar. Cualquier cosa con acceso a la base de datos puede leerla. Use una clave limitada a lo que necesita, y renuévela si el sitio cambia de manos.

Lo que vuelve es un borrador. Es un diseño de partida para corregir, no un formulario para publicar sin leer — y un campo generado no tiene ni idea de lo que su legislación le exige preguntar o dejar fuera.

Importar desde otro plugin de formularios

Los formularios se pueden importar desde otros siete plugins: Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms y SureForms.

  • La fuente solo se lee, nunca se modifica. La importación no cambia, desactiva ni elimina nada en el otro plugin, y sus propios datos permanecen exactamente donde estaban.
  • Todo lo que no se pueda trasladar se lista, con el motivo. La importación se niega a escribir hasta que haya visto esa lista y la haya aceptado — una importación parcial silenciosa es la forma en que una notificación perdida se descubre tres semanas después gracias a un cliente que nunca obtuvo respuesta.
  • Los shortcodes antiguos siguen funcionando. El shortcode del plugin de origen es atendido por MevvForms una vez que la migración está activa, así que las páginas que nunca se editaron siguen mostrando un formulario funcional. Si otra cosa ya se ha apropiado de ese shortcode, MevvForms lo deja en paz.

Mantenga instalado el plugin de origen hasta que usted mismo haya enviado el nuevo formulario y haya visto el envío y la notificación. Volver atrás es fácil mientras el original sigue ahí e incómodo una vez que ha desaparecido.

Migración reversible desde WPForms

La migración empieza en modo de solo lectura. La vista previa enumera los campos mapeados, las notificaciones, las confirmaciones, las inserciones y los ajustes no soportados. Al aplicar se crea o actualiza un formulario de MevvForms preparado y se registra el hash de origen. No borra datos, revisiones, tablas ni contenido de páginas de WPForms.

  1. Exija una vista previa exacta antes de aplicar.
  2. Importe el formulario como preparado y compare de nuevo los hashes de origen.
  3. Ejecute la puerta de salud de la conmutación: publicar, renderizar, envío de prueba firmado, entrada local y notificación en cola.
  4. Solo después de que esas comprobaciones pasen se puede apagar el plugin de origen.
  5. Si alguna comprobación falla, la reversión restaura la lista anterior de plugins activos y devuelve el formulario importado a borrador.

El inventario medido de mevvshop.com es un formulario de origen con 4 campos, 1 notificación, 1 confirmación y una inserción en vivo. Esas cifras son una puerta de publicación para ese sitio, no una promesa sobre cualquier formulario de WPForms.

Cobrar un pago

Un formulario puede llevar un precio. Los campos de producto contienen los artículos, los campos de cálculo y de total determinan lo que se debe, y el pedido se construye en el servidor a partir del esquema en cada envío.

  • El importe nunca viene del navegador. Un total que llega con el envío se usa solo para comparar, y una discrepancia rechaza el envío en lugar de corregirlo silenciosamente — a un visitante nunca se le debe cobrar un importe distinto del que se le mostró.
  • El dinero se transporta de extremo a extremo como números enteros de la unidad más pequeña de la moneda. Ningún valor monetario pasa en ningún momento por un número de coma flotante.
  • Nada pasa a estar pagado sin una respuesta del proveedor. Un navegador que vuelve de la página de pago traslada el pedido, como mucho, a “necesita conciliación”; pagado requiere una notificación con firma verificada o una pregunta directa hecha al proveedor.
  • Los datos de la tarjeta nunca llegan al sitio. No hay campo para un número de tarjeta, una caducidad o un código de seguridad en el contrato de pago, ni columna para ninguno de ellos en la base de datos.
PayPal, una pasarela de Pro
Pro añade una pasarela PayPal construida sobre Orders v2. El pedido se abre en su servidor, el visitante lo aprueba en la propia página de PayPal y el dinero se captura en el camino de vuelta o, si cierra antes la pestaña, cuando llega la notificación firmada. Ambas rutas terminan en el mismo sitio, así que un pedido aprobado no se queda sin capturar con el dinero sin cobrar. La doble captura está protegida por partida doble: la llamada de captura lleva un id de petición fijo que PayPal no repite, y una respuesta de «ya capturado» se lee como trabajo ya hecho, no como un fallo. Los reembolsos, totales o parciales, se emiten desde la entrada.
PayPal no está disponible en Türkiye
PayPal no opera en Türkiye ni liquida en liras turcas, de modo que esta pasarela es para vender al extranjero. Los proveedores de pago turcos siguen donde estaban, en el puente de MevvPos, y en eso no cambia nada.

Sin comisión por transacción, en ningún nivel. Varios plugins de formularios cobran un porcentaje de lo que usted recauda en su capa de pago gratuita; una prueba comprueba que el importe enviado al proveedor sea exactamente igual al total del pedido.

Ningún pago se ha ejecutado de principio a fin, PayPal incluido. Todavía no hay detrás ninguna cuenta de comercio real ni de sandbox: cada ruta de proveedor se ejercita contra un sustituto, y las formas de la petición y de la notificación se comprobaron línea por línea contra las referencias publicadas de los proveedores, no contra una llamada completada. Considere las funciones de pago no probadas hasta que eso cambie, y no las ponga delante de clientes reales solo por nuestra palabra.

Zapier y Make

Pro también puede publicar entradas en Zapier y Make como REST hooks. Zapier se suscribe a uno de sus formularios, MevvForms recuerda la suscripción y cada entrada posterior se encola y se le entrega. Al darse de baja se elimina de nuevo, y una ruta aparte de muestras entrega a Zapier una entrada reciente para que su pantalla de mapeo de campos muestre nombres de campo reales en lugar de casillas vacías.

  • La autenticación es una clave de sitio que usted genera en la pantalla de ajustes de Zapier. Es la única credencial e identifica al sitio, no a una persona.
  • Los envíos salen por el webhook firmado y la cola de trabajos que la edición gratuita ya usa. Es un destino nuevo, no un segundo sistema de entrega, así que el registro de envíos y los reintentos funcionan igual.
  • Sin una licencia válida el módulo no arranca en absoluto: no se registra ninguna ruta, no se añade ningún hook y no existe ningún camino de código que pueda alcanzar una dirección remota.

Zapier y Make ya eran alcanzables sin Pro, porque la edición gratuita puede enviar por POST un webhook firmado a cualquier dirección. Lo que Pro elimina es la parte intermedia: ya no construye usted la suscripción, el mapeo de campos y el reintento.

Salesforce

Pro puede convertir un envío en un Lead, un Contact o un Case de Salesforce. Mapeas los campos del formulario sobre los campos del objeto en la pantalla del conector, y cada entrada se envía por la misma cola que usan los demás conectores — así que una caída de Salesforce retrasa el registro, no pierde la entrada.

  • La autenticación es OAuth 2.0 con un token de actualización. En tu sitio no se guarda ninguna contraseña de Salesforce.
  • Sandbox y producción son un interruptor, no un segundo juego de credenciales que mantener aparte.
  • La entrada en sí se queda en tu propio sitio en cualquier caso. Enviar una copia a Salesforce no es mover tus datos allí.

Subidas en tu propio almacenamiento de objetos

Por defecto la caja fuerte de archivos está en tu propio disco, fuera de la raíz web. Pro puede llevarla en su lugar a cualquier almacén compatible con S3 — AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2 o Wasabi — firmando cada petición él mismo, de modo que ningún SDK de terceros ve nunca las entradas.

Lo que cambia es dónde están los bytes, no quién puede descargarlos. Los archivos se siguen entregando solo a través de un enlace con tiempo limitado atado a una persona, y el plugin gratuito sigue decidiendo quién tiene derecho a uno. Mover el almacenamiento no mueve la comprobación de permisos.

Idiomas

Diecinueve configuraciones regionales de WordPress vienen con el plugin: alemán (Alemania, alemán formal y Suiza), inglés, español (España, México, Argentina, Chile, Colombia), francés, italiano, japonés, neerlandés (Países Bajos y Bélgica), polaco, portugués (Brasil y Portugal), ruso y turco. Los catálogos fuente editables están incluidos, así que una traducción se puede corregir en su propio sitio.

El turco y el inglés son los dos que se han leído línea por línea. Los demás están completos pero no todos han pasado aún por una revisión humana; si una cadena suena extraña en su idioma, esa es la razón, y el catálogo está ahí para corregirla.

La frontera entre Free y Pro

El tiempo de ejecución fiable es de la edición gratuita y con él casi todo lo de esta página: el esquema, los treinta y ocho tipos de campo, el renderizador accesible, la validación en el servidor y la lógica condicional, los formularios de varios pasos con paso de resumen y modo conversacional, guardar y continuar, las entradas locales con exportación CSV y registro de auditoría, notas de administración y un flujo de aprobación, la cola de notificaciones y su registro de entrega, webhooks salientes firmados con HMAC, la suite antispam completa, el control de acceso, la bóveda de archivos, las vistas públicas, las herramientas de retención y privacidad, la analítica, la generación con IA, los importadores de siete plugins y los pagos únicos sin comisión por transacción.

Pro añade los conectores de servicio con nombre: Mailchimp, HubSpot, Brevo, ActiveCampaign, Airtable, Notion, Google Sheets, Discord, Telegram y Slack, cada uno hablando la forma propia de ese servicio, más una pasarela PayPal, un conector de Zapier y Make construido sobre REST hooks, pagos recurrentes, códigos de descuento y pagos parciales. Fíjese en lo que esto sigue significando: la edición gratuita ya envía por POST un webhook firmado a cualquier sitio, así que Zapier, Make y todo lo que escriba usted mismo siguen siendo alcanzables sin Pro; lo que Pro elimina es la parte intermedia, la suscripción, el mapeo de campos y el reintento que si no tendría que escribir. La barrera de licencia es la propia comprobación de arranque del módulo: sin una licencia válida no se carga ninguna clase de conector, no se registra ningún filtro de trabajo y no puede producirse ninguna llamada remota.

Un elemento de la hoja de ruta no se anuncia como una capacidad ya funcional. Consulte la versión instalada y las notas de la versión antes de diseñar un formulario alrededor de un módulo Pro.

Resolución de problemas y reversión

El shortcode heredado sale en blanco
Confirme que el ID de origen tiene un mapeo de migración activo y que ningún otro plugin es dueño del shortcode wpforms.
El envío informa de una sesión caducada
Recargue la página y envíe contra la última revisión publicada.
Una notificación está esperando
Abra el estado de la cola, corrija el error permanente de configuración o deje que se ejecute el reintento programado si es un error de transporte transitorio.
La conmutación no desactivó WPForms
Lea el resultado de salud. La puerta de seguridad mantuvo o restauró WPForms porque falló la verificación de renderizado, de envío, de entrada o de trabajo.
Un campo que el visitante no podía ver llegó de todas formas
Ese es el punto en el que decide el servidor. Las condiciones se vuelven a evaluar en el envío, así que un valor enviado por POST para un campo oculto se descarta ahí — revise la propia condición en lugar del navegador.
Los caracteres turcos aparecen rotos en el CSV
El archivo lleva una marca de orden de bytes y es UTF-8. Una hoja de cálculo a la que se le haya indicado importarlo como otra cosa lo seguirá mostrando mal; ábralo directamente en lugar de a través de un asistente de importación con una codificación ya elegida.
Un enlace de descarga dice que ha caducado
Los enlaces duran quince minutos por defecto y están ligados a la persona que los solicitó. Genere uno nuevo desde el envío; un enlace no se puede reenviar a un compañero.
El panel de IA no está
No hay ninguna conexión configurada. El panel se oculta en lugar de mostrarse roto, y no se envía nada a ningún sitio mientras está oculto.
Una entrada del menú abre una pantalla vacía
Algunas entradas del menú son marcadores de posición para pantallas que todavía no se han construido. Una pantalla vacía no es una instalación rota.

Para el soporte, comparta las versiones del plugin, de WordPress y de PHP, además del código de error seguro. Elimine los valores de los campos, los datos de clientes, los tokens de sesión, los nonces y las claves de licencia antes de enviar los logs.

Actualizaciones

Las actualizaciones llegan a través del propio WordPress. El plugin pregunta a nuestra tienda si existe una versión más nueva y entrega la respuesta al flujo de actualización propio de WordPress, de modo que una nueva versión aparece en la pantalla de plugins con un botón Actualizar corriente en lugar de esperar a que alguien descargue un zip a mano. En la edición gratuita esa petición lleva solo el nombre del paquete y la versión instalada: ninguna dirección del sitio, ningún correo electrónico, ninguna clave de licencia y ningún inventario de plugins. Como nada en ella le identifica, la confianza descansa en la firma: la respuesta va firmada con nuestra clave Ed25519, y una respuesta sin firma, mal firmada, repetida desde una marca de tiempo antigua o que apunte la descarga a cualquier host que no sea el nuestro se descarta sin tocar el sitio.

Límites

Dicho con claridad, para que nada en esta página tenga que darse por fe.

  • Las funciones de pago no se han verificado contra una cuenta de comerciante real ni de sandbox. Están construidas según la documentación de los proveedores y probadas contra una capa de transporte sustituta.
  • No hay deshacer ni rehacer en el constructor. Las revisiones son el camino de vuelta.
  • La salida en PDF depende del sitio. Si hay una biblioteca PDF instalada, MevvForms la usa; si no, produce en su lugar un documento imprimible y deja la impresión al navegador. No se incluye ninguna biblioteca PDF y no se descarga ninguna de ningún sitio.
  • Ahora cada entrada del menú abre una pantalla real. Informes, integraciones, importación y exportación, ajustes, roles y registros eran marcadores de posición en versiones anteriores; desde 1.1.0 cada uno lo sirve su propio paquete.
  • La bóveda de archivos subidos está por defecto dentro del directorio de subidas y está protegida por reglas de denegación en lugar de por su ubicación, a menos que usted mismo la apunte fuera de la raíz web.
  • Las claves de IA se almacenan tal como se escriben, sin cifrar. Se enmascaran en pantalla y se mantienen fuera de las opciones que siempre se cargan, lo cual no es lo mismo que ser ilegibles.
  • El equivalente por teclado del constructor es completo pero reducido. Los botones llevan las teclas ordinarias y mover un campo tiene un único atajo; no hay un mapa de teclas más amplio que aprender, ni tampoco ninguno que descubrir.

Cuando esta página dice que algo se ha medido, se ha medido. Cuando dice que algo no se ha demostrado, eso no es modestia — significa que la prueba todavía no existe, y debería tratar la afirmación como inacabada.