Automation Connect convierte cada donación, evento de campaña o envío de formulario en un disparador en tiempo real que envía datos a cualquier aplicación o servicio a través de webhooks. Conecta Charitable con Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect y miles de otras plataformas, sin necesidad de un desarrollador.
Requisitos: Plan Pro/Elite y Charitable Pro 1.8.13+.
Nota: Si estás utilizando Charitable Automation 1.x, tenemos la documentación disponible aquí.
Características Clave (vs versión 1.x)
- Dispara webhooks en 17 eventos de donación, campaña y donación recurrente
- Filtra entregas con lógica condicional en 11 campos de criterios (donante, donación, campaña, datos del formulario)
- Personaliza la carga útil con más de 80 campos de datos disponibles que cubren detalles del donante, campaña, donación y pasarela
- Firma cada solicitud saliente con HMAC-SHA256 para seguridad del endpoint
- Envía cargas útiles de prueba e inspecciona las respuestas de entrega directamente desde el editor
- Comienza rápidamente con 8 plantillas de plataforma preconstruidas (Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect y un lienzo en blanco)
- Reintenta las entregas fallidas automáticamente a través de WordPress Action Scheduler
- Gestiona todas las suscripciones desde un panel central en la administración de Charitable
¿Por qué usar Automation Connect?
Charitable Automation Connect reemplaza la entrada manual de datos y las integraciones personalizadas puntuales con un sistema de webhook único y flexible. En lugar de escribir código personalizado cada vez que quieras sincronizar registros de donantes, notificar a un canal de Slack o agregar contactos a un CRM, configuras una suscripción una vez y se ejecuta automáticamente en cada evento coincidente.
Verlo en acción
Requisitos
- Charitable Pro 1.8.13 o posterior
- Licencia activa de Charitable Pro (plan Pro o superior)
- WordPress 6.2 o posterior
- PHP 7.4 o posterior.
Empezar
Instalación y Activación
- Inicia sesión en tu panel de WordPress y ve a Charitable > Extensiones.
- Localiza Automation Connect y haz clic en Activar.
- Una vez activo, aparece un nuevo elemento Automatización en el menú de administración de Charitable.
Creando tu Primera Suscripción
- Ve a Charitable > Automatización en wp-admin.
- Haz clic en + Añadir Nueva Suscripción.
- Selecciona una plantilla de plataforma o elige Empezar desde cero.
- Configura la suscripción en el editor (ver Uso más abajo).
- Haz clic en Guardar para activar la suscripción.
Uso
Editor de Suscripciones
Cada suscripción se configura en cuatro pestañas:
Pestaña Básica
Establece el nombre de la suscripción, la URL del webhook de destino y el evento desencadenante.
Eventos disponibles — Donaciones
| Evento | Descripción |
|---|---|
donacion_creada | Se envía una nueva donación |
donacion_completada | Una donación alcanza el estado Completado |
donacion_cancelada | Se cancela una donación |
donacion_fallida | Falla el pago de una donación |
donacion_reembolsada | Se reembolsa una donación |
donacion_pendiente | Una donación se establece como Pendiente |
donacion_preaprobada | Una donación se preaprueba |
Eventos disponibles — Campañas
| Evento | Descripción |
|---|---|
campana_creada | Se publica una nueva campaña |
campana_actualizada | Se actualiza una campaña existente |
campana_finalizada | Una campaña alcanza su fecha de finalización |
meta_campana_alcanzada | Una campaña alcanza su objetivo de recaudación |
Eventos disponibles — Donaciones recurrentes
| Evento | Descripción |
|---|---|
recurrente_creado | Se crea un nuevo plan recurrente |
recurrente_completado | Se completa un pago recurrente |
recurrente_cancelado | Se canceló un plan recurrente |
recurrente_fallido | Un pago recurrente falla |
recurrente_pausado | Se pausó un plan recurrente |
recurrente_reanundado | Un plan pausado se reanuda |
Pestaña de Condiciones
Añada reglas para controlar cuándo se activa la webhook. Todas las reglas dentro de un grupo usan lógica Y; múltiples grupos usan lógica O.
Campos de condición disponibles
| Campo | Operadores |
|---|---|
importe_donacion | es, no_es, mayor_que, menor_que |
estado_donacion | es, no_es |
id_campaña | es, no_es |
categoria_campana | es, no_es |
pasarela_pago | es, no_es |
pais_donante | es, no_es |
email_donante | es, no_es, contiene |
optin_boletin | es (sí/no) |
tipo_donacion | es (única vez, recurrente) |
periodo_recurrente | es, no_es |
campo_personalizado | es, no_es, contiene |
Pestaña de Carga útil
Elija exactamente qué campos incluir en la carga útil JSON saliente. Desmarque los campos que no necesite para mantener las cargas útiles ligeras.
Campos del donante (muestra)
id_donante, nombre_donante, nombre_donante, apellido_donante, email_donante, telefono_donante, direccion_donante, ciudad_donante, provincia_donante, codigo_postal_donante, pais_donante, total_donado_donante, numero_donaciones_donante
Campos de donación (ejemplo)
id_donacion, importe_donacion, estado_donacion, fecha_donacion, hora_donacion, moneda_donacion, pasarela_donacion, id_transaccion_pasarela_donacion, notas_donacion, tipo_donacion, ids_campana, nombres_campana
Campos de campaña (ejemplo)
id_campana, titulo_campana, url_campana, meta_campana, donado_campana, porcentaje_recaudado_campana, numero_donantes_campana, fecha_inicio_campana, fecha_fin_campana, categorias_campana
Campos recurrentes (ejemplo)
id_recurrente, importe_recurrente, periodo_recurrente, frecuencia_recurrente, fecha_inicio_recurrente, estado_recurrente
Campos de sitio/metadatos (ejemplo)
url_sitio, nombre_sitio, tipo_evento, timestamp_entrega, id_webhook
Pestaña de prueba/depuración
Envía una carga útil de prueba usando datos reales o de ejemplo e inspecciona el código de respuesta HTTP, el cuerpo de la respuesta y el tiempo de entrega. Esto te permite verificar que tu endpoint está recibiendo datos antes de salir en vivo.
Plantillas de plataforma
Al crear una nueva suscripción, puedes empezar desde una de las ocho plantillas predefinidas. Cada plantilla pre-rellena el disparador de eventos y, cuando procede, añade condiciones predeterminadas sensatas.
| Plantilla | Evento predeterminado | Notas |
|---|---|---|
| Zapier | donacion_creada | Preconfigurado para Webhooks de Zapier Catch Hook |
| Make.com | donacion_creada | Preconfigurado para el módulo Custom Webhook |
| n8n | donacion_creada | Preconfigurado para el nodo Webhook de n8n |
| Pabbly Connect | donacion_creada | Preconfigurado para el disparador webhook de Pabbly |
| HubSpot | donacion_creada | Preconfigurado para el webhook del flujo de trabajo de HubSpot |
| Mailchimp | donacion_creada | Añade la condición de suscripción al boletín de noticias por defecto |
| Slack | donacion_creada | Preconfigurado para Webhooks entrantes de Slack |
| Empezar desde cero | (ninguno) | Control total sobre todos los ajustes |
Entrega de Webhook
Formato de solicitud
Los webhooks se entregan como solicitudes POST HTTP con un cuerpo JSON y las siguientes cabeceras:
| Cabecera | Valor |
|---|---|
Content-Type | application/json |
X-WP-Webhook-Signature | Firma HMAC-SHA256 |
X-WP-Webhook-Event | Identificador del evento (p. ej., donation_created) |
X-WP-Webhook-ID | ID de la publicación de la suscripción |
Verificación de la firma
Cada solicitud incluye una cabecera X-WP-Webhook-Signature. La firma es un HMAC-SHA256 en formato hexadecimal y en minúsculas del cuerpo de la carga útil JSON sin procesar, utilizando la clave secreta de la suscripción como clave.
Para verificar en PHP:
$signature = hash_hmac( 'sha256', $raw_body, $secret_key );
$is_valid = hash_equals( $signature, $received_signature );
Comportamiento de reintento
Las entregas fallidas (respuestas no 2xx o errores de conexión) se reintentan automáticamente utilizando WordPress Action Scheduler. El programa de reintentos utiliza un retroceso exponencial. Después del número máximo de reintentos, la entrega se marca como fallida permanentemente y se registra.
Personalización
CSS
La interfaz de administración de Automation Connect hereda los estilos estándar de Charitable y WordPress. No se genera ningún CSS en el frontend.
Anulaciones de plantillas
Automation Connect no tiene plantillas públicas. Toda la salida son cargas útiles JSON entregadas en el lado del servidor.
Solución de problemas
El webhook no se está entregando
Comprueba lo siguiente en orden: 1. Confirma que la suscripción está guardada y que el tipo de evento coincide con lo que esperas (p. ej., donation_completed, no donation_created). 2. Verifica que la URL del webhook sea accesible públicamente; las URL locales localhost no funcionarán desde un servidor en vivo. 3. Consulta Charitable > Herramientas > Registros para ver los errores de entrega, filtrando por origen charitable-automation-connect.
La carga útil de prueba se envió correctamente, pero los eventos en vivo no se activan
Las condiciones pueden estar filtrando los eventos en vivo. Abre la pestaña Condiciones y revisa cada regla. Deshabilita temporalmente todas las condiciones para confirmar que el webhook se dispara, luego vuelve a agregar las condiciones una por una.
Faltan campos en la carga útil JSON
Desmarca y vuelve a marcar los campos relevantes en la pestaña Carga útil, luego guarda. Los campos añadidos a Charitable a través de plugins de terceros pueden necesitar ser registrados usando el filtro charitable_automation_connect_payload_fields (ver Recursos para desarrolladores).
Aparece un aviso de licencia en el administrador
Automation Connect 2.0 requiere una licencia activa de Charitable Pro en el nivel de plan Pro o superior. Si ves un aviso de licencia, verifica que tu licencia esté activa en Charitable > Ajustes > Licencias y que tu plan sea Pro o superior.
Recursos para desarrolladores
Ganchos y filtros
Carga útil
charitable_automation_connect_payload_fields— Filtra la lista de campos de carga útil disponibles. Úsalo para añadir campos personalizados de tu plugin o tema.charitable_automation_connect_payload— Filtra la matriz de carga útil antes de la entrega. Recibe$payload,$subscription_id,$event.
Eventos
charitable_automation_connect_events— Filtra la lista de eventos de activación disponibles. Añade o elimina definiciones de eventos.charitable_automation_connect_before_deliver— Se activa antes de que se envíe un webhook. Recibe$subscription_id,$event,$payload.charitable_automation_connect_after_deliver— Se dispara después de que se envía un webhook. Recibe$subscription_id,$response,$payload.
Condiciones
charitable_automation_connect_condition_fields— Filtra los campos de condición disponibles. Úsalo para registrar criterios de condición personalizados.
Plantillas
charitable_automation_connect_templates— Filtra la lista de plantillas de plataforma que se muestran en el selector de plantillas. Añade plantillas personalizadas preconfiguradas.
Licencia / Entrega
charitable_automation_connect_delivery_blocked— Filtra si la entrega está bloqueada. Devuelvefalsepara permitir la entrega independientemente del estado de la licencia (útil para pruebas).
Funciones útiles
charitable_automation_connect()— Devuelve la instancia principal del plugin.charitable_automation_connect()->get( 'subscriptions' )— Devuelve la instancia deSubscriptionsRepositorypara consultar suscripciones activas.
Añadir campos de carga útil personalizados
add_filter( 'charitable_automation_connect_payload_fields', function( $fields ) {
$fields['my_custom_field'] = array(
'label' => __( 'My Custom Field', 'my-plugin' ),
'group' => 'donor',
'resolve' => function( $event_data ) {
return get_user_meta( $event_data['donor_user_id'], 'my_meta_key', true );
},
);
return $fields;
} );
Añadir eventos personalizados
add_filter( 'charitable_automation_connect_events', function( $events ) {
$events['my_custom_event'] = array(
'label' => __( 'My Custom Event', 'my-plugin' ),
'group' => 'donations',
'description' => __( 'Fires when my custom condition occurs.', 'my-plugin' ),
);
return $events;
} );





