Mailchimp Integration resp. Schnittstelle


#1

Mailings werden heute oft über Mailchimp oder ähnliche Tools erstellt. Die Datenhoheit soll jedoch bei hitobito bleiben. Hier könnt ihr eure Anforderungen dazu beschreiben.


#2

Eine Integration mit einem Anbieter für Massenversände ist dank zwei neuen Kunden in Planung. Es ist noch nicht sicher, ob die Schnittstelle mit Mailchimp sein wird oder ob man auf einen ähnlichen Anbieter setzt. Z. B. SendGrid

Dokumentation der geplanten Schnittstelle

Entscheide aus dem Kundenworkshop

Im Workshop wurden folgende Entscheide bezüglich der Integration festgehalten:

  • Es gibt nur einen ein unidirektionalen Informationfluss: Hitobito wird eine Mailchimp-Liste mit Kontakten ergänzen, keine Kontaktdaten fliessen zurück zu hitobito
  • Es gibt kein automatisches Management von Mailchimp-Accounts oder Usern. Das heisst: Die Mailchimp-Instanzen werden von den jeweiligen Sektionen bei Bedarf an gestalteten Newslettern selber erstellt, administriert und den berechtigten Personen wird manuell Zugriff gegeben / entzogen etc.
  • Neuanmeldungen für Newsletter und Abmeldungen werden mit den unabhängig zu umsetzenden Registrierungs-Formularen beziehungsweise der hitobito-internen Administration der eigenen Benutzerdaten verwaltet.

Ablauf Integration

Einmalige Konfiguration

In hitobito werden in der jeweiligen Gruppe (Sektion), für die eine Newsletter-Liste geführt werden soll, zusätzliche Daten hinterlegt:

  • Der API-Schlüssel (api key) vom MailChimp-Account
  • Die Listen-ID (list id) von der MailChimp-Liste

Diese beiden Angaben sind in MailChimp gut auffindbar und das genaue Vorgehen wird in einer visuellen Anleitung auch noch dokumentiert.

Nach dieser Angabe ist diese Gruppemit MailChimp verbunden und die Kontaktdaten dieser Gruppe können an die gewählte Liste exportiert werden

Manueller Export

Beim Ansehen der Kontaktdaten wird es neu möglich sein, neben den existierenden Exportmöglichkeiten die Daten auch für MailChimp zu exportieren: Ein Eintrag «MailChimp» im «Export»-Menü löst die entsprechende Funktion aus.

Wenn die Funktion ausgelöst wird, passiert folgendes:

  • Hitobito sendet alle Kontakte der Gruppe (Sektion) an MailChimp (ausschliesslich mit Email-Adressen, Vor- und Nachname)
  • MailChimp wird die Kontakte in die Liste ignorieren, und:
  • bestehende Kontakte ignorieren
  • abgemeldete Kontakte ignorieren
  • neue Kontakte hinzufügen

Diese Export-Funktion führt folgende Komplexitäten ein:

API-Fehler: Bei der Kommunikation mit der API von MailChimp können diverse Fehler auftreten, die gut abgefangen und erklärt werden müssen: Ungültige, fehlende oder abgelaufene API-Schlüssel oder Listen-ID, fehlende Berechtigung für die Liste, Anzahl der erlaubten Kontakte überschritten etc.
Export-Dauer: Je nach Anzahl Kontakten und Auslastung der API könnte der Export einige Zeit dauern. Währenddessen sollte der hitobito-User klar über den Prozess informiert sein.

Optionale Weiterentwicklung: Automatischer periodischer Abgleich

Als weiterführende Option ist angedacht, den manuellen Export zu automatisieren und periodisch im Hintergrund auszuführen. Dafür wäre keine weitere Angabe erforderlich, einzig die einmalige Setzung der Periodizität (1 Tag, 12 Stunden etc.). Der manuelle Export wäre immer noch möglich, um beispielsweise vor einem wichtigen Newsletter oder nach einem Kontaktdaten-Import die Liste unmittelbar zu erneuern.
Der automatische Abgleich führt folgende Komplexitäten ein:
Rate Limiting: Die API von MailChimp hat wohl gewisse Einschränkungen bezüglich der Anzahl an Anfragen, die man in einem gewissen Zeitraum stellen kann. Insbesondere wenn periodisch sehr viele Gruppen mit sehr vielen Kontakten abgeglichen werden, könnte dieses Limit erreicht werden.
Performance: Der Abgleich sollte wohl gestaffelt nach Listen stattfinden, um die Server-Performance nicht auszureizen.