Casinelli / Laravel-CampaignMonitor by Casinelli

A Laravel 5 wrapper for Campaign Monitor
44,554
12
3
Package Data
Maintainer Username: Casinelli
Maintainer Contact: giovanni.casinelli@gmail.com (Giovanni Casinelli)
Package Create Date: 2015-10-12
Package Last Update: 2017-01-29
Language: PHP
License: MIT License
Last Refreshed: 2024-12-19 03:14:56
Package Statistics
Total Downloads: 44,554
Monthly Downloads: 67
Daily Downloads: 3
Total Stars: 12
Total Watchers: 3
Total Forks: 9
Total Open Issues: 2

Laravel-CampaignMonitor

A Laravel 5 wrapper for CampaignMonitor APIs

Installation

To get the latest version of Laravel-CampaignMonitor simply require it in your composer.json file.

"casinelli/laravel-campaignmonitor": "dev-master"

You'll then need to run composer install to download it and have the autoloader updated.

Once Laravel-CampaignMonitor is installed you need to register the service provider with the application. Open up app/config/app.php and find the providers key.

<?php

'providers' => [

    Casinelli\CampaignMonitor\CampaignMonitorServiceProvider::class,

]

Laravel-CampaignMonitor also ships with a facade. You can register the facade in the aliases key of your app/config/app.php file.

<?php

'aliases' => [

    'CampaignMonitor' => Casinelli\CampaignMonitor\Facades\CampaignMonitor::class,

]

Create the configuration file using artisan

$ php artisan vendor:publish --provider="Casinelli\CampaignMonitor\CampaignMonitorServiceProvider"

And set your own API key and Client ID:

<?php

return [

    'api_key' => env('CAMPAIGNMONITOR_API_KEY'),

    'client_id' => env('CAMPAIGNMONITOR_CLIENT_ID'),

];

Usage

You can find all the methods in the original campaignmonitor/createsend-php package.

Some examples:

<?php

// Add an user to a List ID:
$result = CampaignMonitor::subscribers('LIST_ID')->add([
    'EmailAddress' => 'example@gmail.com',
    'Name' => 'Giovanni Casinelli',
]);

// Create a list for a Client:
$result = CampaignMonitor::lists()->create(\Config::get('campaignmonitor.client_id'), [
    'Title' => 'List name',
]);

To send classic transactional emails:

<?php

$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!',
];

CampaignMonitor::classicSend('CLIENT_ID')->send($data);