It is an official PHP SDK for MailerLite API v2.
You can find more examples and information about MailerLite API v2 here: https://developers.mailerlite.com
In order to use this library you need to have at least PHP 7.1 version.
There are two ways to use MailerLite PHP SDK:
Use Composer
If you are not familiar with Composer, learn about it here.
Then you will need to run this simple command using CLI:
composer require mailerlite/mailerlite-api-v2-php-sdk
This library is built atop of PSR-7 and
PSR-18. If you are receiving Http\Discovery\Exception\DiscoveryFailedException
exception, you will need to run:
composer require php-http/guzzle6-adapter
This way is preferable only if you are using shared hosting and do not have a possibility to use Composer. You will need to download the source of the latest release from here, extract it and place its contents in the root folder of your project. The next step is the same as using Composer, you will need to require vendor/autoload.php
file in your index.php and lets dive in!
In the given example you will see how to initiate selected API and a few actions which are available:
- Create group
- Get groups
- Update group
- Get subscribers who belongs to selected group
$groupsApi = (new \MailerLiteApi\MailerLite('your-api-key'))->groups();
$newGroup = $groupsApi->create(['name' => 'New group']); // creates group and returns it
$allGroups = $groupsApi->get(); // returns array of groups
$groupId = 123;
$singleGroup = $groupsApi->find($groupId); // returns single item object
$subscribers = $groupsApi->getSubscribers($groupId); // get subscribers who belongs to selected group
$subscribers = $groupsApi->getSubscribers($groupId, 'unsubscribed'); // get unsubscribed subscribers who belongs to selected group
Also `MailerLiteApi\MailerLite' object can be initiated before selecting API you want to use and it allows to achieve more.
$mailerliteClient = new \MailerLiteApi\MailerLite('your-api-key');
$groupsApi = $mailerliteClient->groups();
$groups = $groupsApi->get(); // returns array of groups
$fieldsApi = $mailerliteClient->fields();
$fields = $fieldsApi->get(); // returns array of fields
MailerLite SDK uses cURL as default HTTP client but it is easy to use your preferred client. It is achieved by using HTTPlug which is PSR-7 compliant HTTP client abstraction.
Here is an example how to use Guzzle instead of cURL:
$guzzle = new \GuzzleHttp\Client();
$guzzleClient = new \Http\Adapter\Guzzle6\Client($guzzle);
$mailerliteClient = new \MailerLiteApi\Mailerlite('your-api-key', $guzzleClient);
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 [email protected]
Official documentation is at https://developers.mailerlite.com