Biblioteca PHP 8.2+

PHP SDK para Lix.li

SDK oficial de PHP para la API de acortamiento de URL de Lix.li. Crea enlaces cortos, gestiona grupos y rastrea clics con un cliente limpio, tipado e inmutable.

# 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
Características

Todo lo necesario para integraciones con API de acortamiento de URL en PHP

Construido para aplicaciones modernas en PHP con DTOs tipados, excepciones predecibles, clientes HTTP compatibles con PSR y soporte IDE de primera clase.

Gestión de enlaces

Crea, actualiza, elimina y organiza enlaces cortos con DTOs tipados y respuestas de API predecibles.

Gestión de grupos

Organiza enlaces en grupos. Crea grupos rotativos para pruebas A/B de páginas de destino.

Cuenta y API de uso

Accede a información de cuenta, límites de API, estadísticas de uso y detalles de plan directamente desde tu aplicación.

DTOs inmutables

Todas las respuestas son clases PHP de solo lectura con propiedades tipadas. Sin matrices mágicas: autocompletado IDE listo para usar.

Excepciones tipadas

6 tipos de excepciones dedicados para validación, autorización, límites de tasa, errores de servidor y fallos de transporte.

Cliente HTTP personalizado

Reemplaza Guzzle por cualquier cliente HTTP compatible PSR-18. Flexibilidad total para pruebas y entornos personalizados.

Inicio rápido

Comienza en 30 segundos

Instala vía Composer y comienza a crear enlaces cortos en minutos. Construido para PHP 8.2+ con DTOs tipados, respuestas inmutables, clientes HTTP compatibles con PSR y flujos de trabajo modernos.

PHP 8.2+ MIT License PSR-18
1
Instala con Composer

Añade el SDK a tu proyecto con un solo comando.

 composer require lix-url/php-sdk
2
Crea un cliente

Pasa tu clave API. Opcionalmente inyecta un cliente HTTP PSR-18 personalizado.

use Lix\Client;
$client = new Client('lix_live_xxx');
3
Crea tu primer enlace

Acorta una URL y recibe un LinkShortenResult tipado con la URL corta e información de uso.

$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 de grupos

Organiza enlaces con grupos y rotación

Organiza enlaces por campaña, producto, equipo o proyecto. Los grupos rotativos distribuyen el tráfico entre múltiples destinos y simplifican los flujos de trabajo de pruebas A/B.

  • create() Crea un grupo con nombre, descripción opcional y modo de rotación.
  • get() Recupera un grupo por ID con todos sus metadatos.
  • update() Renombra, actualiza descripción o cambia el modo de rotación.
  • delete() Elimina un grupo manteniendo los datos de enlaces intactos.
  • list() Explora grupos con paginación y respuestas de colección tipadas.
// 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 de cuenta y uso

Acceso a datos de cuenta, plan y uso

Accede a información de cuenta, detalles de suscripción y límites de uso a través de una sola respuesta tipada. Los DTOs anidados de solo lectura proporcionan autocompletado IDE completo y estructuras de datos predecibles.

$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;

Cliente

Metadatos de organización y cuenta.

Usuario

Información del usuario autenticado y detalles de cuenta.

Plan

Suscripción actual y período de facturación.

Uso

Límites de API, cuotas de enlaces y uso restante.

Excepciones tipadas

6 excepciones tipadas para un control preciso

Maneja errores de API con clases de excepción dedicadas en lugar de respuestas genéricas. Cada error HTTP se mapea a un tipo de excepción específico, mientras que ValidationException expone detalles de validación a nivel de campo.

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 — Entrada inválida. Accede a $e->data para errores de campo.

UnauthorizedException

401 — Credenciales de API faltantes, inválidas o expiradas.

NotFoundException

404 — Enlace, grupo o recurso no encontrado.

RateLimitException

429 — Límite de tasa excedido.

ServerException

500 — Error de servidor inesperado.

HttpClientException

Fallo de red / transporte.

Todas las excepciones del SDK extienden LixException. Captura la clase base para un manejo global o apunta a tipos específicos según sea necesario.

Ecosistema

Explora SDKs para otras plataformas

Usa la misma API de Lix.li desde PHP, JavaScript, Python o Go con SDKs adaptados a cada ecosistema.

Python SDK
Cliente Python tipado para enlaces cortos, grupos, analítica y automatización. Construido para aplicaciones modernas en Python y flujos de trabajo.
Go SDK
SDK nativo de Go con estructuras tipadas, soporte de contexto y manejo de errores idiomático para integraciones con API de acortamiento de URL.
PHP SDK
SDK moderno de PHP con DTOs tipados, modelos de solo lectura, excepciones dedicadas e instalación prioritaria vía Composer.
JS SDK
SDK de JavaScript basado en Promises para entornos Node.js y navegador. Crea y gestiona enlaces cortos con una experiencia de desarrollo limpia.

Ready to shorten links in PHP?

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