https://github.com/escolalms/mailerlite
MailerLite integration for customised group for LMS events
https://github.com/escolalms/mailerlite
laravel rest-api
Last synced: 2 months ago
JSON representation
MailerLite integration for customised group for LMS events
- Host: GitHub
- URL: https://github.com/escolalms/mailerlite
- Owner: EscolaLMS
- License: mit
- Created: 2022-02-09T08:55:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-12T12:03:26.000Z (almost 3 years ago)
- Last Synced: 2025-02-08T21:43:09.284Z (over 1 year ago)
- Topics: laravel, rest-api
- Language: PHP
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MailerLite
[](https://codecov.io/gh/EscolaLMS/MailerLite)
[](https://github.com/EscolaLMS/MailerLite/actions/workflows/test.yml)
[](https://packagist.org/packages/escolalms/mailerlite)
[](https://packagist.org/packages/escolalms/mailerlite)
[](https://packagist.org/packages/escolalms/mailerlite)
[](https://codeclimate.com/github/EscolaLMS/MailerLite/maintainability)
[](https://codeclimate.com/github/EscolaLMS/MailerLite/test_coverage)
## What does it do
This package is used for integration with [MailerLite](https://www.mailerlite.com/) after dispatching events.
## Installing
- `composer require escolalms/mailerlite`
## Example
You can set the package status and api key using the Facade
```php
Config::set('escolalms_mailer_lite.package_status', PackageStatusEnum::ENABLED);
Config::set('escolalms_mailer_lite.api_key', '1234);
```
or [Settings package](https://github.com/EscolaLMS/settings)
```php
$this->actingAs($this->user, 'api')->postJson(
'/api/admin/config',
[
'config' => [
[
'key' => 'escolalms_mailer_lite.package_status',
'value' => PackageStatusEnum::ENABLED,
],
[
'key' => 'escolalms_mailer_lite.api_key',
'value' => '1234',
],
]
]
);
```
Group names are also configurable.
```php
$this->actingAs($this->user, 'api')->postJson(
'/api/admin/config',
[
'config' => [
[
'key' => 'escolalms_mailer_lite.group_registered_group',
'value' => 'registered users',
],
[
'key' => 'escolalms_mailer_lite.group_order_paid',
'value' => 'order paid',
],
[
'key' => 'escolalms_mailer_lite.group_left_cart',
'value' => 'left cart',
],
]
]
);
```
## Tests
Run `./vendor/bin/phpunit` to run tests.
Test details
[](https://codecov.io/gh/EscolaLMS/MailerLite)
[](https://github.com/EscolaLMS/MailerLite/actions/workflows/test.yml)
## Listeners
Handling events
- `EscolaLms\Auth\Events\AccountConfirmed` => add to group of registered users (`escolalms_mailer_lite.group_registered_group`)
- `EscolaLms\Cart\Events\ProductBought` => add to group of users with paid orders (`escolalms_mailer_lite.group_order_paid`)
- `EscolaLms\Auth\Events\AccountBlocked` => remove from all groups
- `EscolaLms\Cart\Events\AbandonedCartEvent` => add to the group of users with abandoned carts (`escolalms_mailer_lite.group_left_cart`)
- `EscolaLms\Cart\Events\OrderCreated` => remove from the group of users with abandoned carts (`escolalms_mailer_lite.group_left_cart`)