Ce package offre un moyen simple d'intégrer des abonnements aux listes de diffusion de divers services de messagerie.
Actuellement, ce package prend en charge :
Mailcoach (construit par nos soins :-))
MailChimp
Nous investissons beaucoup de ressources dans la création des meilleurs packages open source de leur catégorie. Vous pouvez nous soutenir en achetant l'un de nos produits payants.
Nous apprécions grandement que vous nous envoyiez une carte postale de votre ville natale, mentionnant le(s) forfait(s) que vous utilisez. Vous trouverez notre adresse sur notre page contact. Nous publions toutes les cartes postales reçues sur notre mur virtuel de cartes postales.
Vous pouvez installer ce package via Composer en utilisant :
le compositeur nécessite spatie/laravel-newsletter
Pour publier le fichier de configuration dans config/newsletter.php
exécutez :
fournisseur artisanal php :publish --tag="newsletter-config"
Cela publiera un fichier newsletter.php
dans votre répertoire de configuration avec le contenu suivant :
return [/* * Le pilote à utiliser pour interagir avec l'API MailChimp. * Vous pouvez utiliser "log" ou "null" pour éviter d'appeler l'API * directement depuis votre environnement. */'driver' => env('NEWSLETTER_DRIVER', SpatieNewsletterDriversMailcoachDriver::class),/** * Ces arguments seront donnés au pilote. */'driver_arguments' => ['api_key' => env('NEWSLETTER_API_KEY'),'endpoint' => env('NEWSLETTER_ENDPOINT'), ],/* * Le nom de liste à utiliser lorsqu'aucun nom de liste n'est spécifié dans une méthode. */'default_list_name' => 'subscribers','lists' => [/* * Cette clé permet d'identifier cette liste. Il peut être utilisé * comme paramètre listName fourni dans les différentes méthodes. * * Vous pouvez le définir sur n'importe quelle chaîne de votre choix et vous pouvez ajouter * autant de listes que vous le souhaitez. */'subscribers' => [/* * Lors de l'utilisation du pilote Mailcoach, il doit s'agir de l'UUID de la liste de diffusion * qui est affiché dans l'interface utilisateur de Mailcoach * * Lors de l'utilisation du pilote MailChimp, il doit s'agir d'un identifiant de liste MailChimp. * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id. */'id' => env('NEWSLETTER_LIST_ID'), ], ], ];
Pour que ce package fonctionne avec Mailcoach, vous devez installer le SDK Mailcoach.
le compositeur nécessite spatie/mailcoach-sdk-php
Ensuite, vous devez fournir des valeurs pour la clé API, le point de terminaison et list.subscribers.id
dans le fichier de configuration. Vous trouverez la clé API et le point de terminaison dans l'écran des paramètres de Mailcoach. La valeur de list.subscribers.id
doit être l'UUID d'une liste de diffusion sur Mailcoach. Vous trouverez cette valeur sur l'écran des paramètres d'une liste de diffusion
Pour utiliser MailChimp, installez ce package supplémentaire.
le compositeur nécessite drawm/mailchimp-api
La clé driver
du fichier de configuration newsletter
doit être définie sur SpatieNewsletterDriversMailChimpDriver::class
.
Ensuite, vous devez fournir des valeurs pour la clé API et list.subscribers.id
. Vous trouverez ces valeurs dans l'interface utilisateur de MailChimp.
La valeur de configuration endpoint
doit être définie sur null.
Après avoir installé le package et renseigné les valeurs dans le fichier de configuration, travailler avec ce package sera un jeu d'enfant. Tous les exemples suivants utilisent la façade. N'oubliez pas de l'importer en haut de votre fichier.
utilisez SpatieNewsletterFacadesNewsletter ;
L'abonnement à une adresse email peut se faire comme ceci :
utiliser la newsletter ; Newsletter ::subscribe('[email protected]');
Désinscrivons quelqu'un :
Newsletter::unsubscribe('[email protected]');
Pour Mailcoach, vous pouvez transmettre des attributs supplémentaires comme deuxième argument :
Newsletter::subscribe('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
Pour MailChimp, vous pouvez transmettre des variables de fusion comme deuxième argument :
Newsletter::subscribe('[email protected]', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);
Vous pouvez inscrire quelqu'un à une liste spécifique en transmettant un nom de liste :
Newsletter::subscribe('[email protected]', listName : 'abonnés');
Ce troisième argument est le nom d'une liste que vous avez configurée dans le fichier de configuration.
Vous pouvez également vous abonner et/ou mettre à jour quelqu'un. La personne sera abonnée ou mise à jour si elle est déjà abonnée :
Newsletter::subscribeOrUpdate('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
Pour MailChimp, vous pouvez inscrire quelqu'un à un ou plusieurs groupes/intérêts spécifiques en utilisant le quatrième argument :
Newsletter::subscribeOrUpdate( '[email protected]', ['FNAME'=>'Rince','LNAME'=>'Vent'], « abonnés », ['interests'=>['interestId'=>true, 'interestId'=>true]], );
Ajoutez simplement false
si vous souhaitez supprimer quelqu'un d'un groupe/d'un centre d'intérêt.
Voici comment désinscrire quelqu'un d'une liste spécifique :
Newsletter::unsubscribe('[email protected]', 'abonnés');
La suppression n’est pas la même chose que la désinscription. Contrairement à la désinscription, la suppression d'un membre entraînera la perte de tout l'historique (ajout/opt-in/modifications) ainsi que sa suppression de la liste. Dans la plupart des cas, vous souhaitez utiliser unsubscribe
au lieu de delete
.
Voici comment effectuer une suppression :
Newsletter ::delete('[email protected]');
Vous pouvez obtenir des informations sur un abonné en utilisant la fonction getMember
:
Newsletter::getMember('[email protected]');
Pour MailCoach, cela renverra une instance de SpatieMailcoachResources|Subscriber
Pour MailChimp, cela renverra un tableau avec des informations sur l'abonné.
Si personne n'est abonné avec cette adresse e-mail, la fonction retournera false
Il existe également une méthode pratique pour vérifier si quelqu'un est déjà abonné :
Newsletter ::hasMember('[email protected]'); // renvoie un booléen
En plus de cela, vous pouvez également vérifier si un utilisateur est abonné à votre liste :
Newsletter ::isSubscribe('[email protected]'); // renvoie un booléen
Si vous avez besoin de plus de fonctionnalités, vous obtenez une instance de l'API sous-jacente avec
$api = Newsletter :: getApi ();
Si vous rencontrez des difficultés pour obtenir l'intégration de MailChimp, vous pouvez voir la dernière erreur avec :
Newsletter ::getApi()->getLastError();
Exécutez les tests avec :
vendeur/bac/ravageur
Veuillez consulter CHANGELOG pour plus d'informations sur ce qui a changé récemment.
Veuillez consulter CONTRIBUER pour plus de détails.
Si vous découvrez des problèmes liés à la sécurité, veuillez envoyer un e-mail à [email protected] au lieu d'utiliser le suivi des problèmes.
Freek Van der Herten
Tous les contributeurs doivent se consacrer à l'affectation de la main-d'œuvre à la maintenance et aux nouveautés géniales.
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.