mailerlite / mailerlite-api-v2-php-sdk
MailerLite API v2 PHP SDK
Installs: 1 434 367
Dependents: 15
Suggesters: 0
Security: 0
Stars: 80
Watchers: 12
Forks: 45
Open Issues: 8
Requires
- php: ^7.1 || ^8.0
- ext-json: *
- nyholm/psr7: ^1.0
- php-http/client-common: ^2.0
- php-http/discovery: ^1.7
Requires (Dev)
- php-http/guzzle6-adapter: ^2.0
- phpunit/phpunit: 6.* | 7.* | 8.* | 9.*
README
This library is for MailerLite Classic. If you want to integrate with MailerLite please use https://github.com/mailerlite/mailerlite-php instead.
It is an official PHP SDK for the MailerLite Classic API.
You can find more examples and information about the MailerLite Classic API here: https://developers-classic.mailerlite.com/docs
Getting started
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
Manual (preferable for shared hostings)
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!
Usage examples
Groups API
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
Use multiple APIs at once
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
Use your preferred HTTP client
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);
Support and Feedback
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
Official documentation is at https://developers-classic.mailerlite.com/docs