casinelli/laravel-campaignmonitor

A Laravel 5 wrapper for Campaign Monitor

v1.0.0 2016-08-12 06:25 UTC

This package is not auto-updated.

Last update: 2024-12-19 01:33:36 UTC


README

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);