Logo Zagl

Documentação da API

Encurte links diretamente a partir do seu código. Um endpoint, um bearer token.

Endpoint

POSThttps://za.gl/api/shorten
RESTCorpo JSONAutenticação bearer

Autenticação

Envie o seu token de API no cabeçalho Authorization como bearer token. Obtenha-o no painel da sua conta depois de criar o primeiro link.

Cabeçalho
Authorization: Bearer YOUR_API_TOKEN

Ainda sem token? Pode chamar o endpoint sem ele. O Za.gl cria uma conta anónima na hora e devolve um token novo em data.newAuthToken. Guarde-o para gerir os seus links mais tarde.

Corpo do pedido

originalUrlobrigatório

string

O URL longo a encurtar. Se omitir o protocolo, https:// é adicionado automaticamente.

customAlias

string

A sua própria terminação, ex.: za.gl/my-link. Tem de ser única, caso contrário recebe um 409.

password

string

Protege o link para que os visitantes precisem de uma palavra-passe para continuar.

expiresAt

string (ISO date)

Quando o link deve deixar de funcionar. Tem de ser uma data futura.

expiresInMinutes / expiresInHours / expiresInDays

number

Alternativa a expiresAt, expira ao fim de um período relativo.

waitTimer

number (0-300)

Segundos que o visitante espera na página de pré-visualização antes do redirecionamento.

customGtmId

string

O seu ID do Google Tag Manager (GTM-XXXXXXX) disparado na página de pré-visualização.

title / description

string

Metadados opcionais guardados com o link.

generateQR

boolean

Devolve também um código QR para o URL curto.

Exemplo de pedido

POSTcURL
curl -X POST https://za.gl/api/shorten \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "originalUrl": "https://example.com/a-very-long-link",
    "customAlias": "my-link",
    "password": "optional-secret",
    "expiresAt": "2026-12-31T23:59:59.000Z",
    "waitTimer": 5
  }'

Exemplo de resposta

Uma chamada bem-sucedida devolve 200 OK com o URL curto em data.shortUrl.

200 OKJSON
{
  "success": true,
  "message": "URL shortened successfully",
  "data": {
    "id": "123",
    "alias": "my-link",
    "shortUrl": "https://za.gl/my-link",
    "originalUrl": "https://example.com/a-very-long-link",
    "customAlias": "my-link",
    "domain": "za.gl",
    "title": "",
    "description": null,
    "hasPassword": true,
    "isActive": true,
    "expiresAt": "2026-12-31T23:59:59.000Z",
    "hits": 0,
    "waitTimer": 5,
    "created": "2026-06-25T10:00:00.000Z",
    "modified": "2026-06-25T10:00:00.000Z",
    "authToken": "your-account-token"
  }
}

Limites de pedidos e erros

10 req/minAté 10 pedidos por minuto por cliente.
409O alias personalizado já está ocupado.
400URL inválido ou data de expiração no passado.
429Atingiu o limite de pedidos ou a sua quota mensal.