Documentación de Charitable

Aprende a sacar el máximo partido a Charitable con instrucciones claras y paso a paso.

Enlace Mágico

La función de Enlace Mágico permite a los donantes acceder a su panel de donante sin necesidad de una cuenta de usuario de WordPress ni de iniciar sesión. Los donantes pueden solicitar un enlace seguro y de tiempo limitado por correo electrónico que les otorga acceso para ver su historial de donaciones e información de cuenta.


Tabla de Contenidos


Ganchos y filtros

Los siguientes hooks y filtros de PHP están disponibles para extender y personalizar la funcionalidad del enlace mágico:

  • charitable_magic_link_logout_redirect – Filtra la URL de redirección después del cierre de sesión del enlace mágico
    • Parámetros: $redirect_url (string)
    • Devuelve: Cadena de URL de redirección modificada
    • Nota: El resultado del filtro se valida para evitar redirigir de nuevo al panel del donante
  • charitable_is_magic_link_on_page – Determina si la funcionalidad del enlace mágico debe estar activa en la página actual
    • Parámetros: $is_magic_link_on_page (bool)
    • Devuelve: Booleano
    • Por defecto: Verdadero si está en la página del panel del donante, tiene la acción donor_dashboard, o tiene magic_link_token
  • charitable_magic_link_verify_throttle – Filtra el período de limitación para las solicitudes de clave de verificación (en segundos)
    • Parámetros: Ninguno
    • Devuelve: Entero (por defecto: 300 segundos / 5 minutos)
  • charitable_magic_link_limit_throttle – Filtra el número máximo de solicitudes de enlace mágico permitidas por período de limitación
    • Parámetros: Ninguno
    • Devuelve: Entero (por defecto: 3 solicitudes)
  • charitable_magic_link_token_expiration – Filtra el tiempo de expiración del token (en segundos)
    • Parámetros: Ninguno
    • Devuelve: Entero (por defecto: 7200 segundos / 2 horas)
  • charitable_magic_link_token_expired_message – Filtra el mensaje de error que se muestra cuando el token expira
    • Parámetros: $message (string)
    • Devuelve: Cadena de mensaje modificada

Filtros de Correo Electrónico

  • charitable_email_magic_link_name – Filtra el nombre/título del correo electrónico
    • Parámetros: $name (string)
    • Devuelve: Cadena de nombre de correo electrónico modificado
  • charitable_email_magic_link_default_subject – Filtra la línea de asunto del correo electrónico predeterminada
    • Parámetros: $subject (string), $email (instancia de Charitable_Email_Magic_Link)
    • Devuelve: Cadena de asunto modificado
  • charitable_email_magic_link_default_headline – Filtra el titular predeterminado del correo electrónico
    • Parámetros: $headline (string), $email (instancia de Charitable_Email_Magic_Link)
    • Devuelve: Cadena de titular modificado
  • charitable_email_magic_link_default_body – Filtra el contenido del cuerpo del correo electrónico predeterminado
    • Parámetros: $body (string), $email (instancia de Charitable_Email_Magic_Link)
    • Devuelve: Cadena de cuerpo modificado

Filtros de plantilla del panel

  • charitable_magic_link_dashboard_access_heading – Filtra el texto del encabezado para el formulario de acceso al enlace mágico
    • Parámetros: $heading (string)
    • Devuelve: Encabezado modificado
  • charitable_magic_link_dashboard_access_description – Filtra el texto de la descripción para el formulario de acceso al enlace mágico
    • Parámetros: $description (string)
    • Devuelve: Descripción modificada
  • charitable_magic_link_form_shortcode – Filtra la salida del shortcode del formulario de enlace mágico
    • Parámetros: $output (string)
    • Devuelve: Salida del shortcode modificado

Flujo de autenticación

  1. Usuarios registrados: Si un usuario de WordPress ha iniciado sesión, se omite el enlace mágico y se utiliza la autenticación de usuario estándar
  2. Usuarios de enlace mágico: Si no ha iniciado sesión, el sistema comprueba si el token del enlace mágico es válido
  3. Sin autenticación: Si no existe ninguno de los dos, se muestra el formulario de enlace mágico (si está habilitado)

Ajustes y Configuración

La funcionalidad del enlace mágico se puede configurar en Charitable → Ajustes → Donantes → Enlace mágico.

Configuración

  • Habilitar enlace mágico – Activar/desactivar la funcionalidad del enlace mágico
    • Predeterminado: Habilitado
    • Nota: Requiere que el panel del donante esté habilitado y que la actualización de la base de datos se haya completado
  • Expiración del enlace mágico (horas) – Cuánto tiempo permanecen válidos los enlaces mágicos
    • Por defecto: 2 horas
    • Rango: Configurable a través del filtro charitable_magic_link_token_expiration
    • Nota: La expiración se calcula desde la creación del token (no desde el envío del correo electrónico)

Requisitos

  • El panel del donante debe estar habilitado
  • La actualización de la base de datos para las columnas de enlace mágico debe estar completada
  • El correo electrónico del enlace mágico no se puede deshabilitar mientras el enlace mágico esté habilitado

Funciones de Seguridad

El sistema de enlace mágico incluye varias medidas de seguridad:

Limitación de velocidad

  • Límite de Solicitudes: Máximo 3 solicitudes de enlace mágico por ventana de 5 minutos por donante
  • Ventana de Límite: 5 minutos (configurable a través de charitable_magic_link_verify_throttle)
  • Límite de Solicitudes: 3 solicitudes (configurable a través de charitable_magic_link_limit_throttle)
  • Implementación: Utiliza la caché de objetos de WordPress y los metadatos del donante para rastrear los recuentos de solicitudes

Seguridad del Token

  • Tokens Únicos: Solo un token activo por donante a la vez
  • Invalidación de Token: Cuando se solicita un nuevo enlace mágico, todos los tokens existentes para ese donante se invalidan
  • Expiración: Los tokens expiran automáticamente después del período de tiempo configurado
  • Cookies Seguras: Los tokens almacenados en cookies utilizan las marcas HttpOnly y Secure (cuando SSL está disponible)

Validación de Sesión

  • Coincidencia de ID de Donante: El ID de donante de la sesión debe coincidir con el ID de donante del token
  • Validación de Solicitud: Las solicitudes AJAX validan que el ID de donante del token coincida con el ID de donante solicitado
  • Protección contra Desajuste de Sesión: Si los ID de donante de la sesión y del token no coinciden, la sesión se borra y se requiere una reautenticación

Seguridad de Cierre de Sesión

  • Protección de Nonce: El cierre de sesión requiere un nonce válido para prevenir ataques CSRF
  • Invalidación de Token: El cierre de sesión invalida todos los tokens del donante en la base de datos
  • Borrado de Cookies: Todas las cookies de enlace mágico se borran al cerrar sesión
  • Borrado de Sesión: Todos los datos de sesión de enlace mágico se borran

Estructura de la Base de Datos

La funcionalidad de enlace mágico utiliza las siguientes columnas de base de datos en la tabla wp_charitable_donors:

Columnas

  • magic_link_token – Almacena el token de acceso persistente (cadena de 32 caracteres)
    • Establecido cuando se usa la clave de verificación por primera vez
    • Borrado cuando el token expira o se invalida
    • Utilizado para la autenticación continua
  • magic_link_verify_key – Almacena la clave de verificación inicial (cadena de 32 caracteres)
    • Establecido cuando se envía el correo electrónico del enlace mágico
    • Convertido a token en el primer uso
    • Borrado después de la conversión o expiración
  • magic_link_verify_throttle – Almacena la marca de tiempo para la limitación de velocidad y la expiración del token
    • Se utiliza para rastrear cuándo se creó la clave de verificación (para limitación de velocidad)
    • Se utiliza para rastrear cuándo se creó el token (para la comprobación de expiración)
    • Formato: fecha y hora de MySQL (Y-m-d H:i:s)

Meta del donante

  • _charitable_magic_link_throttle_count – Rastrea el número de solicitudes de enlace mágico en la ventana de limitación actual
    • Incrementado en cada solicitud
    • Restablecido cuando expira la ventana de limitación
    • Se utiliza con la caché de objetos para aplicar la limitación de velocidad

Sistema de Correo Electrónico

El correo electrónico del enlace mágico es un tipo de correo electrónico requerido que no se puede deshabilitar mientras el enlace mágico esté habilitado.

Clase de correo electrónico

  • Clase: Charitable_Email_Magic_Link
  • ID de correo electrónico: magic_link
  • Requerido: Sí (no se puede deshabilitar mientras el enlace mágico esté habilitado)

Campos de correo electrónico

El correo electrónico del enlace mágico incluye los siguientes campos personalizados:

  • {magic_link} – La URL segura para acceder al panel del donante
    • Contiene la clave de verificación como parámetro magic_link_token
    • Apunta a la URL de la página del panel del donante
  • {donor_name} – El nombre del donante (o "Estimado donante" si no está disponible)
  • {expiration_time} – Hora de expiración legible por humanos (por ejemplo, "dentro de 2 horas")

Etiquetas de plantilla de correo electrónico

Las etiquetas de plantilla de correo electrónico estándar de Charitable están disponibles, además de los campos personalizados enumerados anteriormente.

Filtros de Correo Electrónico

Se aplican todos los filtros de correo electrónico estándar de Charitable, además de los filtros específicos de enlace mágico enumerados en la sección Hooks y Filtros.


Shortcode

El formulario de enlace mágico se puede mostrar usando un shortcode.

Shortcode

  • Código corto: [charitable_magic_link_form]
  • Atributos: Ninguno compatible actualmente
  • Salida: Muestra el formulario de solicitud de enlace mágico

Proceso del formulario

  1. El usuario introduce la dirección de correo electrónico
  2. El formulario valida el formato del correo electrónico
  3. El sistema comprueba si existe un donante con ese correo electrónico
  4. Se comprueba la limitación de velocidad
  5. Si se permite, se envía el correo electrónico de enlace mágico
  6. Se muestra un mensaje de éxito o error

Validación del formulario

  • Correo electrónico requerido: Debe ser una dirección de correo electrónico válida
  • El donante debe existir: El correo electrónico debe estar asociado a al menos una donación
  • Limitación de velocidad: No debe exceder los límites de solicitud

Funciones Auxiliares

Las siguientes funciones de ayuda están disponibles para los desarrolladores:

Comprobar funciones

  • charitable_is_magic_link_enabled() – Comprueba si el enlace mágico está habilitado
    • Devuelve: bool
    • Comprobaciones: Panel del donante habilitado, actualización de la base de datos completada, configuración habilitada
  • charitable_is_authenticated_via_magic_link() – Comprueba si el usuario actual está autenticado a través de un enlace mágico
    • Devuelve: bool
    • Comprueba la validez de la sesión y del token
  • charitable_get_donor_id_from_magic_link() – Obtiene el ID del donante de la autenticación del enlace mágico
    • Devuelve: int|false
    • Devuelve el ID del donante si existe un token de enlace mágico válido, de lo contrario, devuelve false

Métodos de clase

La clase Charitable_Magic_Link proporciona los siguientes métodos públicos:

  • get_instance() – Obtiene la instancia singleton de la clase
  • get_token() – Obtiene el token de la cookie o del parámetro GET
  • is_valid_token($token) – Comprueba si un token es válido y no ha expirado
  • is_valid_verify_key($token) – Comprueba si una clave de verificación es válida
  • get_donor_by_token($token) – Obtiene el objeto donante por token
  • get_donor_by_verify_key($verify_key) – Obtiene el objeto donante por clave de verificación
  • can_send_email($donor_id) – Comprueba si se puede enviar el correo electrónico del enlace mágico (limitación de velocidad)
  • send_email($donor_id, $email) – Envía el correo electrónico del enlace mágico al donante
  • generate_verify_key() – Genera una nueva clave de verificación (cadena aleatoria de 32 caracteres)

Ciclo de Vida del Token

Creación de token

  1. El usuario solicita un enlace mágico:
    • El donante introduce el correo electrónico en el formulario
    • El sistema genera una clave de verificación
    • La clave de verificación se almacena en magic_link_verify_key
    • Se envía un correo electrónico con la clave de verificación en la URL
  2. El usuario hace clic en el enlace del correo electrónico:
    • La clave de verificación se valida
    • La clave de verificación se convierte en token
    • El token se almacena en magic_link_token
    • La clave de verificación se elimina de la base de datos
    • Se establece una cookie con el token
    • Se crea la sesión

Uso del token

  1. Carga de página:
    • El sistema busca el token en la cookie o en el parámetro GET
    • Token validado (no expirado, existe en la base de datos)
    • Sesión validada (el ID del donante coincide)
    • Se concede acceso si todas las comprobaciones son correctas
  2. Solicitudes AJAX:
    • Token validado en cada solicitud
    • El ID del donante del token debe coincidir con el ID del donante solicitado
    • El ID del donante de la sesión debe coincidir con el ID del donante del token

Expiración del Token

  • Tiempo de expiración: Configurable (predeterminado: 2 horas)
  • Comprobación de expiración: Basado en la marca de tiempo de magic_link_verify_throttle
  • Comportamiento del token expirado:
    • El token ya no es válido
    • El usuario debe solicitar un nuevo enlace mágico
    • Mensaje de error mostrado

Invalidación de Token

Los tokens se invalidan en los siguientes escenarios:

  1. Nueva solicitud de enlace mágico: Todos los tokens existentes para el donante se invalidan cuando se solicita un nuevo enlace mágico
  2. Cierre de sesión del usuario: Todos los tokens del donante se invalidan al cerrar sesión
  3. Expiración del token: Los tokens expirados se invalidan automáticamente
  4. Desajuste de sesión: Si el ID del donante de la sesión y el token no coinciden, la sesión se borra

Proceso de cierre de sesión

  1. Solicitud de cierre de sesión:
    • El usuario hace clic en el enlace de cierre de sesión (requiere nonce)
    • Nonce verificado
    • ID del donante recuperado de la sesión
  2. Invalidación de token:
    • Todos los tokens del donante se borran de la base de datos
    • Datos de sesión borrados
    • Cookies borradas
  3. Redirección:
    • El usuario es redirigido a la página de inicio (URL limpia, sin parámetros de consulta)
    • La URL de redirección se puede filtrar a través de charitable_magic_link_logout_redirect

Notas adicionales

Compatibilidad

  • El enlace mágico funciona junto con la autenticación de usuario estándar de WordPress
  • Si un usuario ha iniciado sesión, se omite el enlace mágico
  • El enlace mágico solo se activa para usuarios que no han iniciado sesión

Registro

El sistema registra las actividades de los enlaces mágicos en el registro de donantes:

  • magic_link_sent – Cuando se envía un correo electrónico de enlace mágico
  • magic_link_used – Cuando se utiliza con éxito un enlace mágico para acceder al panel
  • magic_link_failed – Cuando un intento de enlace mágico falla (token no válido/caducado)

Modo de depuración

Cuando WP_DEBUG está habilitado, hay disponible un registro detallado para:

  • Validación de tokens
  • Gestión de sesiones
  • Limitación de velocidad
  • Procesamiento de cierre de sesión

Recursos adicionales

Para obtener más información sobre cómo extender la funcionalidad de los enlaces mágicos:

  • Documentación para desarrolladores de Charitable
  • Documentación de ganchos y filtros de WordPress
  • Repositorio de GitHub de Charitable

Versión del documento: 1.0
Última actualización: noviembre de 2025

¿Todavía tienes preguntas? ¡Estamos aquí para ayudarte!

Última modificación:

Novedades en Benéfico

Ver las últimas actualizaciones
🔔 Suscríbete para recibir nuestras últimas actualizaciones
📧 Suscribirse a correos electrónicos

Suscripción por correo electrónico

Únete a nuestro boletín

No te enviaremos spam. Solo enviamos un correo electrónico cuando creemos que realmente te ayudará. ¡Date de baja en cualquier momento!

Donaciones Mejora

📊 ¡Tu panel de control Pro ahora puede comparar, exportar y calificar!

La mayoría de los paneles de control de recaudación de fondos solo te dicen cuánto has recaudado. Charitable Pro 1.8.19 reconstruye el panel de control y la Descripción general de informes en torno a las preguntas más difíciles: si algo está roto, si este período superó al anterior y qué cambio único marcaría la mayor diferencia hoy. Por qué esto es importante:

  • 📈 Cada cifra tiene una tendencia: Elige un período y las fichas y el gráfico se mueven juntos, con cada total mostrado frente al período anterior.
  • 🗓️ Gráficos que se mantienen legibles: Los rangos cortos agrupan las donaciones día a día, mientras que los rangos más largos agrupan por semana o mes, por lo que un año completo se lee como una curva en lugar de una línea plana.
  • 🔀 Compara cualquier 2 períodos: No solo los consecutivos, para que puedas preguntar cómo fue este diciembre en comparación con el diciembre pasado. Eso importa porque la recaudación de fondos es estacional.
  • 📤 Exporta el resumen completo: Envía la descripción general completa como CSV o PDF, lista para un paquete de junta directiva o un informe de financiador.
  • 🎯 Califica tu configuración gratis: Haz que tu configuración de recaudación de fondos sea calificada, para que el único cambio que valga la pena hacer a continuación sea el que puedas ver.

Consulta nuestro anuncio aquí.

Función Nuevo

🎟️ Presentamos Eventos Benéficos: ¡Vende entradas dentro de tus campañas!

La mayoría de las organizaciones sin ánimo de lucro venden entradas para eventos en una herramienta y recaudan donaciones en otra, lo que genera dos conjuntos de informes y una conciliación manual al final del año. Eventos Benéficos une ambas cosas, vendiendo entradas a través de los mismos formularios de donación y pasarelas de pago que ya utilizas en Charitable. Por qué esto es importante:

  • 🎟️ Cada entrada es una donación: Las ventas de entradas se procesan a través de la pasarela que ya utilizas y cuentan para el objetivo de la campaña, con todo gestionado en Charitable » Eventos.
  • 📱 Registro con código QR desde cualquier teléfono: Cada asistente recibe su propio código QR en el recibo, y los voluntarios escanean en la puerta a través de un enlace de registro que no necesita cuenta de WordPress.
  • 🧾 Recibos listos para la declaración de impuestos: Asigna a cada tipo de entrada un valor justo de mercado, y Charitable incluirá el importe correcto deducible de impuestos en cada recibo de donante.
  • 📋 Detalles del asistente al finalizar la compra: Pregunta a cada invitado por su elección de comida, talla de camiseta o necesidades de acceso, con un registro de asistente independiente creado para cada entrada.
  • 🗓️ Bloques y calendarios incluidos: Tres bloques de editor, además de la compatibilidad con Sugar Calendar y The Events Calendar, muestran tus eventos donde los colaboradores ya los buscan.

Consulta nuestro anuncio aquí.

ia Nuevo

🚀 ¡Libera el poder de la IA en Charitable!

Tu asistente de IA ahora puede crear, editar y administrar tus campañas de recaudación de fondos de Charitable directamente, solo con pedírselo. Con Charitable Pro añadiendo soporte de escritura para la API de Habilidades de WordPress, herramientas como ChatGPT, Claude y Cursor pueden manejar acciones administrativas completas de forma segura a través de MCP. Por qué esto es importante:

  • 🤖 Creación de campañas en lenguaje natural: Pídele a tu asistente un objetivo como “Configura una recaudación de fondos para el refugio con un objetivo de 5.000 $”, y creará un borrador de campaña real completo con niveles de donación sugeridos.
  • 🎨 Ajustes instantáneos del formulario de donación: Añade campos personalizados, cambia los colores de los botones o reordena elementos sin tener que entrar en la configuración del formulario.
  • 📝 Registro de donaciones sin conexión: Informa a tu asistente sobre donaciones en efectivo o cheque, y cruzará los correos electrónicos de los donantes y registrará las transacciones en tu historial.
  • 🛡️ Seguridad y control por defecto: El acceso de escritura permanece estrictamente desactivado hasta que se active en Charitable » Herramientas » AI MCP, manteniendo el informe de solo lectura seguro por defecto.
  • 📜 Registro de auditoría completo: Cada cambio realizado por un asistente de IA se rastrea en Charitable » Herramientas » Registros, por lo que siempre sabrás quién (o qué) actualizó tu sitio.

Consulta nuestro anuncio aquí.

Mejora Pagos

💰 Acepta donaciones recurrentes con Windcave y Charitable

Un donante configura su donación una vez en la página de pago segura de Windcave, y Charitable factura cada renovación según lo programado. Por qué esto es importante:

🏦 Organizaciones con sede en Nueva Zelanda o Australia: donaciones mensuales en la pasarela con la que tu banco ya te ha configurado, sin un segundo procesador que incorporar.
⛪ Iglesias que reciben diezmos y ofrendas regulares: los miembros de la congregación establecen su propio calendario una vez, que es la forma más sencilla de lanzar donaciones recurrentes para la iglesia sin una plataforma separada.
🌏 Grupos con donantes en varias divisas: Windcave gestiona más de 20, por lo que un donante puede dar en la divisa que realmente posee.
📅 Fondos operativos en lugar de campañas puntuales: activa el modo Solo Recurrente y la opción única desaparece, por lo que cada donación a esa campaña es una suscripción.
🧾 Equipos sin desarrollador en plantilla: 3 conjuntos de credenciales pegados en una página de configuración, y sin código en ninguna parte.

Consulta nuestro anuncio aquí.

automatización actualizar

⚡ Creador Visual de Automatización: ¡Arrastrar y Soltar Sin Código!

Charitable Automation Connect 2.3.0 presenta el Generador de Automatización Visual, un lienzo a pantalla completa que presenta cada automatización como un flujo de tarjetas conectadas: un desencadenador, condiciones opcionales y una lista de acciones que se ejecutan en orden.

🧩 Muchas acciones, un desencadenador: Etiqueta a un donante, envía un correo electrónico, agrega una nota y activa una llamada webhook desde un solo evento, arrastrado en cualquier orden.

✉️ Actúa dentro de Charitable: Las nuevas acciones Enviar correo electrónico, Etiquetar donante y Agregar nota de donante se ejecutan sin necesidad de un servicio externo.

🔤 Etiquetas de combinación: Personaliza correos electrónicos y notas con campos en vivo como {first_name}, {total} y {campaign_name}.

🔁 Aplicar a donantes existentes: Ejecuta Etiquetar donante y Agregar nota de donante contra los donantes que ya tienes.

🖥️ Lienzo o Simple: Cambia de vista en cualquier momento, y las automatizaciones creadas antes de la 2.3.0 siguen funcionando sin cambios.

Lee más aquí.