Download the PHP package mendel-ideo/freshmail-rest-api without Composer
On this page you can find all versions of the php package mendel-ideo/freshmail-rest-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mendel-ideo/freshmail-rest-api
More information about mendel-ideo/freshmail-rest-api
Files in mendel-ideo/freshmail-rest-api
Package freshmail-rest-api
Short Description A php library which implements the functionality of FreshMail REST API.
License GPL-3.0
Informations about the package freshmail-rest-api
FreshMail
A php library which implements connection to FreshMail REST API.
This API client covers all functions of API V2 such as:
- subscribers management
- list management
- campaign management
- sending transactional SMS messages
If You want to send transactional messages in rich format please use new API V3 client.
Installation via composer (compatible with PHP >=7.0)
Add via composer:
composer require freshmail/rest-api:^3.0
Installation of old version of library (compatible with PHP >=5.3)
Add via composer:
composer require freshmail/rest-api:^2.0
Usage
Below some simple examples, for whole API function see full API V2 doc
Test connection
use \FreshMail\ApiV2\Client;
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$apiClient->doRequest('ping');
Create subscribers list
use \FreshMail\ApiV2\Client;
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$data = [
'name' => 'List with subscribers from my website'
];
$apiClient->doRequest('subscribers_list/create', $data);
Add subscriber to list
use \FreshMail\ApiV2\Client;
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$data = [
'email' => '[email protected]',
'list' => 'list_hash'
];
$apiClient->doRequest('subscriber/add', $data);
Get file from async api
use \FreshMail\ApiV2\Client;
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$data = [
'id_job' => 'XXX'
];
$zipContent = $apiClient->doFileRequest('async_result/getFile', $data);
file_put_contents('/testLocation/testfile.zip', $zipContent);
Proxy setup
To use proxy You can pass Your own GuzzleHttp Client:
use \FreshMail\ApiV2\Client;
$guzzleClient = new \GuzzleHttp\Client(
[
'proxy' => 'my proxy url'
]
);
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$apiClient->setGuzzleHttpClient($guzzleClient);
Debugging
PSR-3 Logger Interface
You can use any library that implements PSR-3 Psr\Log\LoggerInterface
, example with Monolog below:
use \FreshMail\ApiV2\Client;
$logger = new \Monolog\Logger('myCustomLogger');
$logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stderr', \Monolog\Logger::DEBUG));
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$apiClient->setLogger($monolog);
Using Guzzle
You can also pass Your own GuzzleHttp Client with proper configuration:
use \FreshMail\ApiV2\Client;
$stack = \GuzzleHttp\HandlerStack::create();
$stack->push(
\GuzzleHttp\Middleware::log(
new \Monolog\Logger('Logger'),
new \GuzzleHttp\MessageFormatter(\GuzzleHttp\MessageFormatter::DEBUG)
)
);
$guzzleClient = new \GuzzleHttp\Client(
[
'handler' => $stack,
]
);
$token = 'MY_APP_TOKEN';
$apiClient = new Client($token);
$apiClient->setGuzzleHttpClient($guzzleClient);
All versions of freshmail-rest-api with dependencies
ext-curl Version *
ext-json Version *
monolog/monolog Version ^3.0
guzzlehttp/guzzle Version ~7.2
psr/log Version ^2.0 || ^3.0