Intégration de MailChimp sur un site Web utilisant l’API MailChimp et PHP
MailChimp est l’un des services de marketing par e-mail les plus populaires qui gèrent les abonnés de votre site Web. En utilisant MailChimp, vous pouvez envoyer une newsletter à vos abonnés. Dans la newsletter, vous pouvez écrire sur votre nouveau contenu, vos offres ou vos annonces sur votre site Web. Les newsletters sont utiles pour ramener le public sur le site Web.
Les autres fournisseurs de services de marketing par e-mail les plus populaires sont :
La plupart des sites Web mettent un formulaire d’abonnement où ils collectent l’e-mail de l’utilisateur. Cet e-mail ira directement au MailChimp en tant qu’abonné.
Dans cet article, nous étudions comment faire l’intégration de MailChimp en utilisant leurs API et PHP cURL. Nous allons ajouter un e-mail à MailChimp. En d’autres termes, nous verrons comment ajouter des abonnés à MailChimp en utilisant leur API.
Avant de continuer, assurez-vous que cURL est activé sur le serveur. Nous interagissons avec l’URL externe qui n’est rien d’autre que les points de terminaison MailChimp. Il nécessite cURL pour envoyer des demandes et recevoir des réponses.
Cela dit, voyons comment ajouter un abonné à leurs listes MailChimp via l’API.
Vous pouvez intégrer cette intégration MailChimp sur n’importe quel site Web alimenté par PHP. Par exemple, sur des sites Web construits avec WordPress, Laravel, etc.
Obtenir la clé API MailChimp et l’identifiant d’audience
Pour interagir avec l’API MailChimp, vous devez récupérer la clé API et l’ID d’audience. Suivez les étapes ci-dessous et obtenez-le.
Connectez-vous à votre compte MailChimp. Sous l’icône de l’utilisateur, sélectionnez le compte.
Cliquez sur Extra-> Clés API.
Dans la section Vos clés API, cliquez sur Créer une clé. Copiez votre clé API dont nous avons besoin dans un instant.
Ensuite, obtenez un ID d’audience auquel vous devez ajouter vos abonnés. Pour cela, cliquez sur le menu Audience puis sélectionnez l’option Paramètres dans la liste déroulante Gérer l’audience.
Sous Paramètres, cliquez sur « Nom du public et paramètres par défaut ».
Sur la page suivante, vous trouverez votre identifiant d’audience.
Ajouter un abonné à la liste MailChimp
À ce stade, vous êtes prêt avec votre clé API et votre identifiant d’audience. Maintenant, tout ce que nous avons à faire est d’envoyer une requête HTTP à l’API MailChimp avec les paramètres requis.
Vous pouvez trouver une liste de tous les appels d’API sur leur documentation officielle. Pour notre didacticiel, nous avons besoin de leur appel d’API Ajouter un nouveau membre de liste.
Cet appel API nécessite une clé API avec une adresse e-mail et un statut. Pour le statut, nous pouvons passer la valeur « abonné » ou « en attente ». Si une valeur est « abonnée », alors l’adresse e-mail est ajoutée directement à la liste MailChimp. Et si une valeur est «en attente », alors un e-mail de confirmation sera envoyé à un utilisateur. Après confirmation, l’utilisateur devient abonné.
Pour intégrer cette API, placez le code ci-dessous dans votre fichier PHP. Assurez-vous de remplacer les espaces réservés par les valeurs réelles.
<?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();
}
Dans le code ci-dessus, en cas d’exécution réussie, vous obtiendrez un code de réponse 200. Nous avons également géré l’erreur si elle se produit pour une raison quelconque.
Mailchimp fournit également les champs Audience qui stockent des informations supplémentaires sur les utilisateurs directement dans le tableau de bord MailChimp. Juste au cas où, si vous cherchez à ajouter des champs Audience, vous pouvez le faire en ajoutant un élément de tableau supplémentaire dans la requête POST ci-dessus. Ici, j’ajoute des valeurs pour les champs d’audience par défaut FNAME et LNAME.
<?php
...
...
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
'merge_fields' => [
'FNAME' => 'ENTER_FIRST_NAME',
'LNAME' => 'ENTER_LAST_NAME'
]
]);
Ajouter des balises à l’abonné
Vous voudrez peut-être organiser vos contacts MailChimp avec des balises. Pour attribuer des balises à l’abonné, vous devez envoyer une requête POST à l’API MailChimp. Reportez-vous au code ci-dessous qui attribue les balises Blogger et YouTuber à un abonné.
<?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’utilisateur peut supprimer des balises en fournissant une valeur « inactive » pour la clé de statut.
Supprimer un abonné de la liste MailChimp
L’API MailChimp fournit un appel API pour supprimer une adresse e-mail d’une liste. Conformément à la documentation pour supprimer un abonné, nous devons envoyer une demande DELETE à l’API. Cette fois, vous devez transmettre le hachage md5 d’une adresse e-mail au point de terminaison de l’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();
}
J’espère que vous comprenez l’intégration de l’API MailChimp sur un site Web utilisant PHP. Veuillez partager vos pensées et suggestions dans le commentaire ci-dessous.
Articles Liés
- Intégration de MailChimp dans WordPress sans utiliser de plugin
- Comment intégrer la newsletter MailChimp dans l’application Laravel
- Intégration de MailChimp avec le plugin Contact Form 7