eventhomes / laravel-mandrillhooks
A simple Mandrill webhook controller to help with events. Compatible with Laravel 5+ and Lumen 5+.
Installs: 73 930
Dependents: 0
Suggesters: 0
Security: 0
Stars: 63
Watchers: 6
Forks: 11
Open Issues: 0
Requires
- php: >=5.5.9
- illuminate/routing: ~5.0|^6.0|^7.0
- illuminate/support: ~5.0|^6.0|^7.0
This package is auto-updated.
Last update: 2024-12-20 23:53:38 UTC
README
A simple Mandrill webhook controller to help with email events. Useful for notifying users that you cannot reach them via email inside your application. Compatible with Laravel 5+ and Lumen 5+.
Installation
composer require eventhomes/laravel-mandrillhooks
Basic Usage
- Create a controller that extends MandrillWebhookController as follows. You can then handle any Mandrillapp webhook event.
use EventHomes\Api\Webhooks\MandrillWebhookController; class MyController extends MandrillWebhookController { /** * Handle a hard bounced email * * @param $payload */ public function handleHardBounce($payload) { $email = $payload['msg']['email']; } /** * Handle a rejected email * * @param $payload */ public function handleReject($payload) { $email = $payload['msg']['email']; } }
- Create the route to handle the webhook. In your routes.php file add the following.
post('mandrill-webhook', ['as' => 'mandrill.webhook', 'uses' => 'MandrillController@handleWebHook']);
-
Exclude your route from CSRF protection so it will not fail.
-
Make sure you add your webhook in Mandrill to point to your route. You can do this here: https://mandrillapp.com/settings/webhooks
(Optional) Webhook Authentication
If you would like to increase the security of the webhooks. Add the MandrillWebhookServiceProvider provider to the providers array in config/app.php
'providers' => [ ... EventHomes\Api\Webhooks\MandrillWebhookServiceProvider::class, ],
Next, publish the configuration via
php artisan vendor:publish --provider="EventHomes\Api\Webhooks\MandrillWebhookServiceProvider"
Simply add your Mandrill webhook key in the config file and requests will be authenticated.
Webhook Events
Contributors
Special thanks to @rafaelbeckel and @minioak!