Библиотека PHP 8.2+

PHP SDK для Lix.li

Официальный PHP SDK для API сокращения URL Lix.li. Создавайте короткие ссылки, управляйте группами и отслеживайте клики с помощью чистого типизированного клиента с неизменяемыми объектами.

# Install via Composer
$ composer require lix-url/php-sdk

// Quick start
use Lix\Client;

$client = new Client('lix_live_xxx');
$link = $client->links()->create('https://example.com');
echo $link->link->shortUrl;
// https://lix.li/a3b7k2
Возможности

Всё необходимое для интеграции с API сокращения URL в PHP

Создан для современных PHP-приложений с типизированными DTO, предсказуемыми исключениями, совместимыми с PSR HTTP-клиентами и первоклассной поддержкой IDE.

Управление ссылками

Создавайте, обновляйте, удаляйте и организовывайте короткие ссылки с типизированными DTO и предсказуемыми ответами API.

Управление группами

Организуйте ссылки в группы. Создавайте ротирующие группы для A/B-тестирования посадочных страниц.

Аккаунт и API использования

Получайте информацию об аккаунте, лимитах API, статистике использования и деталях плана прямо из вашего приложения.

Неизменяемые DTO

Все ответы — это readonly PHP-классы с типизированными свойствами. Никаких магических массивов — автодополнение в IDE из коробки.

Типизированные исключения

6 выделенных типов исключений для валидации, авторизации, ограничений скорости, серверных ошибок и сбоев транспорта.

Пользовательский HTTP-клиент

Замените Guzzle на любой HTTP-клиент, совместимый с PSR-18. Полная гибкость для тестирования и кастомных сред.

Быстрый старт

Начните работу за 30 секунд

Установка через Composer и начните создание коротких ссылок за минуты. Создан для PHP 8.2+ с типизированными DTO, неизменяемыми ответами, совместимыми с PSR HTTP-клиентами и современными рабочими процессами разработчиков.

PHP 8.2+ MIT License PSR-18
1
Установка через Composer

Добавьте SDK в ваш проект одной командой.

 composer require lix-url/php-sdk
2
Создайте клиент

Передайте ваш API-ключ. При желании внедрите пользовательский HTTP-клиент PSR-18.

use Lix\Client;
$client = new Client('lix_live_xxx');
3
Создайте первую ссылку

Сократите URL и получите типизированный LinkShortenResult с короткой ссылкой и информацией об использовании.

$result = $client->links()->create('https://example.com');
echo $result->link->shortUrl;
// https://lix.li/a3b7k2
// Links used: 42 / 100
echo $result->usage->used . ' / ' . $result->usage->limit;
API групп

Организуйте ссылки с группами и ротацией

Организуйте ссылки по кампаниям, продуктам, командам или проектам. Ротирующие группы распределяют трафик между несколькими назначениями и упрощают A/B-тестирование.

  • create() Создайте группу с названием, необязательным описанием и режимом ротации.
  • get() Получите группу по ID со всеми метаданными.
  • update() Переименуйте, обновите описание или переключите режим ротации.
  • delete() Удалите группу, сохранив данные ссылок.
  • list() Просмотр групп с пагинацией и типизированными коллекциями.
// Create a regular group
$group = $client->groups()->create(
    name: 'Marketing'
);
echo $group->name;

// Create a rotating group for A/B testing
$group = $client->groups()->create(
    name: 'Landing Pages',
    isRotate: true
);

// Update group
$group = $client->groups()->update(
    groupId: 10,
    description: 'Updated description'
);

// List with pagination
$response = $client->groups()->list(
    limit: 10,
    fromId: 1000
);
foreach ($response->groups as $group) {
    echo $group->name . PHP_EOL;
}
API аккаунта и использования

Доступ к данным аккаунта, плана и использования

Получите информацию об аккаунте, детали подписки и лимиты использования через единый типизированный ответ. Вложенные readonly DTO обеспечивают полное автодополнение IDE и предсказуемую структуру данных.

$profile = $client->profile()->me();

// Account info
echo $profile->client->name;
echo $profile->user->email;

// Plan details
echo $profile->plan->name;
echo $profile->plan->endDatetime;

// Usage limits
echo $profile->usages->links->remaining;
echo $profile->usages->apiLinks->used;
echo $profile->usages->massLinks->limit;

Клиент

Метаданные организации и аккаунта.

Пользователь

Информация об аутентифицированном пользователе и детали аккаунта.

План

Текущая подписка и платежный период.

Использование

Лимиты API, квоты ссылок и оставшееся использование.

Типизированные исключения

6 типизированных исключений для точного контроля

Обрабатывайте ошибки API с выделенными классами исключений вместо универсальных ответов. Каждая HTTP-ошибка соответствует определенному типу исключения, а ValidationException предоставляет детали валидации на уровне полей.

use Lix\Exceptions\ValidationException;
use Lix\Exceptions\UnauthorizedException;
use Lix\Exceptions\NotFoundException;
use Lix\Exceptions\RateLimitException;
use Lix\Exceptions\ServerException;

try {
    $client->links()->create(
        url: 'invalid-url'
    );
} catch (ValidationException $e) {
    // Field-level validation errors
    // $e->data;
} catch (UnauthorizedException $e) {
    // Invalid or expired API key
} catch (NotFoundException $e) {
    // Link or group does not exist
} catch (RateLimitException $e) {
    // Too many requests — retry after
} catch (ServerException $e) {
    // 5xx server error
}
ValidationException

400 — Неверный ввод. Доступ к $e->data для ошибок полей.

UnauthorizedException

401 — Отсутствующие, неверные или просроченные API-учетные данные.

NotFoundException

404 — Ссылка, группа или ресурс не найдены.

RateLimitException

429 — Превышен лимит запросов.

ServerException

500 — Неожиданная серверная ошибка.

HttpClientException

Сбой сети / транспорта.

Все исключения SDK расширяют LixException. Ловите базовый класс для глобальной обработки или нацеливайтесь на конкретные типы при необходимости.

Экосистема

Изучите SDK для других платформ

Используйте один и тот же API Lix.li из PHP, JavaScript, Python или Go с SDK, адаптированными под каждую экосистему.

Python SDK
Типизированный Python-клиент для коротких ссылок, групп, аналитики и автоматизации. Создан для современных Python-приложений и рабочих процессов.
Go SDK
Нативный Go SDK с типизированными структурами, поддержкой контекста и идиоматичной обработкой ошибок для интеграций с API сокращения URL.
PHP SDK
Современный PHP SDK с типизированными DTO, неизменяемыми моделями, выделенными исключениями и установкой через Composer.
JS SDK
JavaScript SDK на основе Promise для Node.js и браузерных сред. Создавайте и управляйте короткими ссылками с чистым опытом разработчика.

Ready to shorten links in PHP?

Install the SDK, get your API key, and start creating short links in under a minute.