tly/laravel-url-shortener-api

A Laravel package for the T.LY URL Shortener API

Maintainers

Package info

github.com/tlyshortener/t.ly-laravel-url-shortener-api

pkg:composer/tly/laravel-url-shortener-api

Statistics

Installs: 268

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.1 2026-02-18 02:18 UTC

This package is not auto-updated.

Last update: 2026-03-04 02:37:19 UTC


README

Laravel wrapper for the T.LY API, including full support for the endpoints in the T.LY Postman collection.

Create an API Key

  1. Register a T.LY account.
  2. Create an API token.

Installation

composer require tly/laravel-url-shortener-api

Publish config:

php artisan vendor:publish --provider="TLY\\LaravelUrlShortener\\TLYServiceProvider" --tag=config

Set environment values:

TLY_API_TOKEN=your_api_token_here
TLY_API_BASE_URL=https://api.t.ly/api/v1

Usage

use TLY\LaravelUrlShortener\Facades\TLYApi;

All methods return decoded JSON from the T.LY API.

Quick Start

$created = TLYApi::create([
    'long_url' => 'https://example.com',
    'description' => 'Example Link',
]);

$stats = TLYApi::stats('https://t.ly/abc1', [
    'start_date' => '2025-08-01T00:00:00Z',
    'end_date' => '2025-08-31T23:59:59Z',
]);

Method Reference

Short Links

API Endpoint Method Service Method
/api/v1/link/shorten POST create(array $data)
/api/v1/link GET get(string $shortUrl)
/api/v1/link PUT update(array $data)
/api/v1/link DELETE delete(string $shortUrl)
/api/v1/link/list GET list(array $params = [])
/api/v1/link/list GET listShortLinks(array $params = [])
/api/v1/link/expand POST expand(string $shortUrl, ?string $password = null, array $payload = [])
/api/v1/link/bulk POST bulk(array $payload)
/api/v1/link/bulk/update POST bulkUpdate(array $payload)
/api/v1/link/stats GET stats(string $shortUrl, array $params = [])

Example:

$expanded = TLYApi::expand('https://t.ly/OYXL', 'password123');

$links = TLYApi::listShortLinks([
    'search' => 'amazon',
    'tag_ids' => [1, 2, 3],
    'pixel_ids' => [1, 2, 3],
]);

OneLinks

API Endpoint Method Service Method
/api/v1/onelink/stats GET oneLinkStats(string $shortUrl, ?string $startDate = null, ?string $endDate = null, array $params = [])
/api/v1/onelink/stat DELETE deleteOneLinkStats(string $shortUrl)
/api/v1/onelink/list GET listOneLinks(array $params = [])

Example:

$oneLinkStats = TLYApi::oneLinkStats(
    'https://t.ly/one',
    '2024-06-01',
    '2024-06-08'
);

$oneLinks = TLYApi::listOneLinks(['page' => 1]);

UTM Preset Methods

API Endpoint Method Service Method
/api/v1/link/utm-preset POST createUtmPreset(array $payload)
/api/v1/link/utm-preset GET listUtmPresets(array $params = [])
/api/v1/link/utm-preset/{id} GET getUtmPreset($id)
/api/v1/link/utm-preset/{id} PUT updateUtmPreset($id, array $payload)
/api/v1/link/utm-preset/{id} DELETE deleteUtmPreset($id)

Example:

$preset = TLYApi::createUtmPreset([
    'name' => 'Newsletter Launch',
    'source' => 'newsletter',
    'medium' => 'email',
    'campaign' => 'fall_launch',
]);

Pixels

API Endpoint Method Service Method
/api/v1/link/pixel POST createPixel(array $payload)
/api/v1/link/pixel GET listPixels(array $params = [])
/api/v1/link/pixel/{id} GET getPixel($id)
/api/v1/link/pixel/{id} PUT updatePixel($id, array $payload)
/api/v1/link/pixel/{id} DELETE deletePixel($id)

Example:

$pixel = TLYApi::createPixel([
    'name' => 'GTMPixel',
    'pixel_id' => 'GTM-xxxx',
    'pixel_type' => 'googleTagManager',
]);

QR Codes

API Endpoint Method Service Method
/api/v1/link/qr-code GET getQrCode(string $shortUrl, array $params = [])
/api/v1/link/qr-code PUT updateQrCode(array $payload)

Example:

$qr = TLYApi::getQrCode('https://t.ly/c55j', [
    'output' => 'base64',
    'format' => 'eps',
]);

Tags

API Endpoint Method Service Method
/api/v1/link/tag GET listTags(array $params = [])
/api/v1/link/tag POST createTag(array $payload)
/api/v1/link/tag/{id} GET getTag($id)
/api/v1/link/tag/{id} PUT updateTag($id, array $payload)
/api/v1/link/tag/{id} DELETE deleteTag($id)

Example:

$tag = TLYApi::createTag(['tag' => 'fall2026']);

License

MIT