Instale com Composer
Adicione o SDK ao seu projeto com um único comando.
composer require lix-url/php-sdk
SDK oficial de PHP para a API de encurtamento de URL do Lix.li. Crie links curtos, gerencie grupos e rastreie cliques com um cliente limpo, tipado e imutável.
# 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
Construído para aplicações modernas em PHP com DTOs tipados, exceções previsíveis, clientes HTTP compatíveis com PSR e suporte IDE de primeira classe.
Crie, atualize, exclua e organize links curtos com DTOs tipados e respostas de API previsíveis.
Organize links em grupos. Crie grupos rotativos para testes A/B de páginas de destino.
Acesse informações de conta, limites de API, estatísticas de uso e detalhes de plano diretamente da sua aplicação.
Todas as respostas são classes PHP somente leitura com propriedades tipadas. Sem arrays mágicos — autocompletar IDE pronto para usar.
6 tipos de exceções dedicados para validação, autorização, limites de taxa, erros de servidor e falhas de transporte.
Substitua o Guzzle por qualquer cliente HTTP compatível com PSR-18. Flexibilidade total para testes e ambientes personalizados.
Instale via Composer e comece a criar links curtos em minutos. Construído para PHP 8.2+ com DTOs tipados, respostas imutáveis, clientes HTTP compatíveis com PSR e fluxos de trabalho modernos.
Adicione o SDK ao seu projeto com um único comando.
composer require lix-url/php-sdk
Passe sua chave de API. Opcionalmente injete um cliente HTTP PSR-18 personalizado.
use Lix\Client; $client = new Client('lix_live_xxx');
Encurte uma URL e receba um LinkShortenResult tipado com a URL curta e informações 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;
Crie, atualize e gerencie links curtos com aliases personalizados, parâmetros UTM, pixels de rastreamento, senhas, regras de expiração e grupos. Cada operação retorna DTOs tipados para integração previsível.
// Create a basic link $result = $client->links()->create( 'https://example.com' ); // With custom alias and UTM $result = $client->links()->create( url: 'https://example.com', alias: 'summer-sale', utm: [ 'source' => 'newsletter', 'medium' => 'email', 'campaign' => 'summer-sale', ], tags: ['marketing', '2026'], isPublic: true ); // Password protection + expiration $result = $client->links()->create( url: 'https://example.com', password: 'secret123', activeBeforeDatetime: '2026-12-31T23:59:59Z', trackingPixelIds: [1, 2] );
Exemplo de paginação: $client->links()->list(limit: 100, fromId: 500) retorna os próximos 100 links começando do ID 500, com ResponseMeta contendo o total e a URL seguinte.
Organize links por campanha, produto, equipe ou projeto. Grupos rotativos distribuem o tráfego entre vários destinos e simplificam os fluxos de trabalho de testes A/B.
// 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; }
Acesse informações de conta, detalhes de assinatura e limites de uso através de uma única resposta tipada. DTOs aninhados somente leitura fornecem autocompletar IDE completo e estruturas de dados previsíveis.
$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;
Metadados de organização e conta.
Informações do usuário autenticado e detalhes de conta.
Assinatura atual e período de faturamento.
Limites de API, cotas de links e uso restante.
Trate erros de API com classes de exceção dedicadas em vez de respostas genéricas. Cada erro HTTP é mapeado para um tipo de exceção específico, enquanto ValidationException expõe detalhes de validação a nível 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 }
400 — Entrada inválida. Acesse $e->data para erros de campo.
401 — Credenciais de API ausentes, inválidas ou expiradas.
404 — Link, grupo ou recurso não encontrado.
429 — Limite de taxa excedido.
500 — Erro de servidor inesperado.
Falha de rede / transporte.
Todas as exceções do SDK estendem LixException. Capture a classe base para tratamento global ou aponte para tipos específicos quando necessário.
Use a mesma API do Lix.li do PHP, JavaScript, Python ou Go com SDKs adaptados a cada ecossistema.
Install the SDK, get your API key, and start creating short links in under a minute.