bashy / laravel-campaignmonitor
A Laravel wrapper for Campaign Monitor
v6.0.2
2024-03-15 23:14 UTC
Requires
- php: >=7.2.5
- campaignmonitor/createsend-php: ^6.1
- illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0
README
A Laravel wrapper for CampaignMonitor APIs
Installation
Pull in the package through Composer;
composer require bashy/laravel-campaignmonitor
If you have auto-discover for Laravel packages, please skip this.
Add the service provider to config/app.php
Bashy\CampaignMonitor\CampaignMonitorServiceProvider::class,
This package has a Laravel facade. You can register it in the aliases
array in the config/app.php
file
'CampaignMonitor' => Bashy\CampaignMonitor\Facades\CampaignMonitor::class,
Publish the config file if you want to modify it.
$ php artisan vendor:publish --provider="Bashy\CampaignMonitor\CampaignMonitorServiceProvider"
And set your own API key and Client ID via .env or similar to match these.
CAMPAIGNMONITOR_API_KEY=YourKey
CAMPAIGNMONITOR_CLIENT_ID=123456789
Usage
You can find all the methods in their package campaignmonitor/createsend-php package.
Some examples;
// Add a subscriber to a list
$result = CampaignMonitor::subscribers('LIST_ID')->add([
'EmailAddress' => 'email@example.com',
'Name' => 'Ben',
'ConsentToTrack' => 'No', // Yes, No, or Unchanged - now required by API v3.2
]);
// Create a list for your client
$result = CampaignMonitor::lists()->create(config('campaignmonitor.client_id'), [
'Title' => 'List name',
]);
To send classic transactional emails
$data = [
'From' => 'from@example.org',
'To' => 'to@example.org',
'ReplyTo' => 'replyto@example.org',
'CC' => 'cc@example.org',
'BCC' => 'bcc@example.org',
'HTML' => '<p>Hello there!</p>',
'Text' => 'Hello there!',
'ConsentToTrack' => 'No', // Yes, No, or Unchanged - now required by API v3.2
];
CampaignMonitor::classicSend('CLIENT_ID')->send($data);