Automation Connect verwandelt jede Spende, jede Kampagnenveranstaltung oder jede Formularübermittlung in einen Echtzeit-Trigger, der Daten über Webhooks an jede App oder jeden Dienst sendet. Verbinden Sie Charitable mit Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect und Tausenden anderer Plattformen – ganz ohne Entwickler.
Voraussetzungen: Pro/Elite-Plan und Charitable Pro 1.8.13+.
Hinweis: Wenn Sie Charitable Automation 1.x verwenden, finden Sie die Dokumentation hier.
Hauptfunktionen (im Vergleich zur 1.x-Version)
- Löst Webhooks bei 17 Spenden-, Kampagnen- und wiederkehrenden Spendenereignissen aus
- Filtert Übermittlungen mit bedingter Logik anhand von 11 Kriterienfeldern (Spender, Spende, Kampagne, Formulardaten)
- Passt die Nutzlast mit über 80 verfügbaren Datenfeldern an, die Spender-, Kampagnen-, Spenden- und Gateway-Details abdecken
- Signiert jede ausgehende Anfrage mit HMAC-SHA256 für Endpunktsicherheit
- Sendet Test-Nutzlasten und prüft Übermittlungsantworten direkt aus dem Editor
- Schneller Start mit 8 vorgefertigten Plattformvorlagen (Zapier, Make.com, Slack, HubSpot, Mailchimp, n8n, Pabbly Connect und eine leere Leinwand)
- Wiederholt fehlgeschlagene Übermittlungen automatisch über den WordPress Action Scheduler
- Verwalten Sie alle Abonnements von einem zentralen Dashboard im Charitable-Admin.
Warum Automation Connect verwenden?
Charitable Automation Connect ersetzt manuelle Dateneingabe und einmalige benutzerdefinierte Integrationen durch ein einziges, flexibles Webhook-System. Anstatt jedes Mal benutzerdefinierten Code zu schreiben, wenn Sie Spenderdatensätze synchronisieren, einen Slack-Kanal benachrichtigen oder Kontakte zu einem CRM hinzufügen möchten, konfigurieren Sie ein Abonnement einmal und es wird bei jedem passenden Ereignis automatisch ausgeführt.
Sehen Sie es in Aktion
Voraussetzungen
- Charitable Pro 1.8.13 oder neuer
- Aktive Charitable Pro-Lizenz (Pro-Plan oder höher)
- WordPress 6.2 oder neuer
- PHP 7.4 oder neuer
Erste Schritte
Installation und Aktivierung
- Melden Sie sich bei Ihrem WordPress-Dashboard an und gehen Sie zu Charitable > Extensions.
- Suchen Sie Automation Connect und klicken Sie auf Activate.
- Nach der Aktivierung erscheint ein neuer Menüpunkt Automation im Charitable-Admin-Menü.
Erstellen Ihres ersten Abonnements
- Gehen Sie zu Charitable > Automation in wp-admin.
- Klicken Sie auf + Add New Subscription.
- Wählen Sie eine Plattformvorlage oder wählen Sie Start from scratch.
- Konfigurieren Sie das Abonnement im Editor (siehe Verwendung unten).
- Klicken Sie auf Save, um das Abonnement zu aktivieren.
Nutzung
Abonnement-Editor
Jedes Abonnement wird über vier Tabs konfiguriert:
Basis-Tab
Legen Sie den Namen des Abonnements, die Ziel-Webhook-URL und das Auslöserereignis fest.
Verfügbare Ereignisse — Spenden
| Ereignis | Beschreibung |
|---|---|
Spende erstellt | Eine neue Spende wird eingereicht |
Spende abgeschlossen | Eine Spende erreicht den Status „Abgeschlossen“ |
Spende abgebrochen | Eine Spende wird storniert |
Spende fehlgeschlagen | Eine Spende schlägt fehl |
Spende zurückerstattet | Eine Spende wird zurückerstattet |
Spende ausstehend | Eine Spende wird auf „Ausstehend“ gesetzt |
Spende vorab genehmigt | Eine Spende wird vorab genehmigt |
Verfügbare Ereignisse — Kampagnen
| Ereignis | Beschreibung |
|---|---|
Kampagne erstellt | Eine neue Kampagne wird veröffentlicht |
Kampagne aktualisiert | Eine bestehende Kampagne wird aktualisiert |
Kampagne beendet | Eine Kampagne erreicht ihr Enddatum |
Kampagnenziel erreicht | Eine Kampagne erreicht ihr Spendenziel |
Verfügbare Ereignisse — Wiederkehrende Spenden
| Ereignis | Beschreibung |
|---|---|
Wiederkehrende Spende erstellt | Ein neuer wiederkehrender Plan wird erstellt |
Wiederkehrende Spende abgeschlossen | Eine wiederkehrende Zahlung wird abgeschlossen |
Wiederkehrende Spende abgebrochen | Ein wiederkehrender Plan wird storniert |
wiederkehrend_fehlgeschlagen | Eine wiederkehrende Zahlung schlägt fehl |
wiederkehrend_pausiert | Ein wiederkehrender Plan ist pausiert |
wiederkehrend_fortgesetzt | Ein pausierter Plan wird fortgesetzt |
Bedingungen-Tab
Fügen Sie Regeln hinzu, um zu steuern, wann der Webhook ausgelöst wird. Alle Regeln innerhalb einer Gruppe verwenden AND-Logik; mehrere Gruppen verwenden OR-Logik.
Verfügbare Bedingungsfelder
| Feld | Operatoren |
|---|---|
spendenbetrag | ist, istnicht, größerals, kleiner_als |
spendenstatus | ist, ist_nicht |
campaign_id | ist, ist_nicht |
kampagnenkategorie | ist, ist_nicht |
zahlungsanbieter | ist, ist_nicht |
spenderland | ist, ist_nicht |
spendere-mail | ist, ist_nicht, enthält |
Newsletter-Opt-in | ist (ja/nein) |
spendentyp | ist (einmalig, wiederkehrend) |
wiederkehrende_periode | ist, ist_nicht |
benutzerdefiniertes_feld | ist, ist_nicht, enthält |
Payload-Tab
Wählen Sie genau aus, welche Felder in die ausgehende JSON-Payload aufgenommen werden sollen. Deaktivieren Sie Felder, die Sie nicht benötigen, um Payloads schlank zu halten.
Spenderfelder (Beispiel)
spender_id, spender_name, spender_vorname, spender_nachname, spender_email, spender_telefon, spender_adresse, spender_stadt, spender_bundesland, spender_postleitzahl, spender_land, spender_gesamtspende, spender_spendenanzahl
Spendenfelder (Beispiel)
donation_id, donation_amount, donation_status, donation_date, donation_time, donation_currency, donation_gateway, donation_gateway_transaction_id, donation_notes, donation_type, campaign_ids, campaign_names
Kampagnenfelder (Beispiel)
campaign_id, campaign_title, campaign_url, campaign_goal, campaign_donated, campaign_percent_raised, campaign_donor_count, campaign_start_date, campaign_end_date, campaign_categories
Wiederkehrende Felder (Beispiel)
recurring_id, recurring_amount, recurring_period, recurring_frequency, recurring_start_date, recurring_status
Seiten-/Meta-Felder (Beispiel)
site_url, site_name, event_type, delivery_timestamp, webhook_id
Test-/Debug-Tab
Senden Sie eine Test-Payload mit echten oder Beispieldaten und überprüfen Sie den HTTP-Antwortcode, den Antwortkörper und die Lieferzeit. So können Sie überprüfen, ob Ihr Endpunkt Daten empfängt, bevor Sie live gehen.
Plattformvorlagen
Beim Erstellen eines neuen Abonnements können Sie mit einer von acht vorgefertigten Vorlagen beginnen. Jede Vorlage füllt den Ereignisauslöser vorab aus und fügt, wo zutreffend, sinnvolle Standardbedingungen hinzu.
| Vorlage | Standardereignis | Notizen |
|---|---|---|
| Zapier | Spende erstellt | Vorkonfiguriert für Webhooks von Zapier Catch Hook |
| Make.com | Spende erstellt | Vorkonfiguriert für das benutzerdefinierte Webhook-Modul |
| n8n | Spende erstellt | Vorkonfiguriert für den n8n Webhook-Knoten |
| Pabbly Connect | Spende erstellt | Vorkonfiguriert für den Pabbly Webhook-Trigger |
| HubSpot | Spende erstellt | Vorkonfiguriert für den HubSpot Workflow-Webhook |
| Mailchimp | Spende erstellt | Fügt standardmäßig eine Newsletter-Opt-in-Bedingung hinzu |
| Slack | Spende erstellt | Vorkonfiguriert für Slack Incoming Webhooks |
| Von Grund auf neu starten | (keine) | Volle Kontrolle über alle Einstellungen |
Webhook-Zustellung
Anfrageformat
Webhooks werden als HTTP POST-Anfragen mit einem JSON-Body und den folgenden Headern geliefert:
| Header | Wert |
|---|---|
Content-Type | application/json |
X-WP-Webhook-Signature | HMAC-SHA256-Signatur |
X-WP-Webhook-Event | Event-Slug (z.B. donation_created) |
X-WP-Webhook-ID | Abonnement-Post-ID |
Signaturüberprüfung
Jede Anfrage enthält einen X-WP-Webhook-Signature-Header. Die Signatur ist ein HMAC-SHA256 in Kleinbuchstaben-Hexadezimaldarstellung des rohen JSON-Payload-Bodys, der mit dem geheimen Schlüssel des Abonnements verschlüsselt ist.
Zur Überprüfung in PHP:
$signature = hash_hmac( 'sha256', $raw_body, $secret_key );
$is_valid = hash_equals( $signature, $received_signature );
Wiederholungsverhalten
Fehlgeschlagene Zustellungen (Nicht-2xx-Antworten oder Verbindungsfehler) werden automatisch mit dem WordPress Action Scheduler erneut versucht. Der Wiederholungszeitplan verwendet exponentielle Rückschaltung. Nach der maximalen Anzahl von Wiederholungsversuchen wird die Zustellung als dauerhaft fehlgeschlagen markiert und protokolliert.
Anpassung
CSS
Die Admin-Benutzeroberfläche von Automation Connect übernimmt die Standardstile von Charitable und WordPress. Es wird kein Frontend-CSS ausgegeben.
Vorlagenüberschreibungen
Automation Connect hat keine öffentlich zugänglichen Vorlagen. Alle Ausgaben sind JSON-Payloads, die serverseitig geliefert werden.
Fehlerbehebung
Webhook wird nicht zugestellt
Überprüfen Sie die folgenden Punkte in dieser Reihenfolge: 1. Bestätigen Sie, dass das Abonnement gespeichert ist und der Ereignistyp mit dem erwarteten übereinstimmt (z.B. donation_completed, nicht donation_created). 2. Überprüfen Sie, ob die Webhook-URL öffentlich zugänglich ist – lokale localhost-URLs funktionieren von einem Live-Server aus nicht. 3. Überprüfen Sie unter Charitable > Tools > Logs auf Zustellungsfehler, filtern Sie nach der Quelle charitable-automation-connect.
Test-Payload erfolgreich gesendet, aber Live-Events werden nicht ausgelöst
Bedingungen filtern möglicherweise Live-Events heraus. Öffnen Sie den Tab Bedingungen und überprüfen Sie jede Regel. Deaktivieren Sie vorübergehend alle Bedingungen, um zu bestätigen, dass der Webhook ausgelöst wird, und fügen Sie dann die Bedingungen einzeln wieder hinzu.
Payload-Felder fehlen im JSON
Deaktivieren und reaktivieren Sie die entsprechenden Felder im Tab Payload und speichern Sie dann. Felder, die über Plugins von Drittanbietern zu Charitable hinzugefügt wurden, müssen möglicherweise mit dem Filter charitable_automation_connect_payload_fields registriert werden (siehe Entwicklerressourcen).
Lizenzhinweis wird im Admin angezeigt
Automation Connect 2.0 erfordert eine aktive Charitable Pro-Lizenz auf der Pro-Plan-Stufe oder höher. Wenn Sie einen Lizenzhinweis sehen, überprüfen Sie, ob Ihre Lizenz unter Charitable > Einstellungen > Lizenzen aktiv ist und Ihr Plan Pro oder höher ist.
Entwicklerressourcen
Hooks und Filter
Payload
charitable_automation_connect_payload_fields— Filtert die Liste der verfügbaren Payload-Felder. Verwenden Sie dies, um benutzerdefinierte Felder aus Ihrem Plugin oder Theme hinzuzufügen.charitable_automation_connect_payload— Filtert das Payload-Array vor der Zustellung. Empfängt$payload,$subscription_id,$event.
Veranstaltungen
charitable_automation_connect_events— Filtert die Liste der verfügbaren Trigger-Events. Fügt Ereignisdefinitionen hinzu oder entfernt sie.charitable_automation_connect_before_deliver— Wird ausgelöst, bevor ein Webhook gesendet wird. Empfängt$subscription_id,$event,$payload.charitable_automation_connect_after_deliver— Löst aus, nachdem ein Webhook gesendet wurde. Empfängt$subscription_id,$response,$payload.
Bedingungen
charitable_automation_connect_condition_fields— Filtert verfügbare Bedingungsfelder. Verwenden Sie dies, um benutzerdefinierte Bedingungskriterien zu registrieren.
Vorlagen
charitable_automation_connect_templates— Filtert die Liste der Plattformvorlagen, die im Vorlagenauswahl angezeigt werden. Fügen Sie benutzerdefinierte, vorkonfigurierte Vorlagen hinzu.
Lizenz / Zustellung
charitable_automation_connect_delivery_blocked— Filtert, ob die Zustellung blockiert ist. Geben Siefalsezurück, um die Zustellung unabhängig vom Lizenzstatus zuzulassen (nützlich zum Testen).
Nützliche Funktionen
charitable_automation_connect()— Gibt die Hauptinstanz des Plugins zurück.charitable_automation_connect()->get( 'subscriptions' )— Gibt dieSubscriptionsRepository-Instanz zum Abfragen aktiver Abonnements zurück.
Hinzufügen benutzerdefinierter Payload-Felder
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;
} );
Hinzufügen benutzerdefinierter Ereignisse
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;
} );





