bashy/laravel-campaignmonitor

A Laravel wrapper for Campaign Monitor

Maintainers

👁 bashy

Package info

gitlab.com/bashy/Laravel-CampaignMonitor

Issues

pkg:composer/bashy/laravel-campaignmonitor

Statistics

Installs: 380 007

Dependents: 1

Suggesters: 0

Stars: 3

v6.0.4 2026-03-18 12:32 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 67881966267cd82333c00ff6967b70950c32e563

  • Giovanni Casinelli <giovanni.casinelli.woop@gmail.com>

newsletterwrapperlaravelCampaign Monitor

This package is auto-updated.

Last update: 2026-06-18 13:02:33 UTC


README

👁 Total Downloads

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