baorv/cleverreach

CleverReach API for PHP

v0.0.1 2019-01-18 03:29 UTC

This package is auto-updated.

Last update: 2024-04-18 17:15:25 UTC


README

Easy CleverReach v3 integration for PHP

Build Status Software License

Requirements

# Dependency Type Version Note
1 PHP Platform >= 7.0
2 Laravel Library >= 5.5 Only when using Laravel

Installation

Packagist

  • You can install this package via composer
composer require "baorv/cleverreach":"^0.0.1"
  • Or composer.json way
{
  "require": {
    "baorv/cleverreach": "^0.0.1"
  }
}

and run

composer update "baorv/cleverreach"

For Laravel

Baorv\Cleverreach\ServiceProvider::class
  • Change environment variables in .env
CLEVERREACH_CLIENT_ID=
CLEVERREACH_CLIENT_SECRET=
CLEVERREACH_ACCESS_TOKEN=
  • If you want to customize configuration. You also can publish the config
php artisan vendor:publish --provider="Baorv\\CleverReach\ServiceProvider"

Origin docs

The origin document from CleverReach located in https://rest.cleverreach.com/explorer/v3/

Usage

PHP

  • To authenticate CleverReach
<?php

use Baorv\CleverReach\Http\GuzzleHttpClient;

$cleverReachApi = new GuzzleHttpClient('client_id', 'client_secret');
$cleverReachApi->authorize();

// Get access token
$accessToken = $cleverReachApi->getAccessToken();
  • To access a resource from CleverReach server
<?php

use Baorv\CleverReach\Resources\Endpoints\Debug;

/** @var \Baorv\CleverReach\Http\GuzzleHttpClient $cleverReachApi */
$debugApi = new Debug($cleverReachApi);

$debugApi->exchange();

Laravel

  • To access an resource from CleverReach api
<?php

use Baorv\CleverReach\Resources\Endpoints\Reports;

app(Reports::class)->all();

Exception

When you request to CleverReach API, it can contain some errors.

<?php

use Baorv\CleverReach\Resources\Endpoints\Reports;
use Baorv\CleverReach\Exceptions\CleverReachException;

try {
    app(Reports::class)->all();
} catch (CleverReachException $ex) {
    // Log or do something with $ex
}
  • Also, for PHP
<?php

use Baorv\CleverReach\Resources\Endpoints\Reports;
use Baorv\CleverReach\Exceptions\CleverReachException;

/** @var \Baorv\CleverReach\Http\GuzzleHttpClient $cleverReachApi */
$reportApi = new Reports($cleverReachApi);

try {
    $reportApi->all();
} catch (CleverReachException $ex) {
    // Log or do anything with $ex
}

Testing

Issue

If you have any issue, please create new issue

License

This project is licensed under the MIT License.

Todo

  • Add missing resources
  • Make better documents
  • Testing