Automation Connect transforme chaque don, événement de campagne ou soumission de formulaire en un déclencheur en temps réel qui envoie des données à n'importe quelle application ou service via des webhooks. Connectez Charitable avec Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect et des milliers d'autres plateformes – aucun développeur requis.
Prérequis : plan Pro/Elite et Charitable Pro 1.8.13+.
Note : Si vous utilisez Charitable Automation 1.x, la documentation est disponible ici.
Fonctionnalités clés (par rapport à la version 1.x)
- Déclenchez des webhooks sur 17 événements de don, de campagne et de don récurrent
- Filtrez les envois avec une logique conditionnelle sur 11 champs de critères (donateur, don, campagne, données du formulaire)
- Personnalisez la charge utile avec plus de 80 champs de données disponibles couvrant les détails du donateur, de la campagne, du don et de la passerelle
- Signez chaque requête sortante avec HMAC-SHA256 pour la sécurité des points de terminaison
- Envoyez des charges utiles de test et inspectez les réponses d'envoi directement depuis l'éditeur
- Démarrez rapidement avec 8 modèles de plateforme pré-construits (Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect et une toile vierge)
- Réessayez automatiquement les envois échoués via WordPress Action Scheduler
- Gérez tous les abonnements depuis un tableau de bord central dans l'administration Charitable
Pourquoi utiliser Automation Connect ?
Charitable Automation Connect remplace la saisie manuelle des données et les intégrations personnalisées ponctuelles par un système de webhook unique et flexible. Au lieu d'écrire du code personnalisé chaque fois que vous souhaitez synchroniser les enregistrements des donateurs, notifier un canal Slack ou ajouter des contacts à un CRM, vous configurez un abonnement une fois et il s'exécute automatiquement à chaque événement correspondant.
Voyez-le en action
Exigences
- Charitable Pro 1.8.13 ou ultérieur
- Licence Charitable Pro active (plan Pro ou supérieur)
- WordPress 6.2 ou ultérieure
- PHP 7.4 ou version ultérieure
Démarrage
Installation et Activation
- Connectez-vous à votre tableau de bord WordPress et allez dans Charitable > Extensions.
- Localisez Automation Connect et cliquez sur Activer.
- Une fois actif, un nouvel élément Automation apparaît dans le menu d'administration Charitable.
Création de votre premier abonnement
- Allez dans Charitable > Automation dans wp-admin.
- Cliquez sur + Ajouter un nouvel abonnement.
- Sélectionnez un modèle de plateforme ou choisissez Démarrer à partir de zéro.
- Configurez l'abonnement dans l'éditeur (voir Utilisation ci-dessous).
- Cliquez sur Enregistrer pour activer l'abonnement.
Utilisation
Éditeur d'abonnement
Chaque abonnement est configuré dans quatre onglets :
Onglet de base
Définissez le nom de l'abonnement, l'URL du webhook cible et l'événement déclencheur.
Événements disponibles — Dons
| Événement | Description |
|---|---|
don_cree | Un nouveau don est soumis |
don_complete | Un don atteint le statut Terminé |
don_annule | Un don est annulé |
don_echoue | Le paiement d'un don échoue |
don_rembourse | Un don est remboursé |
don_en_attente | Un don est défini comme En attente |
don_preapprouve | Un don est pré-approuvé |
Événements disponibles — Campagnes
| Événement | Description |
|---|---|
camp_cree | Une nouvelle campagne est publiée |
camp_maj | Une campagne existante est mise à jour |
camp_termine | Une campagne atteint sa date de fin |
camp_objectif_atteint | Une campagne atteint son objectif de collecte de fonds |
Événements disponibles — Dons récurrents
| Événement | Description |
|---|---|
recu_cree | Un nouveau plan récurrent est créé |
recu_complete | Un paiement récurrent est complété |
recu_annule | Un plan récurrent est annulé |
recu_echoue | Un paiement récurrent échoue |
recu_mis_en_pause | Un plan récurrent est mis en pause |
recu_reprise | Un plan mis en pause reprend |
Onglet Conditions
Ajoutez des règles pour contrôler quand le webhook se déclenche. Toutes les règles d'un groupe utilisent la logique ET ; plusieurs groupes utilisent la logique OU.
Champs de condition disponibles
| Champ | Opérateurs |
|---|---|
montant_don | est, estpas, supérieurà, inférieur_à |
etat_don | est, est_pas |
id_campagne | est, est_pas |
categorie_camp | est, est_pas |
passerelle_paiement | est, est_pas |
pays_donateur | est, est_pas |
email_donateur | est, est_pas, contient |
optin_newsletter | est (oui/non) |
type_don | est (ponctuel, récurrent) |
periode_recu | est, est_pas |
champ_personnalise | est, est_pas, contient |
Onglet Payload
Choisissez exactement quels champs inclure dans la charge utile JSON sortante. Décochez les champs dont vous n'avez pas besoin pour maintenir des charges utiles légères.
Champs du donateur (exemple)
id_donateur, nom_donateur, prenom_donateur, nom_famille_donateur, email_donateur, telephone_donateur, adresse_donateur, ville_donateur, etat_donateur, code_postal_donateur, pays_donateur, total_donne_donateur, nombre_dons_donateur
Champs de dons (exemple)
id_don, montant_don, etat_don, date_don, heure_don, devise_don, passerelle_don, id_transaction_passerelle_don, notes_don, type_don, ids_camp, noms_camp
Champs de campagne (exemple)
campaign_id, campaign_title, campaign_url, campaign_goal, campaign_donated, campaign_percent_raised, campaign_donor_count, campaign_start_date, campaign_end_date, campaign_categories
Champs récurrents (exemple)
recurring_id, recurring_amount, recurring_period, recurring_frequency, recurring_start_date, recurring_status
Champs du site/méta (exemple)
site_url, site_name, event_type, delivery_timestamp, webhook_id
Onglet Test / Débogage
Envoyez une charge utile de test en utilisant des données réelles ou d'exemple et inspectez le code d'état de la réponse HTTP, le corps de la réponse et le délai de livraison. Cela vous permet de vérifier que votre point de terminaison reçoit des données avant la mise en production.
Modèles de plateforme
Lors de la création d'un nouvel abonnement, vous pouvez partir de l'un des huit modèles prédéfinis. Chaque modèle pré-remplit le déclencheur d'événement et, le cas échéant, ajoute des conditions par défaut raisonnables.
| Modèle | Événement par défaut | Remarques |
|---|---|---|
| Zapier | don_cree | Préconfiguré pour Webhooks by Zapier Catch Hook |
| Make.com | don_cree | Préconfiguré pour le module Webhook personnalisé |
| n8n | don_cree | Préconfiguré pour le nœud Webhook n8n |
| Pabbly Connect | don_cree | Préconfiguré pour le déclencheur webhook Pabbly |
| HubSpot | don_cree | Préconfiguré pour le webhook du workflow HubSpot |
| Mailchimp | don_cree | Ajoute une condition d'opt-in à la newsletter par défaut |
| Slack | don_cree | Préconfiguré pour les Webhooks entrants Slack |
| Commencer à partir de zéro | (aucun) | Contrôle total sur tous les paramètres |
Livraison de webhook
Format de la requête
Les webhooks sont livrés sous forme de requêtes HTTP POST avec un corps JSON et les en-têtes suivants :
| En-tête | Valeur |
|---|---|
Content-Type | application/json |
X-WP-Webhook-Signature | Signature HMAC-SHA256 |
X-WP-Webhook-Event | Clé d'événement (par ex. donation_created) |
X-WP-Webhook-ID | ID de l'article de l'abonnement |
Vérification de la signature
Chaque requête inclut un en-tête X-WP-Webhook-Signature. La signature est un HMAC-SHA256 hexadécimal en minuscules du corps de la charge utile JSON brute, indexé avec la clé secrète de l'abonnement.
Pour vérifier en PHP :
$signature = hash_hmac( 'sha256', $raw_body, $secret_key );
$is_valid = hash_equals( $signature, $received_signature );
Comportement de nouvelle tentative
Les livraisons échouées (réponses non 2xx ou erreurs de connexion) sont retentées automatiquement à l'aide de l'Action Scheduler de WordPress. Le calendrier de nouvelle tentative utilise une exponentielle de décélération. Après le nombre maximum de nouvelles tentatives, la livraison est marquée comme définitivement échouée et enregistrée.
Personnalisation
CSS
L'interface d'administration d'Automation Connect hérite des styles d'administration standard de Charitable et WordPress. Aucun CSS frontal n'est généré.
Remplacement de modèles
Automation Connect n'a pas de modèles publics. Toutes les sorties sont des charges utiles JSON livrées côté serveur.
Dépannage
Le webhook n'est pas livré
Vérifiez les points suivants dans l'ordre : 1. Confirmez que l'abonnement est enregistré et que le type d'événement correspond à ce que vous attendez (par ex. donation_completed, pas donation_created). 2. Vérifiez que l'URL du webhook est accessible publiquement — les URL localhost locales ne fonctionneront pas depuis un serveur en direct. 3. Vérifiez dans Charitable > Outils > Journaux les erreurs de livraison, en filtrant par source charitable-automation-connect.
La charge utile de test a été envoyée avec succès mais les événements en direct ne se déclenchent pas
Les conditions peuvent filtrer les événements en direct. Ouvrez l'onglet Conditions et examinez chaque règle. Désactivez temporairement toutes les conditions pour confirmer que le webhook se déclenche, puis réajoutez les conditions une par une.
Des champs de charge utile sont manquants dans le JSON
Décochez et recochez les champs pertinents dans l'onglet Charge utile, puis enregistrez. Les champs ajoutés à Charitable via des plugins tiers peuvent nécessiter d'être enregistrés à l'aide du filtre charitable_automation_connect_payload_fields (voir Ressources pour les développeurs).
Un avis de licence apparaît dans l'administration
Automation Connect 2.0 nécessite une licence Charitable Pro active au niveau du plan Pro ou supérieur. Si vous voyez un avis de licence, vérifiez que votre licence est active dans Charitable > Paramètres > Licences et que votre plan est Pro ou supérieur.
Ressources pour les développeurs
Accroches et filtres
Charge utile
charitable_automation_connect_payload_fields— Filtre la liste des champs de charge utile disponibles. Utilisez ceci pour ajouter des champs personnalisés de votre plugin ou thème.charitable_automation_connect_payload— Filtre le tableau de charge utile avant la livraison. Reçoit$payload,$subscription_id,$event.
Événements
charitable_automation_connect_events— Filtre la liste des événements de déclenchement disponibles. Ajoutez ou supprimez des définitions d'événements.charitable_automation_connect_before_deliver— Se déclenche avant l'envoi d'un webhook. Reçoit$subscription_id,$event,$payload.charitable_automation_connect_after_deliver— Se déclenche après l’envoi d’un webhook. Reçoit$subscription_id,$response,$payload.
Conditions
charitable_automation_connect_condition_fields— Filtre les champs de condition disponibles. Utilisez ceci pour enregistrer des critères de condition personnalisés.
Modèles
charitable_automation_connect_templates— Filtre la liste des modèles de plateforme affichés dans le sélecteur de modèles. Ajoutez des modèles préconfigurés personnalisés.
Licence / Livraison
charitable_automation_connect_delivery_blocked— Filtre si la livraison est bloquée. Retournezfalsepour autoriser la livraison quel que soit l’état de la licence (utile pour les tests).
Fonctions utiles
charitable_automation_connect()— Retourne l’instance principale du plugin.charitable_automation_connect()->get( 'subscriptions' )— Retourne l’instanceSubscriptionsRepositorypour interroger les abonnements actifs.
Ajout de champs de charge utile personnalisés
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;
} );
Ajout d’événements personnalisés
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;
} );





