1. Go to this page and download the library: Download cleverreach/php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cleverreach / php-sdk example snippets
leverReach\SDK\CleverReachClient;
// 1. Create a client with your API token
$client = new CleverReachClient('YOUR_API_TOKEN');
// 2. Fetch all groups using the typed service
$groups = $client->groups()->all();
foreach ($groups as $group) {
echo $group->name . PHP_EOL;
}
// Alternatively, via raw request (returns arrays):
// $groupsArray = $client->request('GET', 'groups');
// echo $groupsArray[0]['name'];
use CleverReach\SDK\CleverReachClient;
use CleverReach\SDK\Enum\GroupSortField;
use CleverReach\SDK\Enum\SortOrder;
$client = new CleverReachClient('YOUR_API_TOKEN');
// Fetch all groups, sorted by last change descending
$groups = $client->groups()->all(
order: GroupSortField::Changed,
direction: SortOrder::Descending
);
foreach ($groups as $group) {
echo $group->id . ': ' . $group->name . PHP_EOL;
}
// Fetch a single group by ID
$group = $client->groups()->get(123);
echo $group->name;
use CleverReach\SDK\Enum\ReceiverSortField;
use CleverReach\SDK\Enum\ReceiverType;
use CleverReach\SDK\Enum\SortOrder;
$client = new CleverReachClient('YOUR_API_TOKEN');
// List active receivers in a group, sorted by email
$receivers = $client->groups()->getReceivers(
groupId: 123,
page: 0,
pageSize: 100,
type: ReceiverType::Active,
orderBy: ReceiverSortField::Email,
orderDirection: SortOrder::Ascending
);
foreach ($receivers as $receiver) {
echo $receiver->email . PHP_EOL;
}
// Filter by specific emails or IDs
$receivers = $client->groups()->getReceivers(
groupId: 123,
emailList: ['[email protected]', '[email protected]']
);
// By numeric ID
$receiver = $client->receivers()->get(381940);
// By email address
$receiver = $client->receivers()->get('[email protected]');
echo $receiver->email . ' – active: ' . ($receiver->active ? 'yes' : 'no');
use CleverReach\SDK\Exception\AuthenticationException;
use CleverReach\SDK\Exception\RateLimitExceededException;
use CleverReach\SDK\Exception\CleverReachException;
try {
$groups = $client->groups()->all();
} catch (AuthenticationException $e) {
// Token invalid – refresh and retry
echo 'Auth error: ' . $e->getMessage();
} catch (RateLimitExceededException $e) {
// Too many requests - sleep and retry
sleep(60);
} catch (CleverReachException $e) {
// Network error, API error, etc.
echo 'API error ' . $e->statusCode() . ': ' . $e->getMessage();
echo 'Raw response body: ' . $e->responseBody();
}
use CleverReach\SDK\CleverReachClient;
$client = new CleverReachClient(
apiToken: 'YOUR_API_TOKEN',
baseUri: 'https://rest.cleverreach.com/v3/', // optional, this is the default
httpClient: $myPsr18Client,
requestFactory: $myPsr17RequestFactory,
streamFactory: $myPsr17StreamFactory,
);
use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Psr7\HttpFactory;
use CleverReach\SDK\CleverReachClient;
$factory = new HttpFactory();
$client = new CleverReachClient(
apiToken: 'YOUR_API_TOKEN',
httpClient: new GuzzleClient(),
requestFactory: $factory,
streamFactory: $factory,
);
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.