Этот пакет предоставляет простой способ интеграции подписок на списки рассылки различных почтовых служб.
В настоящее время этот пакет поддерживает:
Почтовая карета (построенная нами :-))
MailChimp
Мы вкладываем много ресурсов в создание лучших в своем классе пакетов с открытым исходным кодом. Вы можете поддержать нас, купив один из наших платных продуктов.
Мы очень признательны вам за отправку нам открытки из вашего родного города с указанием того, какой из наших пакетов вы используете. Наш адрес вы найдете на странице контактов. Все полученные открытки мы публикуем на нашей виртуальной стене открыток.
Вы можете установить этот пакет через Composer, используя:
композитору требуется spatie/laravel-newsletter
Чтобы опубликовать файл конфигурации в config/newsletter.php
, выполните:
поставщик PHP Artisan:publish --tag="newsletter-config"
Это опубликует файл newsletter.php
в вашем каталоге конфигурации со следующим содержимым:
return [/* * Драйвер, используемый для взаимодействия с API MailChimp. * Вы можете использовать «log» или «null», чтобы предотвратить * вызов API непосредственно из вашей среды. */'driver' => env('NEWSLETTER_DRIVER', SpatieNewsletterDriversMailcoachDriver::class),/** * Эти аргументы будут переданы драйверу. */'driver_arguments' => ['api_key' => env('NEWSLETTER_API_KEY'), 'endpoint' => env('NEWSLETTER_ENDPOINT'), ],/* * Имя списка, которое будет использоваться, если в методе не указано имя списка. */'default_list_name' => 'subscribers','lists' => [/* * Этот ключ используется для идентификации этого списка. Его можно использовать * как параметр listName, предоставляемый в различных методах. * * Вы можете установить любую строку и добавить * столько списков, сколько захотите. */'subscribers' => [/* * При использовании драйвера Mailcoach это должен быть UUID списка адресов электронной почты, * который отображается в пользовательском интерфейсе Mailcoach * * При использовании драйвера MailChimp это должен быть идентификатор списка MailChimp. * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id. */'id' => env('NEWSLETTER_LIST_ID'), ], ], ];
Чтобы этот пакет работал с Mailcoach, вам необходимо установить Mailcoach SDK.
композитору требуется spatie/mailcoach-sdk-php
Затем вы должны указать значения для ключа API, конечной точки и list.subscribers.id
в файле конфигурации. Вы найдете ключ API и конечную точку на экране настроек Mailcoach. Значение list.subscribers.id
должно быть UUID списка адресов электронной почты в Mailcoach. Вы найдете это значение на экране настроек списка адресов электронной почты.
Чтобы использовать MailChimp, установите этот дополнительный пакет.
композитору требуется drawm/mailchimp-api
Ключ driver
файла конфигурации newsletter
должен быть установлен в SpatieNewsletterDriversMailChimpDriver::class
.
Затем вы должны предоставить значения для ключа API и list.subscribers.id
. Вы найдете эти значения в пользовательском интерфейсе MailChimp.
Значение конфигурации endpoint
должно быть установлено в ноль.
После того, как вы установили пакет и заполнили значения в конфигурационном файле, работать с этим пакетом станет проще простого. Во всех следующих примерах используется фасад. Не забудьте импортировать его в начало файла.
используйте SpatieNewsletterFacadesNewsletter;
Подписаться на адрес электронной почты можно следующим образом:
использовать информационный бюллетень; Информационный бюллетень::подписаться('[email protected]');
Давайте отпишем кого-нибудь:
Информационный бюллетень::отписаться('[email protected]');
Для Mailcoach вы можете передать дополнительные атрибуты в качестве второго аргумента:
Информационный бюллетень::подписаться('[email protected]', ['first_name' => 'Ринс', 'last_name' => 'Ветер']);
Для MailChimp вы можете передать переменные слияния в качестве второго аргумента:
Информационный бюллетень::подписаться('[email protected]', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);
Вы можете подписаться на определенный список, передав имя списка:
Информационный бюллетень::subscribe('[email protected]', listName: 'подписчики');
Этот третий аргумент — это имя списка, который вы настроили в файле конфигурации.
Вы также можете подписаться и/или обновить кого-то. Человек будет подписан или обновлен, если он уже подписан:
Newsletter::subscribeOrUpdate('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
В MailChimp вы можете подписаться на кого-то в одну или несколько конкретных групп/интересов, используя четвертый аргумент:
Информационный бюллетень::subscribeOrUpdate( '[email protected]', ['FNAME'=>'Ринс','LNAME'=>'Ветер'], «подписчики», ['interests'=>['interestId'=>true, 'interestId'=>true]], );
Просто добавьте false
если хотите удалить кого-то из группы/интереса.
Вот как можно отписаться от кого-то из определенного списка:
Информационный бюллетень::unsubscribe('[email protected]', 'подписчики');
Удаление — это не то же самое, что отписка. В отличие от отказа от подписки, удаление участника приведет к потере всей истории (добавления/согласия/редактирования), а также к удалению участника из списка. В большинстве случаев вы хотите использовать unsubscribe
вместо delete
.
Вот как выполнить удаление:
Информационный бюллетень::delete('[email protected]');
Получить информацию о подписчике можно с помощью функции getMember
:
Информационный бюллетень::getMember('[email protected]');
Для MailCoach это вернет экземпляр SpatieMailcoachResources|Subscriber
Для MailChimp это вернет массив с информацией о подписчике.
Если на этот адрес электронной почты никто не подписался, функция вернет false
Также есть удобный способ проверить, подписан ли кто-нибудь:
Информационный бюллетень::hasMember('[email protected]'); //возвращает логическое значение
В дополнение к этому вы также можете проверить, подписан ли пользователь на ваш список:
Информационный бюллетень::isSubscribed('[email protected]'); //возвращает логическое значение
Если вам нужна дополнительная функциональность, вы получаете экземпляр базового API с помощью
$api = Информационный бюллетень::getApi();
Если у вас возникли проблемы с интеграцией MailChimp, вы можете увидеть последнюю ошибку:
Информационный бюллетень::getApi()->getLastError();
Запустите тесты с помощью:
продавец/контейнер/вредитель
Пожалуйста, посетите CHANGELOG для получения дополнительной информации о том, что изменилось за последнее время.
Пожалуйста, смотрите ВКЛАД для получения подробной информации.
Если вы обнаружите какие-либо проблемы, связанные с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
Фрик Ван дер Хертен
Все участники должны посвятить себя распределению рабочей силы для обслуживания и создания новых интересных вещей.
Лицензия MIT (MIT). Дополнительную информацию см. в файле лицензии.