✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

MailChimp-integration på en webbplats med MailChimp API och PHP

34

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.

MailChimp-integration på en webbplats med MailChimp API och PHP

Klicka på Extra-> API-nycklar.

MailChimp-integration på en webbplats med MailChimp API och PHP

Klicka på Skapa en nyckel under Dina API-nycklar. Kopiera din API-nyckel som vi behöver på ett ögonblick.

MailChimp-integration på en webbplats med MailChimp API och PHP

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.

MailChimp-integration på en webbplats med MailChimp API och PHP

Under Inställningar klickar du på ‘Målgruppens namn och standardvärden’.

MailChimp-integration på en webbplats med MailChimp API och PHP

På nästa sida hittar du ditt publik-ID.

MailChimp-integration på en webbplats med MailChimp API och PHP

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

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer