Integration von Twingle in CiviCRM

Einleitung

Twingle ist ein Zahlungsdienstleister, der es sehr einfach ermöglicht, moderne Spendenformulare mit diversen Zahlungsmöglichkeiten zu erstellen und auf Websites einzubetten. Außerdem unterstützt Twingle Spendenaktionen, bei denen Dritte in Form eigener Aktionen Spenden für eine Organisation sammeln können.

Twingle API

Twingle lässt sich über die Erweiterung Twingle API mit CiviCRM verbinden. Die Anbindung von Twingle an CiviCRM bringt einige Möglichkeiten mit sich:

  • Zuwendungen können automatisch in CiviCRM angelegt und
    • bestehenden oder neuen Kontakten zugeordnet werden
    • abhängig von der Zahlungsart als abgeschlossen oder offen deklariert werden
  • Es können SEPA-Mandate für einmalige und wiederkehrende Zahlungen angelegt werden
  • Kampagnen können für Zuwendungen, Kontakte, SEPA-Mandate und Mitgliedschaften gesetzt werden
  • Spender*innen können in Gruppen für Newsletter, Postsendungen und Zuwendungsbescheinigungen eingetragen werden
    • bei Newsletter-Gruppen mit optionalem Double-Opt-In
  • Mitgliedschaften können eingerichtet werden
  • Werte können in benutzerdefinierte Felder eingetragen werden

Voraussetzungen

Installation

  1. Neustes Twingle API Release in den Erweiterungsordner von CiviCRM herunterladen und entpacken
  2. Die Erweiterung in CiviCRM installieren (Administration → Systemeinstellungen → Erweiterungen)

Einrichtung

  1. Im TwingleMANAGER müssen unter Einstellungen → Allgemein → CRM: CiviCRM die URL (z.B. https://meine-domain.de/sites/all/modules/civicrm/extern/rest.php), ein API-Key und der Site-Key hinterlegt werden. (Hilfeseite von Twingle)
  2. Unter Administration→ Verwaltungskonsole → Twingle API Configuration → Configure extension settings kann optional die Verwendung von CiviSEPA aktiviert werden.
  3. Unter Administration→ Verwaltungskonsole → Twingle API Configuration können Profile für einzelne Projekte (Spendenformulare) erstellt werden. Hierzu benötigt man die Projekt-ID, die sich im TwingleMANAGER im jeweiligen Projekt unter Kontaktdaten & Einbindung → CRM: CiviCRM findet und nach dem Muster „tw6cb96c6b52b7c" aufgebaut ist. Kann einer eingehenden Zahlungen kein Profil zugeordnet werden, wird automatisch das Default-Profil verwendet.
  4. Aufgrund eines derzeit noch nicht behobenen Fehlers kann es dazu kommen, dass vorhandene Adressdaten von Kontakten mit einer Adresse überschrieben werden, die lediglich das Land enthält. Um dies zu verhindern, sollte ein XCM-Profil erstellt und in den Twingle-API-Profilen verwendet werden, in dem die Option „Change Primary Detail?" nicht aktiviert ist. Dies kann allerdings dazu führen, dass die Kontaktdaten einer Person nicht gespeichert werden, wenn diese einmal ohne und dann einmal mit der Angabe von Adressdaten spendet.

Nutzung

  • Die Eigenschaften der Twingle-Spendenformulare können imTwingleMANAGER eingestellt werden. Auch die Einbettungscodes finden sich dort.
  • Die Verarbeitung der Zahlungen als Zuwendungen in CiviCRM kann über die Profile der Twingle API Erweiterung konfiguriert werden. Tipp: Dasselbe Profil kann für mehrere Projekte verwendet werden, indem im Profil mehrere Projekt-IDs als kommagetrennte Liste eingetragen werden.
  • Weitere Felder können in Absprache mit dem Twingle-Support von Twingle mit übertragen werden. Die übertragenen Werte können in den Twigle-API-Profilen mit benutzerdefinierten Feldern in CiviCRM verknüpft werden. Beispielsweise könnte man um die zusätzliche Übermittlung der Event-ID von Spendenaktionen bitten und diese mit einem benutzerdefinierten Feld „Spendenaktions-ID" einer Zuwendung verknüpfen, um einzelne Zuwendungen mit Spendenaktionen zu assoziieren.

TwingleCampaign

Die Erweiterung Twingle Campaign erweitert die Möglichkeiten der Twingle-API-Erweiterung indem sie Twingle-Spendenformulare als Kampagnen in CiviCRM abbildet.

  • Spendenformulare können in CiviCRM angelegt und bearbeitet werden
  • Dasselbe Spendenformular kann für mehrere Unterkampagnen genutzt werden, wodurch Zuwendungen z.B. einzelnen Newslettern oder Social-Media-Posts zugeordnet werden können
  • Spendenaktionen von Dritten werden automatisch als Unterkampagnen in CiviCRM angelegt
    • Initiator*innen der Spendenaktionen werden bestehenden Kontakten zugeordnet oder neu erstellt
    • Initiator*innen können Soft-Credits für die von ihnen gesammelten Spenden erhalten
    • Für Initiator*innen können Fälle definiert und ausgelöst werden

Bei dieser Extension handelt es sich um ein Projekt aus der deutschen CiviCRM Community. Die Maintainer freuen sich über gemeldete Fehler, Anregungen und Hilfe bei der Weiterentwicklung.

Voraussetzungen

Installation

  • Neustes TwingleCampaignRelease in den Erweiterungsordner von CiviCRM herunterladen und entpacken
  • Die Erweiterung in CiviCRM installieren (Administration → Systemeinstellungen → Erweiterungen)
  • Im Erweiterungsmenü die angezeigten Datenbankupdates durchführen

_ Einrichtung _

  1. Ein neues XCM-Profil erstellen, das zum Zuordnen oder Anlegen von Initiator*innen von Spendenaktionen verwendet werden soll
  • Fill Fields: Vorname, Nachname
  • Fill Details: Email
  1. Das XCM-Profil in der Twingle Campaign Konfiguration auswählen
    (Administration→ Verwaltungskonsole → Twingle Campaign Konfiguration)
  2. Den Twingle-API-Schlüssel in der Twingle Campaign Konfiguration eintragen
  3. Optional: In der Twingle Campaign Konfiguration kann ein Default-Fall ausgewählt werden, der für die Initiator*innen von Spendenaktionen ausgelöst wird. Der Default-Fall wird von der Einstellung in den jeweiligen Kampagnen überschrieben.
  4. Optional: Den Synchronisationsintervall der Twingle-Projekte und Events unter Administration → Systemeinstellungen → Geplante Jobs → TwingleSync → Bearbeiten auf den gewünschten Wert einstellen (der Default ist „stündlich").

Nutzung

  • Im Kampagnenmanager können neue Spendenformulare angelegt werden, indem eine Kampagne mit dem Kampagnentyp „Twingle Project" angelegt wird. Dort lassen sich einige Attribute des Spendenformulars einstellen.
    • Änderungen die an einem Formular im TwingleMANAGER vorgenommen werden, brauche ggf. eine Weile um zu CiviCRM synchronisiert zu werden.
    • Die URL eines Spendenformulars kann gesetzt werden, damit auch Unterkampagnen zur Zuordnung von Spenden auf dasselbe Formular verweisen können.
    • Spendenformulare lassen sich mit allen ihren Werten klonen.
      Kampagne ansehen → Actions → Kampagne klonen
    • Bei Spendenformularen, die Spendenaktionen (Events) haben können, kann ein Fall ausgewählt werden, der für die Initiator*innen ausgelöst werden soll. Dieser überschreibt den in der Twingle Campaign Konfiguration ausgewählten Default-Fall.
  • Spendenaktionen lassen sich im Kampagnenmanager nicht anlegen, da diese nur über ein Spendenformular angelegt werden können. Sie erscheinen im Kampagnenmanager jedoch als Unterkampagnen vom Typ „Twingle Event".
  • Für jedes Spendenformular (Twingle Project) kann eine unbegrenzte Zahl von „Tracking"-Kampagnen (Twingle Campaign) angelegt werden, die die Zuordnung von Spenden beispielsweise zu Newslettern oder Social-Media-Posts ermöglichen. „Twingle Campaigns" müssen immer als Unterkampagne eines „Twingle Projects" angelegt werden (aber nicht unbedingt als direkte Unterkampagne).
  • Während in CiviCRM angelegte Spendenformulare zu Twingle synchronisiert werden und umgekehrt, werden gelöschte Formulare aus Sicherheitsgründen nicht auch automatisch auf der anderen Seite gelöscht. Um Spendenformulare zu löschen, müssen diese manuell sowohl in CiviCRM als auch im TwingleMANAGER gelöscht werden.

4 „Gefällt mir“

Danke für die gute Doku! Die Einbindung ist leichter als gedacht. Ich glaube es ist ein wenig Aufwand, sich in die dann neue Kampagnenstruktur einzuarbeiten. Aber man bekommt dadurch eine Möglichkeit, Spendenformulare online ziemlich einfach einzubetten und die Spenden auf die einzelnen Formulare einfach zu bewerten, zu gliedern und auszuwerten.

Ein Tipp für alle, die mit der Twingle-Terminologie (Project, Event) Probleme haben:

Die von der Twingle Campaign Erweiterung verwendeten Kampagnennamen sind ursprünglich der API-Dokumentation von Twingle entnommen. Natürlich lassen sich diese aber auch umbenennen (Administration → CiviCampaign → Kampagnentypen → bearbeiten), um sie etwas aussagekräftiger zu machen.

Default Kampagnenname Vorschlag zur Umbenennung
Twingle Project Twingle Spendenformular
Twingle Event Twingle Spendenaktion
Twingle Campaign Twingle Tracking-Link

Die Umbenennung hat keine Auswirkung auf die Funktionalität.

1 „Gefällt mir“

Wer die Twingle-Einbindung gerne auf einem Testsystem ausprobieren will, kann mit dieser Sammlung von API-Calls für Postman viele Interaktionen mit dem Twingle-Server simulieren.

1 „Gefällt mir“

Bei uns mussten keine manuellen Datenbankupdates durchgeführt werden. Wir vermuten, dass neuerdings beim Installieren der Erweiterung automatisch das Datenbankupdate durchgeführt wird.

1 „Gefällt mir“

Dieser Bug wurde mittlerweile behoben.

Hi Marc,

vielen Dank für die tolle und vor allem gut dokumentierte Extension!

Gibt es irgendwo eine Übersicht der minimal benötigten Berechtigungen für den Zugriff von Twingle per API auf eine Drupal-basierte CiviCRM-Instanz? Genügt es, die Berechtigung „CiviCRM: access CiviCRM Backend und API“ zu setzen, oder wird auch „CiviCRM: access AJAX API“ benötigt? Werden irgendwelche anderen Berechtigungen benötigt, z. B. „CiviCRM: Kontaktübersicht“?

Vielen Dank!

Viele Grüße
Daniel

Hallo,
ich benötige Hilfe bei der Integration von Twingle in CiviCRM
Der Drupal-Standardpfad existiert bei uns nicht (sites/all/modules/…)
Da wir eine Neuinstallation haben, nutzen wir Drupal 9.4.5, und da sind die Pfade nicht zu finden.
Die Restful Web-Services und Json-API sind in Drupal installiert, in CiviCRM sind die API-Keys und Site-Key angelegt und einem User zugeordnet.
Kann jemand einen Tip geben?
Viele Grüße

Hallo @ank_2022,

wenn Du mindestens auf der CiviCRM-Version 5.47 bist, lässt sich die legacy Authentifizierung authx (API- & Site-Key) mittels cv ext:enable authx aktivieren.

Mehr dazu findest Du hier:

Im TwingleMANAGER musst Du dann natürlich den Ajax-Endpunkt angeben. Falls Du CiviProxy nutzt, muss der Ajax-Endpunkt stattdessen natürlich dort in der Konfigurationsdatei eingestellt werden.

Ich hoffe, das hilft Dir!

1 „Gefällt mir“

Danke, das hilft mir weiter. Die Doku sollte auf die unterschiedlichen Endpoints verweisen je nach genutzter Version der API.
Viele Grüße!

Möglicherweise Interessant für Neulinge (wie auch ich noch einer bin).

Ich habe einen kleinen Importer geschrieben für alle, die schon bestehende Twingle-Daten in ein neues CiviCRM importieren wollen: Alte Daten aus Twingle importieren!

Bei uns funktioniert leider die Newsletteranmeldung nicht richtig. Anmeldungen zum Newsletter werden zwar von Twingle regisiriert. werden aber nicht in die im Twingle API-Profil hinterlegte Gruppe übertragen.
Dadurch muss ich immer über ein CSV Export gehen, aber das muss doch auch anders funktionieren oder?

Hallo @s.stuerzebecher,

ich habe es gerade nochmal kontrollliert; bei uns funktioniert das Hinzufügen in die Newsletter-Gruppe ohne Probleme. Kannst Du einen Screenshot der Newsletter-Einstellungen des Twingle-Profils machen? Und einen von den Einstellungen der Newsletter-Gruppe?

Hallo @Marc_Michalsky, danke für deine schnelle Rückeldung. Ich habe dir hier mal die Screenshots der Einstellungen beigefügt. :slight_smile:


Hallo @s.stuerzebecher,

die Einstellungen sehen okay aus. Allerdings hast Du die Option „Nutze Double-Opt-In für Newsletter“ angekreuzt (was wir auch haben). Dies sorgt dafür, dass die Kontakte der Gruppe mit dem Status „Pending“ hinzugefügt werden, bis sie auf den Bestätigungslink in der DOI-E-Mail (aus CiviCRM) klicken. Wenn Euer CiviCRM allerdings gar keine Mails verschickt, werden sie der Gruppe nie richtig hinzugefügt werden können. Könnte es daran liegen?

  • Du könntest mal ausprobieren, mit einer Test-Spende einen Newsletter zu abonnieren. Wenn Du keine Mail bekommst, dann ist das ein Problem.
  • Du kannst mal schauen, ob der Newsletter-Gruppe Kontakte mit dem Status „Pending“ hinzugefügt wurden.

LG
Marc

Hallo @Marc_Michalsky
Ich habe es mehrfach getestet. Twingle registriert auch die Newsletteranmeldung erst vollständig nach double opt in aber schiebt die EMailadresse nicht in die Newslettergruppe.

Wir die Mail mit dem Bestätigungslink bei euch übers CRM verschickt? Bei uns läuft diese über Twingle.

Liebe Grüße,
Sebastian

Hi @s.stuerzebecher,

ist Twingle für das Versenden des DOIs zuständig, wird die erteile Einwilligung leider nicht an CiviCRM weitergegeben. Früher war es sogar so, dass die Newsletter-Subscription in CiviCRM gelandet ist, ganz egal ob der DOI-Link angeklickt wurde oder nicht. Deswegen hatte ich den DOI über CiviCRM implementiert.

Es kann sein, dass Twingle das umgestellt hat und keine Newsletter-Subscription mehr an CiviCRM überträgt, solange der DOI nicht angeklickt wurde.

Wenn man den DOI über CiviCRM nutzt, sollte man ihn in Twingle deaktivieren.

Hallo @Marc_Michalsky,

ich habe nun das Double Opt In bei Twingle ausgeschaltet und es im CRM angelassen. Im CRM kommt die Anmeldung leider immernoch nicht an in Twingle wird die Anmeldung auch ohne DOI regsitriert.

Vielen Dank für deine Hilfe. Leider klappt es dennoch nicht.

Hallo zusammen,
wir haben jetzt eine Lösung gefunden. Bei uns wird der Newsletter nach Abschluss der Spende abgefragt. Twingle kommuniziert aber nur unmittelbar nach der Spende mit dem CRM. Dadurch wird die Spende übertragen, die Newseltteranmeldung aber nicht. Durch eine Verzögerung der Übertragung, die man in Twingle einstellen kann, wird auch der Newsletter übertragen.
→ Falls bei anderen das Problem auch auftreten sollte, kann die Einstellung für die Verzögerung helfen.
@Marc_Michalsky vielen Dank für deine Hilfe und das Köpfe zusammenstecken. :slight_smile:

1 „Gefällt mir“

Ahhh, daran hatte ich nicht gedacht. Das Feature wurde von Twingle irgendwann hinzugefügt und wir sind einfach auf der voreingestellten Verzögerung geblieben, weil die für uns immer gut funktioniert hat.

Danke für die Rückmeldung @s.stuerzebecher!