Skip to content
/ urlr-php Public

PHP library for link shortening with URLR API.

Notifications You must be signed in to change notification settings

URLR/urlr-php

Repository files navigation

Packagist Version Packagist Downloads Packagist License

This SDK is automatically generated with the OpenAPI Generator project.

  • API version: 1.3
  • Package version: 2.3.0
  • Build package: urlr/urlr-php

For more information, please visit https://urlr.me/en

Installation & Usage

Requirements

PHP 8.1 and later.

Composer

You can install the bindings via Composer. Run the following command:

composer require urlr/urlr-php

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/URLR/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php

require_once(__DIR__ . '/vendor/autoload.php');

// Access Tokens

$accessTokensApi = new URLR\Api\AccessTokensApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$accessTokensRequest = new \URLR\Model\AccessTokensRequest([
    'username' => '',
    'password' => '',
]); // \URLR\Model\AccessTokensRequest | Your credentials

try {
    $token = $accessTokensApi->createAccessToken($accessTokensRequest)->getToken();
} catch (Exception $e) {
    echo 'Exception when calling AccessTokensApi->createAccessToken: ', $e->getMessage(), PHP_EOL;
    exit;
}

$config = URLR\Configuration::getDefaultConfiguration()->setAccessToken($token);

// Link shortening

$linksApi = new URLR\Api\LinksApi(null, $config);

$createLinkRequest = new \URLR\Model\CreateLinkRequest([
    'url' => '',
    'teamId' => ''
]); // \URLR\Model\CreateLinkRequest | Infos of the link to shorten

try {
    $result = $apiInstance->createLink($createLinkRequest);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling LinksApi->createLink: ', $e->getMessage(), PHP_EOL;
}

A complete example is available here.

API Endpoints

All URIs are relative to https://urlr.me/api/v1

Class Method HTTP request Description
AccessTokensApi createAccessToken POST /access_tokens/create Get an access token
AccessTokensApi refreshAccessToken POST /access_tokens/refresh Refresh an access token
FoldersApi getFolders GET /folders/{team_id} Get folders of team
LinksApi createLink POST /links/create Create a link
LinksApi getLink GET /links/{link_id} Get a link
QRCodesApi createQrCode POST /qrcodes/create Create a QR Code
StatisticsApi getStatistics POST /statistics Get statistics of a link
TeamsApi getTeams GET /teams Get teams of user

Models

Authorization

bearerAuth

  • Type: Bearer authentication (JWT)

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Get help / support

Please contact [email protected] and we can take more direct action toward finding a solution.