...
✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Integrazione di MailChimp su un sito Web utilizzando l’API MailChimp e PHP

181

MailChimp è uno dei popolari servizi di email marketing che gestisce gli abbonati del tuo sito web. Usando MailChimp, puoi inviare una newsletter ai tuoi iscritti. Nella newsletter, puoi scrivere dei tuoi nuovi contenuti, offerte o annunci sul tuo sito web. Le newsletter sono utili per riportare il pubblico al sito.

Un altro popolare provider di servizi di email marketing sono:

La maggior parte dei siti Web inserisce un modulo di iscrizione in cui raccolgono l’e-mail dell’utente. Questa email andrà direttamente al MailChimp come abbonato.

In questo articolo, studiamo come eseguire l’integrazione di MailChimp utilizzando le loro API e PHP cURL. Stiamo per aggiungere un’e-mail a MailChimp. In altre parole, vedremo come aggiungere iscritti a MailChimp utilizzando la loro API.

Prima di procedere assicurati di avere cURL abilitato sul server. Stiamo interagendo con l’URL esterno che non è altro che gli endpoint di MailChimp. Richiede cURL per inviare richieste e ricevere risposte.

Detto questo, vediamo come si può aggiungere un abbonato alle proprie liste MailChimp tramite API.

Puoi integrare questa integrazione MailChimp su qualsiasi sito Web basato su PHP. Ad esempio, su siti Web creati utilizzando WordPress, Laravel, ecc.

Ottieni la chiave API MailChimp e l’ID pubblico

Per interagire con l’API MailChimp, devi prendere la chiave API e l’ID pubblico. Segui i passaggi seguenti e ottienilo.

Accedi al tuo account MailChimp. Sotto l’icona dell’utente, seleziona Account.

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Fare clic su Extra->Chiavi API.

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Nella sezione Le tue chiavi API, fai clic su Crea una chiave. Copia la tua chiave API di cui abbiamo bisogno in un momento.

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Quindi, ottieni un ID pubblico a cui devi aggiungere i tuoi abbonati. Per questo, fai clic sul menu Pubblico e quindi seleziona l’opzione Impostazioni dal menu a discesa Gestisci pubblico.

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Sotto le Impostazioni, fai clic su "Nome del pubblico e impostazioni predefinite".

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Nella pagina successiva troverai il tuo ID pubblico.

Integrazione di MailChimp su un sito Web utilizzando l'API MailChimp e PHP

Aggiungi abbonato alla lista di MailChimp

A questo punto, sei pronto con la tua chiave API e l’ID pubblico. Ora, tutto ciò che dobbiamo fare è inviare una richiesta HTTP all’API MailChimp insieme ai parametri richiesti.

Puoi trovare un elenco di tutte le chiamate API sulla loro documentazione ufficiale. Per il nostro tutorial, abbiamo bisogno della loro chiamata API Aggiungi un nuovo membro dell’elenco.

Questa chiamata API richiede una chiave API con un indirizzo email e uno stato. Per lo stato, possiamo passare il valore "sottoscritto" o "in attesa". Se un valore è "sottoscritto", l’indirizzo email viene aggiunto direttamente all’elenco MailChimp. E se un valore è "in sospeso", verrà inviata un’e-mail di conferma a un utente. Dopo la conferma, l’utente diventa un abbonato.

Per integrare questa API, inserisci il codice seguente nel tuo file PHP. Assicurati di sostituire i segnaposto con i valori effettivi.

<?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();
}

Nel codice sopra, a corretta esecuzione, otterrai un 200 come codice di risposta. Abbiamo anche gestito l’errore se viene generato per qualche motivo.

Mailchimp fornisce anche i campi Audience che memorizzano informazioni extra sugli utenti direttamente all’interno della dashboard di MailChimp. Per ogni evenienza, se stai cercando di aggiungere campi Pubblico, puoi farlo aggiungendo un altro elemento dell’array nella richiesta POST sopra. Qui, sto aggiungendo valori per i campi Audience predefiniti FNAME e LNAME.

<?php
...
...
$json = json_encode([
    'email_address' => $email,
    'status'        => 'subscribed', //pass 'subscribed' or 'pending'
    'merge_fields'  => [
        'FNAME' => 'ENTER_FIRST_NAME',
        'LNAME' => 'ENTER_LAST_NAME'
    ]
]);

Aggiungi tag all’iscritto

Potresti voler organizzare i tuoi contatti MailChimp con i tag. Per assegnare i tag al sottoscrittore è necessario inviare una richiesta POST all’API MailChimp. Fare riferimento al codice seguente che assegna i tag Blogger e YouTuber a un abbonato.

<?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();
}

L’utente può rimuovere i tag fornendo un valore "inattivo" per la chiave di stato.

Elimina un abbonato dall’elenco MailChimp

MailChimp API fornisce una chiamata API per eliminare un indirizzo email da un elenco. Come da documentazione per eliminare un abbonato, dobbiamo inviare una richiesta DELETE all’API. Questa volta devi passare l’hash md5 di un indirizzo email all’endpoint API.

<?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();
}

Spero che tu capisca l’integrazione dell’API MailChimp su un sito Web che utilizza PHP. Per favore condividi i tuoi pensieri e suggerimenti nel commento qui sotto.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More