Creator API client Rebrandly

vdhicts/rebrandly-api-client

Complete PHP client for the Rebrandly URL shortener API with model support and exception handling.

Rebrandly API client

Easily use the API of the url shortener Rebrandly.

Requirements#

This packages requires PHP 7.4 or higher.

Installation#

This package can be used in any PHP project or with any framework.

You can install the package via composer:

composer require vdhicts/rebrandly-api-client

Usage#

This package tries to offer you a complete implementation of the Rebrandly API. Some endpoints are restricted to certain plans Rebrandly offer (like scripts and tags).

Quick usage#

All endpoints can be retrieved from the Rebrandly class. This class needs the Client.

use Vdhicts\Rebrandly;

// Initialize the client and the Rebrandly instance
$client = new Rebrandly\Client('API_KEY');
$rebrandly = new Rebrandly\Rebrandly($client);

// Access the endpoints
$linksEndpoint = $rebrandly->links();

For example, to retrieve all links:

$links = $rebrandly->links()->list();

Options#

Some endpoints of the Rebrandly API offer some filtering. Those filters can be set in the Options class. For example, to order your links by clicks:

$links = $rebrandly->links()->list(new Options(['orderBy' => 'clicks', 'orderDir' => 'asc']));

Models#

This client will always return the related models. When creating a new resource, the object is provided to the create method. For example, to create a link:

$link = new Rebrandly\Models\Link();
$link->setDestination('https://time-tracker.vdhicts.nl');
$link->setSlashtag('time-tracker');
$link->setDomain($domain);

$rebrandly->links()->create($link);

To create a link for you custom domain, you need to specify the domain in the Link model:

$domain = new Rebrandly\Models\Domain();
$domain->setFullName('yourdomain.tld');

$link->setDomain($domain);

$rebrandly->links()->create($link);

Exceptions#

When something goes wrong, the client will throw a RebrandlyException. If you want to catch exceptions from this package, that's the one you should catch. Error responses from the API also result in the RebrandlyException.

Laravel#

For Laravel users, I would suggest adding the api key to your .env file:

REBRANDLY_API_KEY="your-key"

And create a config file for Rebrandly or add this to your project's config file. Then initialize the client with the config value:

$client = new Rebrandly\Client(config('rebrandly.api_key'));

Tests#

Unit tests are available in the tests folder. Run via phpunit:

vendor\bin\phpunit

By default a coverage report will be generated in the build/coverage folder.

Contribution#

Any contribution is welcome, but it should meet the PSR-2 standard and please create one pull request per feature. In exchange you will be credited as contributor on this page.

Security#

If you discover any security related issues in this or other packages of Vdhicts, please email security@vdhicts.nl instead of using the issue tracker.

License#

This package is open-source software licensed under the MIT license.

Support#

This package isn't an official package from Rebrandly, so they probably won't offer support for it. If you encounter a problem with this client, please open an issue on GitHub.