Skip to content

SCHNITTSTELLE: Anbindung von mailXpert #1224

@olibrian

Description

@olibrian

Aufgrund verschiedener Rückmeldungen prüfen wir eine Schweizer Alternative zu Mailchimp. Nach einer kurzer Recherche (https://wiki.puzzle.ch/Hitobito/NewsletterTool) sind wir auf Mailxpert gestossen. Dies scheint eine gute Option zu sein. Dokumentation der Schnittstelle: https://dev.mailxpert.ch/, Folgende teilte müssen wir in einem ersten Wurf bedienen

Unterschiede Mailchimp

  • Kontakte sind global pro Account (keine Gruppierung unter Liste)
  • keine Batchverarbeitung, sondern paged requests

Anpassungen an MailingLists

  • neue Felder (mailxpert_api_key: string, mailxpert_last_synced_at: datetime, mailxpert_result: string)
  • setzen von mailxpert_api_key via mailing_lists#edit unter eigenem Tab (analog mailchimp)
  • Synchronisieren als eigenes Dropdown (mailxpert und mailchimp) bei der mailing_list actions_show für Personen mit Schreibrechten
  • Mailchimp und mailXpert sektionen beim mailing_lists#show nur einblenden falls auch Werte hinterlegt sind

Anbindung mailXpert

  • neuen Client in domain/synchronize/mailxpert erstellen
  • neuen Synchronizator Klasse in domain/synchronize/mailxpert erstellen
  • ev. anlegen von oder aktualisieren von Custom Fields (je nach einzelnen Feldern oder Liste)
  • synchronisieren von allen Abonnenten der Liste als Kontakt (PUT erwartet alle Felder, PATCH behält Werte)
  • Laden der spezifischen Kontakte für die Liste via CQL parameter bei den contacts
  • error handling vom job in die synchronizator klassen verschieben
  • möglichst einheitlich zw mailchimp und mailXpert, voerst aber keine gemeinsamen klassen
  • Objekte die resusable scheinen in gemeinsamen domain/synchronize namespace verschieben
  • Grosse Klassen vlt aufbrechen
  • Prüfen, wie Tags abgebildet werden könnten

Jobs

  • neuer Job synchronize/mailxpert/sync_job der eine einzelne liste synchronisiert
  • verschieben der mailchimp jobs nach synchronize

Fragen

  • wie die Zuordnung zw Kontakt und Liste machen
    • Array custom field (schwierig alle listen des Kontakts zu ermitteln)
    • custom field pro Liste (wie viele Custom fields sind möglich, gibts da ein limit?)
  • wie umgehen mit additional emails (nicht unique, mailXper emai list unique)
  • mailXpert ID / Kontakt repräsentation bei uns tracken?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions