This library makes it easy to interact with the CleverReach REST API v3.
composer require rdoepner/cleverreach
Get an access token
use rdoepner\CleverReach\ApiManager;
use rdoepner\CleverReach\Http\Guzzle as HttpAdapter;
// Create an HTTP adapter
$httpAdapter = new HttpAdapter();
// Authorize your app by credentials
$response = $httpAdapter->authorize('<CLIENT_ID>', '<CLIENT_SECRET>');
if (isset($response['access_token'])) {
// Persist the access token for later use...
}
Initialize an API manager
use rdoepner\CleverReach\ApiManager;
use rdoepner\CleverReach\Http\Guzzle as HttpAdapter;
// Create an HTTP adapter
$httpAdapter = new HttpAdapter(
[
'access_token' => '<ACCESS_TOKEN>',
]
);
// Create the API manager
$apiManager = new ApiManager($httpAdapter);
Create an inactive subscriber
$response = $apiManager->createSubscriber(
'<EMAIL>',
'<GROUP_ID>',
false, // not activated
[
'salutation' => 'Mr.',
'firstname' => 'John',
'lastname' => 'Doe',
],
[], // global attributes
'Source',
['tagX'] // tags
);
if (isset($response['id'])) {
// ...
}
Update a subscriber
$response = $apiManager->updateSubscriber(
'<EMAIL>',
'<GROUP_ID>',
[
'salutation' => 'Mr.',
'firstname' => 'John',
'lastname' => 'Doe',
],
[], // global attributes
'Source',
['tagX'] // tags
);
if (isset($response['id'])) {
// ...
}
Trigger the Double-Opt-In email for an inactive subscriber
$response = $apiManager->triggerDoubleOptInEmail('<EMAIL>', '<FORM_ID>');
if (isset($response['success'])) {
// ...
}
Trigger the Double-Opt-Out email for an active subscriber
$response = $apiManager->triggerDoubleOptOutEmail('<EMAIL>', '<FORM_ID>');
if (isset($response['success'])) {
// ...
}
Get subscriber
$response = $apiManager->getSubscriber('<EMAIL>', '<GROUP_ID>');
if (isset($response['id'])) {
// ...
}
Sets the active status of a subscriber
$response = $apiManager->setSubscriberStatus('<EMAIL>', '<GROUP_ID>', '<TRUE_OR_FALSE>');
if (true === $response) {
// ...
}
Delete a subscriber
$response = $apiManager->deleteSubscriber('<EMAIL>', '<GROUP_ID>');
if (true === $response) {
// ...
}
Get attributes
$response = $apiManager->getAttributes('<GROUP_ID>');
if (true === $response) {
// ...
}
Update the attributes of a subscriber
$response = $apiManager->updateSubscriberAttributes('<POOL_ID>', '<ATTRIBUTE_ID>', '<VALUE>');
if (true === $response) {
// ...
}
Replace the tags of a subscriber
$response = $apiManager->replaceSubscriberTags('<EMAIL>', '<GROUP_ID>', ['<TAG1>', '<TAG2>', ...]);
if (true === $response) {
// ...
}
Get the groups a subscriber is in
$response = $apiManager->getSubscriberGroups('<EMAIL>');
if (true === $response) {
// ...
}