rdoepner / cleverreach
CleverReach REST API v3 client
Installs: 285 626
Dependents: 0
Suggesters: 0
Security: 0
Stars: 33
Watchers: 5
Forks: 13
Open Issues: 3
Requires
- ext-json: *
- guzzlehttp/guzzle: ^6.3 || ^7.0
- psr/log: ^1.1 || ^2.0 || ^3.0
Requires (Dev)
- monolog/monolog: ^1.24 || ^2.0 || ^3.0
- phpunit/phpunit: ^7.5
- symfony/dotenv: ^4.2
README
This library makes it easy to interact with the CleverReach REST API v3.
Installation
composer require rdoepner/cleverreach
Usage
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) { // ... }