MailChimp API in TYPO3
Ressourcen
Kommunikation mit MailChimp
Die API Calls
In den Ressourcen der API Dokumentation steht der genaue Aufbau für eine Anfrage an eine Ressource.
Für eine erste Version haben wir eine denkbar schlanke Implementierung umgesetzt.
Es gibt eine zentrale generische Methode call, die durch ihre Parameter den Zugriff auf die API von MailChimp ermöglicht.
protected function call($ressource, $type, $params = array(), $url_params = '')
Die einzelnen Anfragen an die MailChimp API sehen dann beispielsweise für die Campaigns (Lies: Newsletter) so aus:
$this->call('campaigns', 'GET', NULL, '?sort_field=send_time&sort_dir=DESC')
- $ressource = campaigns
- $type = GET (Wir wollen eine Liste der Campaigns)
- $params = NULL (Keine weiteren Parameter für die Anfrage nötig)
- $url_params = '?sort_field=send_time&sort_dir=DESC' (Sortiert nach dem Versanddatum)
Anfragen mit CURL
Die MailChimp API verlangt nicht viel, um eine Anfrage zu akzeptieren und das entsprechende Ergebnis zu liefern. Die Übertragung erfolgt unverschlüsselt.
CURLOPT_HTTPHEADER: 'Content-Type: application/json', 'Authorization: login ' . $this->apikey (login kann hier irgendwas sein)
CURLOPT_USERAGENT: Hier solltet ihr etwas angeben, damit MailChimp eure Integration in den Logs identifizieren kann.
CURLOPT_CUSTOMREQUEST: Hier kommt entweder POST oder GET rein, je nachdem was ihr für eine Anfrage Stellt.
CURLOPT_POSTFIELDS: Hier übergebt ihr die eventuell erforderlichen Parameter als JSON codiertes Array (json_encode(array(...)))
Ausblick
Aufbauend auf dieser Implementierung kann man nun alle Ressourcen und Bequemlichkeitsfunktionen auf der MailChimp API definieren.
Denkbare Erweiterungen sind eine Abbildung der API Ressourcen auf ein Extbase Domain Model mit automatischem Caching und später vielleicht sogar einer kopmletten Synchronisation von TYPO3 Daten und MailChimp Daten.
Kommen Webhooks und Automations von MailChimp ins Spiel bietet TYPO3 eine ausgezeichnete Integration von MailChimp
Hat dir der Artikel gefallen?
Werkraum News:

Toller Podcast zu Künstliche Intelligenz von Sascha Lobo
Wir von werkraum träumen ja schon seit langem vom eigenen Podcast, wäre das nicht immer so viel spannende Projekte, die es zu erledigen gibt. Solange hören wir einfach andere…
Matomo im DDEV installieren
Ich zeige euch wie man eine lokale Matomo Instanz im DDEV nutzen kann.
Strukturierte Daten - schema.org
Suchmaschinen mit den richtigen Daten füttern ist einfacher als man denkt.