MailChimp-integration på en webbplats med MailChimp API och PHP
MailChimp är en av de populäraste e-postmarknadsföringstjänsterna som hanterar prenumeranterna på din webbplats. Med MailChimp kan du skicka ett nyhetsbrev till dina prenumeranter. I nyhetsbrevet kan du skriva om ditt nya innehåll, erbjudanden eller meddelanden på din webbplats. Nyhetsbrev är användbara för att få publiken tillbaka till webbplatsen.
En annan populär e-postmarknadsföringstjänstleverantör är:
De flesta webbplatser har ett prenumerationsformulär där de samlar in användarens e-post. Det här e-postmeddelandet kommer direkt till MailChimp som prenumerant.
I den här artikeln studerar vi hur man gör MailChimp-integration med deras API: er och PHP-CURL. Vi ska lägga till ett e-postmeddelande till MailChimp. Med andra ord kommer vi att se hur man lägger till prenumeranter på MailChimp med hjälp av deras API.
Innan du fortsätter, se till att du har aktiverat cURL på servern. Vi interagerar med den externa URL: en, som bara är MailChimp-slutpunkter. Det kräver CURL för att skicka förfrågningar och ta emot svar.
Med detta sagt, låt oss se hur man kan lägga till en prenumerant i sina MailChimp-listor via API.
Du kan integrera denna MailChimp-integration på alla PHP-drivna webbplatser. Till exempel på webbplatser som är byggda med WordPress, Laravel, etc.
Få MailChimp API-nyckel och publik-ID
För att kunna interagera med MailChimp API måste du ta tag i API-nyckeln och målgrupps-ID. Följ stegen nedan och få det.
Logga in på ditt MailChimp-konto. Välj konto under användarikonen.
Klicka på Extra-> API-nycklar.
Klicka på Skapa en nyckel under Dina API-nycklar. Kopiera din API-nyckel som vi behöver på ett ögonblick.
Därefter får du ett publik-ID som du behöver lägga till dina prenumeranter. Klicka på menyn Målgrupp för detta och välj sedan alternativet Inställningar i rullgardinsmenyn Hantera publik.
Under Inställningar klickar du på ‘Målgruppens namn och standardvärden’.
På nästa sida hittar du ditt publik-ID.
Lägg till prenumerant i MailChimp-listan
I det här skedet är du redo med din API-nyckel och målgrupps-id. Nu är allt vi behöver göra att skicka en HTTP-begäran till MailChimp API tillsammans med de nödvändiga parametrarna.
Du hittar en lista över alla API-samtal i deras officiella dokumentation. För vår handledning behöver vi deras Lägg till en ny lista medlems API-samtal.
Detta API-samtal kräver en API-nyckel med en e-postadress och status. För status kan vi skicka antingen det "prenumererade" eller "väntande" värdet. Om ett värde "prenumereras" läggs e-postadressen till direkt i MailChimp-listan. Och om ett värde "väntar" skickas ett bekräftelsemeddelande till en användare. Efter bekräftelse blir användaren abonnent.
För att integrera detta API, placera nedanstående kod i din PHP-fil. Se till att ersätta platshållarna med de faktiska värdena.
<?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();
}
I ovanstående kod kommer du att få 200 som svarskod vid den lyckade körningen. Vi hanterade också felet om det kastar av någon anledning.
Mailchimp tillhandahåller också publikfält som lagrar extra information om användare direkt i MailChimp-instrumentpanelen. Om du vill lägga till målgruppsfält kan du göra det genom att lägga till ytterligare ett arrayelement i ovanstående POST-begäran. Här lägger jag till värden för standardfältfältet FNAME och LNAME.
<?php
...
...
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
'merge_fields' => [
'FNAME' => 'ENTER_FIRST_NAME',
'LNAME' => 'ENTER_LAST_NAME'
]
]);
Lägg till taggar i prenumeranten
Du kanske vill organisera dina MailChimp-kontakter med taggar. För att tilldela taggar till prenumeranten måste du skicka en POST-begäran till MailChimp API. Se koden nedan som tilldelar taggarna Blogger och YouTuber till en prenumerant.
<?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();
}
Användaren kan ta bort taggar genom att ange ett ‘inaktivt’ värde för statusnyckeln.
Ta bort en prenumerant från MailChimp-listan
MailChimp API tillhandahåller ett API-anrop för att radera en e-postadress från en lista. Enligt dokumentationen för att radera en prenumerant måste vi skicka en DELETE-begäran till API: et. Den här gången måste du skicka md5-hash för en e-postadress till API-slutpunkten.
<?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();
}
Jag hoppas att du förstår om MailChimp API-integration på en webbplats som använder PHP. Dela dina tankar och förslag i kommentaren nedan.
relaterade artiklar
- MailChimp-integration i WordPress utan att använda ett plugin
- Hur man integrerar MailChimp nyhetsbrev i Laravel Application
- MailChimp-integration med Plugin för kontaktformulär 7