Comment intégrer la newsletter MailChimp dans l’application Laravel
Vous souhaitez intégrer la fonctionnalité de newsletter MailChimp à votre application Laravel? MailChimp est un service de marketing par e-mail qui nous permet d’envoyer des newsletters à nos abonnés. Dans cet article, je vous montre comment intégrer la newsletter MailChimp au site Laravel.
MailChimp est l’un des services de marketing par e-mail les plus populaires, qui gère les abonnés de votre site Web. En utilisant MailChimp, vos abonnés recevront une newsletter sur le nouveau contenu, les annonces, les offres et bien plus encore en fonction de votre choix. C’est une sorte de système automatisé. Le propriétaire du site Web n’a pas besoin de se souvenir de l’envoi de la newsletter aux abonnés. MailChimp gère tout seul, ce qui nous fait gagner beaucoup de temps.
Les autres fournisseurs de services de marketing par e-mail les plus populaires sont :
Récemment, j’ai publié un article sur l’ intégration de MailChimp à l’aide de l’API MailChimp et de PHP. L’un des lecteurs a posé des questions sur l’intégration de MailChimp dans Laravel. J’ai donc décidé d’écrire cet article pour répondre à la question du lecteur.
Cela dit, intégrons la newsletter MailChimp dans l’application Laravel.
Obtenir la clé API MailChimp et l’identifiant d’audience
Afin d’intégrer l’API MailChimp, vous devez obtenir une clé API et un ID d’audience. Suivez les étapes ci-dessous pour obtenir ces informations d’identification.
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é et copiez votre clé API dont nous avons besoin dans un instant.
Vous avez maintenant votre clé API prête. 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.
Spatie a construit la fantastique bibliothèque Laravel newsletter. Je vais intégrer la newsletter MailChimp en utilisant cette bibliothèque.
Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :
composer require spatie/laravel-newsletter
Après avoir installé la bibliothèque, exécutez la commande ci-dessous pour publier le fichier de configuration dans config/newsletter.php
.
php artisan vendor:publish --provider="SpatieNewsletterNewsletterServiceProvider"
Rendez-vous dans le répertoire ‘config’ et ouvrez le fichier ‘newsletter.php’.
newsletter.php
<?php
return [
/*
* The API key of a MailChimp account. You can find yours at
* https://us10.admin.mailchimp.com/account/api-key-popup/.
*/
'apiKey' => env('MAILCHIMP_APIKEY'),
/*
* The listName to use when no listName has been specified in a method.
*/
'defaultListName' => 'subscribers',
/*
* Here you can define properties of the lists.
*/
'lists' => [
/*
* This key is used to identify this list. It can be used
* as the listName parameter provided in the various methods.
*
* You can set it to any string you want and you can add
* as many lists as you want.
*/
'subscribers' => [
/*
* A MailChimp list id. Check the MailChimp docs if you don't know
* how to get this value:
* http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id.
*/
'id' => env('MAILCHIMP_LIST_ID'),
],
],
/*
* If you're having trouble with https connections, set this to false.
*/
'ssl' => true,
];
Vous n’avez pas besoin d’apporter de modifications ici, à l’exception de la valeur ‘ssl’. Si vous n’avez pas de certificat SSL sur votre serveur, définissez cette valeur sur false. Vous pouvez voir les constantes MAILCHIMP_APIKEY et MAILCHIMP_LIST_ID dans le code ci-dessus. Cela signifie que vous devez ajouter ces constantes avec les valeurs réelles dans votre .env
fichier.
.env
....
MAILCHIMP_APIKEY=YOUR_MAILCHIMP_API_KEY
MAILCHIMP_LIST_ID=YOUR_MAILCHIMP_LIST_ID
Après cela, effacez le cache de configuration à l’aide de la commande :
php artisan config:clear
Vous avez installé et configuré la bibliothèque. Vous êtes maintenant prêt à poursuivre l’intégration de MailChimp sur votre site Web Laravel. Créons un simple formulaire de newsletter dans votre fichier de vue.
<form action="{{ url('ROUTE_HERE') }}" method="post">
<div class="form-group">
<label for="exampleInputEmail">Email</label>
<input type="email" name="user_email" id="exampleInputEmail" class="form-control">
</div>
{{ csrf_field() }}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
Assurez-vous de remplacer l’espace réservé ROUTE_HERE par la valeur réelle. Ensuite, dans votre fichier de contrôleur, ajoutez la façade du package installé.
Dans la fonction du contrôleur où vous publiez le formulaire, écrivez le code comme suit :
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use Newsletter;
....
public function store(Request $request)
{
if (! Newsletter::isSubscribed($request->user_email)) {
Newsletter::subscribe($request->user_email);
}
}
?>
Ici, je vérifie d’abord si un utilisateur est déjà ajouté à la liste des abonnés ou non. Sinon, ajoutez-le à la liste des abonnés. J’ai utilisé la méthode subscribe()
qui abonne directement l’utilisateur à la liste. Si vous devez envoyer un e-mail de confirmation à l’utilisateur avant de vous inscrire à la liste, remplacez la ligne ci-dessous
Newsletter::subscribe($request->user_email);
avec
Newsletter::subscribePending($request->user_email);
subscribePending()
La fonction définit un statut d’utilisateur sur « en attente » dans la liste MailChimp jusqu’à ce que l’utilisateur confirme l’abonnement.
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 souhaitez ajouter des champs Audience, vous pouvez le faire en ajoutant un paramètre supplémentaire dans la méthode ci-dessus. Ici, j’ajoute des valeurs pour les champs d’audience par défaut FNAME et LNAME.
Newsletter::subscribe($request->user_email, ['FNAME'=>'ENTER_FIRST_NAME', 'LNAME'=>'ENTER_LAST_NAME']);
Si vous souhaitez ajouter des balises pour l’abonné, utilisez la addTags()
méthode. Passez les multiples éléments dans un tableau au cas où vous auriez besoin d’attribuer plusieurs balises. Dans mon cas, j’attribue la balise ‘Blogger’ à l’abonné.
Newsletter::addTags(['Blogger'], $request->user_email);
L’utilisateur peut supprimer l’abonné de la liste en utilisant le code :
Newsletter::delete('SUBSCRIBER_EMAIL');
Ce sont les méthodes de base normalement requises sur le site Web. Vous pouvez également vérifier les fonctions supplémentaires fournies par ce package sur GitHub.
J’espère que vous comprenez comment intégrer la newsletter MailChimp à votre site Web Laravel. S’il vous plaît partager vos pensées et suggestions dans la section commentaires ci-dessous.
Articles Liés
- Intégration de MailChimp avec le plugin Contact Form 7
- Intégration de MailChimp dans WordPress sans utiliser de plugin