Integración de Webform con CiviCRM
Un potente constructor de formularios que integra el módulo Webform de Drupal con CiviCRM, permitiendo la recopilación de datos y funcionalidad CRM sin interrupciones.
webform_civicrm
Instalar
composer require 'drupal/webform_civicrm:^6.3'
Overview
Webform CiviCRM Integration es un módulo integral que conecta el módulo Webform de Drupal con CiviCRM, el sistema de gestión de relaciones con constituyentes de código abierto. Transforma los formularios web en potentes herramientas de recopilación de datos que interactúan directamente con tu base de datos de CiviCRM.
El módulo te permite crear desde simples formularios de suscripción a boletines hasta complejos sistemas de registro de múltiples pasos, inscripciones a eventos, registros de membresía y formularios de donación. Todos los envíos de formularios pueden crear o actualizar contactos automáticamente, procesar pagos, registrar participantes en eventos, crear membresías, registrar actividades, gestionar relaciones y mucho más.
Con una interfaz administrativa intuitiva, los constructores de sitios pueden configurar qué entidades y campos de CiviCRM exponer en el formulario web, establecer reglas de coincidencia automática de contactos para prevenir duplicados y controlar cómo fluyen los datos entre Drupal y CiviCRM sin escribir código.
Features
- Crear y actualizar contactos de CiviCRM (Individuos, Organizaciones, Hogares) desde envíos de formularios web con detección automática de duplicados usando reglas de coincidencia configurables
- Procesar pagos en línea a través de procesadores de pago compatibles (Stripe, IATS y otros procesadores en sitio) con soporte para pagos recurrentes
- Registrar participantes para eventos de CiviCRM con opciones de registro configurables, precios y validación de capacidad
- Crear y renovar membresías de CiviCRM con cálculo automático de períodos e integración de pagos
- Registrar actividades y casos vinculados a contactos con tipos de actividad, estados y asignaciones configurables
- Gestionar relaciones de contactos entre múltiples contactos en el mismo formulario con soporte para tipos de relación empleador/empleado y personalizados
- Soporte para campos personalizados de CiviCRM con carga de opciones tanto estática como en vivo para listas de selección
- Agregar contactos a grupos y asignar etiquetas basadas en envíos de formularios con doble confirmación opcional para listas de correo
- Procesar contribuciones con líneas de detalle, créditos blandos y correos electrónicos de recibo configurables
- Formularios de solicitud de subvenciones con seguimiento de estado y soporte para campos personalizados
- Pre-llenar formularios para usuarios autenticados o mediante enlaces de suma de verificación de CiviMail para acceso anónimo personalizado
- Autocompletado de selección de contactos con filtros configurables por grupo, etiqueta, relación y subtipo de contacto
- Campos de dirección de facturación con opción de copiar desde la dirección del contacto
- Formularios multi-contacto que permiten el registro de múltiples personas en un solo envío
Use Cases
Formulario de Donación
Crea un formulario de donación que recopila información del donante, procesa pagos con tarjeta de crédito a través de procesadores de pago compatibles, crea o actualiza el registro del contacto del donante en CiviCRM, registra la contribución con configuración opcional de pagos recurrentes y envía correos electrónicos de recibo automatizados.
Registro de Eventos
Construye un formulario de registro de eventos que permite a los usuarios registrarse a sí mismos y a participantes adicionales para eventos de CiviCRM. Soporta selección de participantes de múltiples eventos, integración de conjuntos de precios, manejo de lista de espera y gestión automática del estado del participante.
Registro y Renovación de Membresía
Crea formularios de membresía que permiten a nuevos miembros registrarse y a miembros existentes renovar. Soporta múltiples tipos de membresía, cálculo automático de períodos, recopilación de pagos y preferencias de comunicación de miembros.
Suscripción a Boletín
Formularios de suscripción a boletines simples o complejos que agregan contactos a grupos de CiviCRM (listas de correo). Soporta correos electrónicos de confirmación de doble opt-in para listas de correo públicas y puede recopilar información adicional del contacto.
Solicitud de Voluntariado
Crea formularios de incorporación de voluntarios que capturan detalles de contacto, intereses, disponibilidad y habilidades. Usa actividades para rastrear la solicitud, asignar al voluntario a grupos y establecer relaciones con contactos del personal.
Solicitud de Subvención
Construye formularios de solicitud de subvenciones que crean registros de subvención en CiviCRM con tipos de subvención configurables, montos y seguimiento de estado. Recopila información del solicitante y documentación de respaldo.
Formulario de Actualización de Contacto
Permite a los contactos existentes actualizar su propia información enviando enlaces personalizados vía CiviMail con sumas de verificación. El formulario se pre-llena con sus datos existentes y actualiza su registro de CiviCRM al enviarse.
Formulario de Relación Multi-Contacto
Recopila información sobre múltiples contactos relacionados en un solo formulario, como un padre registrando hijos para un programa. Crea automáticamente registros de relación entre los contactos en CiviCRM.
Tips
- Usa el campo 'Contacto Existente' con el widget 'Estático' y el valor predeterminado 'Usuario Actual' para formularios que deben saber automáticamente quién es el remitente.
- Habilita 'Opciones en Vivo' para campos de tipo de evento y membresía para reflejar automáticamente los cambios realizados en CiviCRM sin actualizar el formulario web.
- Usa sumas de verificación de CiviMail en la URL para permitir que usuarios anónimos accedan a formularios con su información de contacto pre-llenada. El formato es: /form-url?cid1={contact.id}&{contact.checksum}
- Configura las reglas de deduplicación apropiadas en CiviCRM y selecciónalas en la configuración de regla de coincidencia del formulario web para prevenir contactos duplicados.
- Usa la opción 'Bloquear Usuarios Desconocidos' para formularios sensibles que solo deben ser accesibles para contactos conocidos.
- Para formularios de múltiples páginas con pagos, los campos de pago se colocarán automáticamente en una página separada de 'Pago'.
- Prueba los formularios de pago exhaustivamente en modo de prueba antes de ir a producción. La mayoría de los procesadores de pago tienen modos de prueba/sandbox que deben usarse durante el desarrollo.
- La opción 'Campos a Bloquear' en la configuración del campo Contacto Existente puede prevenir que los usuarios editen ciertos campos cuando ya hay un contacto seleccionado.
- Usa la configuración 'Etiqueta de Origen' para rastrear de dónde se originaron los contactos y otras entidades al revisar los datos de CiviCRM.
Technical Details
Admin Pages 1
/admin/structure/webform/manage/{webform}/civicrm
Configura la integración de CiviCRM para un formulario web específico. Esta página de configuración integral te permite habilitar y configurar todas las entidades, campos y opciones de procesamiento de CiviCRM para los envíos de formularios.
Permisos 1
Hooks 1
hook_civicrm_alterMailParams
Permite alterar los parámetros de correo de CiviCRM para incluir la configuración de recibos del formulario web en los correos electrónicos de contribuciones y membresías.
Troubleshooting 5
Asegúrate de que el procesador de pagos esté correctamente configurado en CiviCRM y habilitado para la contribución. Solo se soportan procesadores de pago en sitio (no procesadores basados en redirección como PayPal Standard). Verifica que los campos de facturación estén habilitados si el procesador lo requiere.
Revisa la configuración de la regla de coincidencia en la pestaña CiviCRM. Asegúrate de que los campos usados en tu regla de deduplicación estén presentes y sean obligatorios en el formulario web. Considera usar el campo 'Contacto Existente' para contactos conocidos.
Los grupos de campos personalizados deben estar habilitados para el tipo de entidad y tipo de contacto relevante en CiviCRM. Asegúrate de que la configuración 'extends' del grupo personalizado coincida con lo que intentas usar en el formulario.
Verifica que los eventos estén activos y no hayan terminado (a menos que 'Mostrar Eventos Pasados' esté configurado). Para membresías, asegúrate de que los tipos de membresía estén activos y correctamente configurados en CiviCRM.
Configura el campo 'Contacto Existente' con la configuración apropiada de valor predeterminado. Para el Contacto 1 como Individual, establece el valor predeterminado a 'Usuario Actual'. Asegúrate de que el usuario de Drupal tenga un contacto de CiviCRM vinculado.
Security Notes 4
- Siempre mantén habilitado 'Aplicar Permisos' en los campos de Contacto Existente a menos que tengas otro método de control de acceso. Esto asegura que los usuarios solo puedan ver y seleccionar contactos que tienen permiso para ver en CiviCRM.
- Ten cuidado al usar 'Permitir autocompletado por URL' para IDs de contacto, ya que esto podría permitir a los usuarios acceder a datos de otros contactos si no está protegido adecuadamente por sumas de verificación u otra validación.
- Las credenciales del procesador de pagos y la configuración sensible se almacenan en CiviCRM, no en Drupal, siguiendo las prácticas de seguridad de CiviCRM.
- Considera habilitar límites de envío para formularios con procesamiento de pagos para prevenir abuso de tarjetas de crédito.