MailChimp-Integration auf einer Website mit MailChimp API und PHP
MailChimp ist einer der beliebtesten E-Mail-Marketing-Dienste, die die Abonnenten Ihrer Website verwalten. Mit MailChimp können Sie Ihren Abonnenten einen Newsletter zusenden. Im Newsletter können Sie über Ihre neuen Inhalte, Angebote oder Ankündigungen auf Ihrer Website schreiben. Newsletter sind nützlich, um das Publikum wieder auf die Website zu bringen.
Weitere beliebte E-Mail-Marketing-Dienstleister sind:
Die meisten Websites stellen ein Abonnementformular bereit, in dem sie die E-Mails des Benutzers sammeln. Diese E-Mail geht als Abonnent direkt an den MailChimp.
In diesem Artikel untersuchen wir, wie die MailChimp-Integration mit ihren APIs und PHP cURL durchgeführt wird. Wir werden MailChimp eine E-Mail hinzufügen. Mit anderen Worten, wir werden sehen, wie Sie MailChimp-Abonnenten mithilfe ihrer API hinzufügen.
Stellen Sie vor dem Fortfahren sicher, dass cURL auf dem Server aktiviert ist. Wir interagieren mit der externen URL, die nichts anderes als MailChimp-Endpunkte ist. Es erfordert cURL, um Anfragen zu senden und Antworten zu empfangen.
Sehen wir uns jedoch an, wie man einen Abonnenten über die API zu seinen MailChimp-Listen hinzufügen kann.
Sie können diese MailChimp-Integration auf allen PHP-basierten Websites integrieren. Zum Beispiel auf Websites, die mit WordPress, Laravel usw. erstellt wurden.
Erhalten Sie den MailChimp-API-Schlüssel und die Zielgruppen-ID
Um mit der MailChimp-API zu interagieren, müssen Sie den API-Schlüssel und die Zielgruppen-ID abrufen. Befolgen Sie die folgenden Schritte und erhalten Sie es.
Melde dich an, um Ihr MailChimp Konto. Wählen Sie unter dem Benutzersymbol das Konto aus.
Klicken Sie auf Extra->API-Schlüssel.
Klicken Sie im Abschnitt Ihre API-Schlüssel auf Schlüssel erstellen. Kopieren Sie Ihren API-Schlüssel, den wir gleich brauchen.
Rufen Sie als Nächstes eine Audience ID ab, zu der Sie Ihre Abonnenten hinzufügen müssen. Klicken Sie dazu auf das Menü Zielgruppe und wählen Sie dann die Option Einstellungen aus dem Dropdown-Menü Zielgruppe verwalten.
Klicken Sie in den Einstellungen auf „Zielgruppenname und Standardeinstellungen”.
Auf der nächsten Seite finden Sie Ihre Audience ID.
Abonnenten zur MailChimp-Liste hinzufügen
Zu diesem Zeitpunkt sind Sie mit Ihrem API-Schlüssel und Ihrer Zielgruppen-ID fertig. Jetzt müssen wir nur noch eine HTTP-Anfrage mit den erforderlichen Parametern an die MailChimp-API senden.
Eine Liste aller API-Aufrufe finden Sie in der offiziellen Dokumentation. Für unser Tutorial benötigen wir ihren API-Aufruf zum Hinzufügen eines neuen Listenmitglieds.
Dieser API-Aufruf erfordert einen API-Schlüssel mit einer E-Mail-Adresse und einem Status. Für den Status können wir entweder den Wert „abonniert” oder „ausstehend” übergeben. Wenn ein Wert ‘abonniert’ ist, wird die E-Mail-Adresse direkt der MailChimp-Liste hinzugefügt. Und wenn ein Wert ‘ausstehend’ ist, wird eine Bestätigungs-E-Mail an einen Benutzer gesendet. Nach der Bestätigung wird der Benutzer zum Abonnenten.
Um diese API zu integrieren, fügen Sie den folgenden Code in Ihre PHP-Datei ein. Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members';
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
]);
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (200 == $status_code) {
echo "The user added successfully to the MailChimp.";
}
} catch(Exception $e) {
echo $e->getMessage();
}
Im obigen Code erhalten Sie bei erfolgreicher Ausführung eine 200 als Antwortcode. Wir haben auch den Fehler behandelt, wenn er aus irgendeinem Grund ausgelöst wird.
Mailchimp bietet auch die Audience-Felder, die zusätzliche Informationen über Benutzer direkt im MailChimp-Dashboard speichern. Nur für den Fall, dass Sie Zielgruppenfelder hinzufügen möchten, können Sie dies tun, indem Sie in der obigen POST-Anfrage ein weiteres Array-Element hinzufügen. Hier füge ich Werte für die standardmäßigen Zielgruppenfelder FNAME und LNAME hinzu.
<?php
...
...
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
'merge_fields' => [
'FNAME' => 'ENTER_FIRST_NAME',
'LNAME' => 'ENTER_LAST_NAME'
]
]);
Tags zum Abonnenten hinzufügen
Vielleicht möchten Sie Ihre MailChimp-Kontakte mit Tags organisieren. Um dem Abonnenten Tags zuzuweisen, müssen Sie eine POST-Anfrage an die MailChimp-API senden. Beziehen Sie sich auf den folgenden Code, der einem Abonnenten die Tags Blogger und YouTuber zuweist.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$subscriber_hash = md5(strtolower($email));
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. $subscriber_hash .'/tags';
$json = json_encode([
'tags' => [
['name' => 'Blogger', 'status' => 'active'],
['name' => 'YouTuber', 'status' => 'active'],
]
]);
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (204 == $status_code) {
echo "The tags added successfully to the User.";
}
} catch(Exception $e) {
echo $e->getMessage();
}
Der Benutzer kann Tags entfernen, indem er einen ‘inaktiven’ Wert für den Statusschlüssel bereitstellt.
Einen Abonnenten aus der MailChimp-Liste löschen
MailChimp API bietet einen API-Aufruf zum Löschen einer E-Mail-Adresse aus einer Liste. Gemäß der Dokumentation zum Löschen eines Abonnenten müssen wir eine DELETE-Anfrage an die API senden. Diesmal müssen Sie den md5-Hash einer E-Mail-Adresse an den API-Endpunkt übergeben.
<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
$data_center = substr($api_key,strpos($api_key,'-')+1);
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. md5(strtolower($email));
try {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
} catch(Exception $e) {
echo $e->getMessage();
}
Ich hoffe, Sie verstehen die Integration der MailChimp-API auf einer Website mit PHP. Bitte teilen Sie Ihre Gedanken und Vorschläge im Kommentar unten mit.
Zum Thema passende Artikel
- MailChimp-Integration in WordPress ohne Verwendung eines Plugins
- So integrieren Sie den MailChimp-Newsletter in die Laravel-Anwendung
- MailChimp-Integration mit Contact Form 7 Plugin