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:

SVGs interaktiv gestalten
Erfahre hier, wie diese leistungsstarke Lösung die User Experience verbessert.
Besuche auf meiner Homepage simulieren
Du hast eine Website oder ein Projekt mit einem tollen Backend erstellt? Aber du bist dir nicht sicher, ob es auch vielen Besuchern standhalten wird?

Den TYPO3 Seitenbaum erweitern
TYPO3 bietet einige offene Schnittstellen in Form von Hooks oder Events, um das Backend an die eigenen Bedürfnisse anzupassen. Ich zeige hier eine Möglichkeit, den Seitenbaum…