dystcz / lunar-api-newsletter
Add the possibility to sign up to newsletter lists to your Lunar backend
Requires
- php: ^8.2
- dystcz/lunar-api: ^1.0.0-beta
- illuminate/support: ^11.0
- spatie/laravel-newsletter: ^5.1
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.0
- drewm/mailchimp-api: ^2.5
- getbrevo/brevo-php: ^1.0
- laravel-json-api/testing: ^3.0
- laravel/pint: ^1.7
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-faker: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ray: ^1.32
- spatie/mailcoach-sdk-php: ^1.1
Suggests
- drewm/mailchimp-api: For working with MailChimp
- getbrevo/brevo-php: For working with Brevo
- spatie/mailcoach-sdk-php: For working with Mailcoach
- dev-main
- 1.0.x-dev
- 1.0.0-beta.1
- 0.8.x-dev
- 0.8.0
- 0.7.x-dev
- 0.7.1
- 0.7.0
- 0.6.x-dev
- 0.5.x-dev
- 0.3.x-dev
- dev-feature/upgrade-to-lunar-api-1.0.0-beta.1
- dev-feature/add-cs-validation-messages
- dev-feature/upgrade-to-lunar-api-1.0.0-alpha
- dev-feature/upgrade-to-lunar-0.8
- dev-feature/add-brevo-driver
- dev-feature/use-upgraded-lunar-api-schema-manifest
- dev-dev
This package is auto-updated.
Last update: 2024-10-14 21:12:23 UTC
README
This lunar-api compatible package exposes an API endpoint which allows you to subscribe to newsletter lists by providing an email address using the spatie/laravel-newsletter package.
This initial version only takes an email address and subscribes to a list. There may be more endpoints added upon request in the future.
Installation
You can install the package via composer:
composer require dystcz/lunar-api-newsletter
To publish the laravel-newsletter config file to config/newsletter.php
run:
php artisan vendor:publish --tag="newsletter-config"
The full configuration can be found here: spatie/laravel-newsletter
Using Brevo
To use Brevo, install this extra package.
composer require getbrevo/brevo-php "1.x.x"
The driver
key of the newsletter
config file must be set to Dystcz\LunarApiNewsletter\Drivers\BrevoDriver::class
.
Next, you must provide values for the API key and list.subscribers.id
. You'll find these values in Brevo settings.
The endpoint
config value can be set to an empty string.
Using MailChimp
To use MailChimp, install this extra package.
composer require drewm/mailchimp-api
The driver
key of the newsletter
config file must be set to Spatie\Newsletter\Drivers\MailChimpDriver::class
.
Next, you must provide values for the API key and list.subscribers.id
. You'll find these values in the MailChimp UI.
The endpoint
config value can be set to an empty string.
Using Mailcoach
To let this package work with Mailcoach, you need to install the Mailcoach SDK.
composer require spatie/mailcoach-sdk-php
Next, you must provide values for the API key, endpoint and list.subscribers.id
in the config file. You'll find the API key and endpoint in the Mailcoach settings screen. The value for list.subscribers.id
must be the UUID of an email list on Mailcoach. You'll find this value on the settings screen of an email list
Usage
Make a POST
request here /api/v1/newsletters/-actions/subscribe
with the following data:
$data = [ 'type' => 'newsletters', 'attributes' => [ 'email' => $email, ], ];
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email jakub@dy.st instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.