- Installation
- Usage
- Testing
- License
- PHP 7.4
- An API Key from MailerLite
- PSR-7 and PSR-18 based HTTP adapter
composer require mailerlite/mailerlite-php
If you get an error saying “Could not find resource using any discovery strategy.” it means that all the discovery strategies have failed. Most likely, your project is missing the message factories and/or a PRS-7 implementation. To resolve this you may run
$ composer require php-http/curl-client guzzlehttp/psr7 php-http/message
More information on request parameters: https://developers.mailerlite.com/docs/subscribers.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
'email' => 'subscriber@example.com',
];
$response = $mailerLite->subscribers->create($data);
Single record
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$subscriberId = '123';
$response = $mailerLite->subscribers->find($subscriberId);
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->subscribers->get();
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$subscriberId = '123',
$data = [
'fields' => [
'name' => 'Example',
],
];
$response = $mailerLite->subscribers->update($subscriberId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$subscriberId = '123';
$response = $mailerLite->subscribers->delete($subscriberId);
More information on request parameters: https://developers.mailerlite.com/docs/campaigns.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
'type' => 'regular',
'name' => 'My new campaign',
'language_id' => 10,
'emails' => [
[
'subject' => 'My new email',
'from_name' => 'me',
'from' => 'me@example.com',
'content' => 'Hello World!',
]
],
'filter' => [],
];
$response = $mailerLite->campaigns->create($data);
Single record
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$response = $mailerLite->campaigns->find($campaignId);
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
'filter' => ['status' => 'sent'],
];
$response = $mailerLite->campaigns->get($data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$data = [
'name' => 'Changed campaign name',
'emails' => [
[
'subject' => 'Changed email subject',
'from_name' => 'Changed from name',
'from' => 'changed@example.com',
]
],
];
$response = $mailerLite->campaigns->update($campaignId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$response = $mailerLite->campaigns->delete($campaignId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$data = [
'delivery' => 'instant',
];
$response = $mailerLite->campaigns->schedule($campaignId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$response = $mailerLite->campaigns->cancel($campaignId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$campaignId = '123';
$data = [
'type' => 'opened',
];
$response = $mailerLite->campaigns->getSubscriberActivity($campaignId, $data);
More information on request parameters: https://developers.mailerlite.com/docs/groups.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
"name" => "New group",
];
$response = $mailerLite->groups->create($data);
Single record
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$response = $mailerLite->groups->find($groupId);
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->groups->get();
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$data = [
"name" => "Updated name",
];
$response = $mailerLite->groups->update($groupId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$response = $mailerLite->groups->delete($groupId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$response = $mailerLite->groups->getSubscribers($groupId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$subscriberId = '456';
$response = $mailerLite->groups->assignSubscriber($groupId, $subscriberId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$groupId = '123';
$subscriberId = '456';
$response = $mailerLite->groups->unAssignSubscriber($groupId, $subscriberId);
More information on request parameters: https://developers.mailerlite.com/docs/segments.html
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->segments->get();
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$segmentId = '123';
$data = [
"name" => "Updated name",
];
$response = $mailerLite->segments->update($segmentId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$segmentId = '123';
$response = $mailerLite->segments->delete($segmentId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$segmentId = '123';
$response = $mailerLite->segments->getSubscribers($segmentId);
More information on request parameters: https://developers.mailerlite.com/docs/fields.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
"name" => "New field",
"type" => "text",
];
$response = $mailerLite->fields->create($data);
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->fields->get();
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$fieldId = '123';
$data = [
"name" => "Updated name",
];
$response = $mailerLite->fields->update($fieldId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$fieldId = '123';
$response = $mailerLite->fields->delete($fieldId);
More information on request parameters: https://developers.mailerlite.com/docs/forms.html
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->forms->get('popup', []);
Single
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$formId = '123';
$response = $mailerLite->forms->find($formId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$formId = '123';
$data = [
"name" => "Updated name",
];
$response = $mailerLite->forms->update($formId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$formId = '123';
$response = $mailerLite->forms->delete($formId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$formId = '123';
$response = $mailerLite->forms->getSignups($formId);
More information on request parameters: https://developers.mailerlite.com/docs/automations.html
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->automations->get([]);
Single
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$automationId = '123';
$response = $mailerLite->automations->find($automationId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$automationId = '123';
$data = [
'filter' => [
'status' => 'active',
],
];
$response = $mailerLite->automations->activity($automationId, $data);
More information on request parameters: https://developers.mailerlite.com/docs/webhooks.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
"name" => "Name",
"events" => ["subscriber.created"],
"url": "https://www.cartwright.info/eligendi-soluta-corporis-in-quod-ullam",
];
$response = $mailerLite->webhooks->create($data);
All records
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->webhooks->get([]);
Single
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$webhookId = '123';
$response = $mailerLite->webhooks->find($webhookId);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$webhookId = '123';
$data = [
"name" => "Updated name",
];
$response = $mailerLite->webhooks->update($webhookId, $data);
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$webhookId = '123';
$response = $mailerLite->webhooks->delete($webhookId);
More information about request parameters on https://developers.mailerlite.com/docs/campaign-languages.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->campaignLanguages->get();
More information about request parameters on https://developers.mailerlite.com/docs/timezones.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$response = $mailerLite->timezones->get();
More information about request parameters on https://developers.mailerlite.com/docs/batching.html
use MailerLite\MailerLite;
$mailerLite = new MailerLite(['api_key' => 'key']);
$data = [
'requests' => [
[
'method' => 'post',
'path' => 'api/subscribers',
'body' => [
'email' => 'new_subscriber@mail.com'
]
]
]
];
$response = $mailerLite->batches->send($data);
composer test
In case you find any bugs, submit an issue directly here in GitHub.
You are welcome to create SDK for any other programming language.
If you have any troubles using our API or SDK free to contact our support by email info@mailerlite.com