API de Encurtamento de Links do Linkly
Crie, atualize e gerencie links de forma programática usando a API de Encurtamento de Links do Linkly.
Relacionado: Analytics API | Webhooks
Antes de começar
Linkly gera requisições de API na interface para você copiar e colar em suas aplicações.
Isso funciona para criação e atualização de links.
Economize tempo e deixe que façamos o trabalho pesado:
- 1Veja abaixo as requisições de API para criação de links.
- 2Copie as requisições na íntegra. Você pode verificar se funcionam para você.
- 3Peça ao ChatGPT ou equivalente para adaptar essas requisições em código-fonte para sua aplicação. Não há necessidade de gastar tempo em uma integração complexa. Nossa API é totalmente consumível por máquinas.
Especificação OpenAPI 3.0
Você pode gerar requisições de API diretamente da interface de usuário do Linkly.
Construtor de API de Encurtamento de Links do Linkly
A API de encurtamento de links do Linkly constrói requisições de API automaticamente com base no conteúdo do formulário. Você pode colar o texto fornecido aqui em qualquer LLM para gerar automaticamente código para sua aplicação.
A API do Linkly é documentada usando o padrão OpenAPI, que vai além do que é fornecido abaixo. Os mesmos endpoints também estão disponíveis como uma coleção Postman com um clique.
Visualizar Especificação OpenAPI
Autorização
Você precisará de:
- Sua Chave de API
- ID do Workspace
Você pode obter esses detalhes dentro do Linkly.
- 1Faça login no Linkly.
- 2Clique em Configurações.
- 3Clique em Chaves de API.
Criando ou atualizando um link
Para criar um link, tudo que você precisa fazer é enviar uma requisição POST para:
https://app.linklyhq.com/api/v1/link
com os seguintes campos no corpo.
O tipo de codificação é x-www-form-urlencoded ou application/json.
Se você estiver enviando o campo Rules, você deve usar application/json.
Recomendamos que você use JSON com a especificação Open API.
| Rótulo | Chave | Tipo | Notas |
|---|---|---|---|
| Chave de API da Conta | api_key | String | Obrigatório |
| ID do Workspace | workspace_id | Integer | Obrigatório |
| ID do Link | id | Integer | Obrigatório se atualizando link existente |
| Destino | url | String | Obrigatório |
| Apelido | name | String | |
| Notas | note | String | |
| Tags de redirecionamento (região head) | head_tags | String | Para pixels de redirecionamento |
| Tags de redirecionamento (região body) | body_tags | String | Para pixels de redirecionamento |
| Parâmetros de Encaminhamento | forward_params | Boolean | |
| Ocultar Referenciador | hide_referrer | Boolean | Envia referrer-policy: no-referrer para que o destino não veja Linkly no cabeçalho de referência |
| Mascaramento | cloaking | Boolean | Mascara a URL de destino atrás de um frame |
| Bloquear Bots | block_bots | Boolean | Bloqueia bots/crawlers conhecidos |
| Pular Rastreamento de Crawler Social | skip_social_crawler_tracking | Boolean | Quando block_bots está ativado, ainda permite que crawlers sociais passem para que visualizações OG funcionem |
| Análise Pública | public_analytics | Boolean | Habilita a página pública /abc123.stats para este link |
| Senha | password | String | Os visitantes devem inserir esta senha antes do redirecionamento |
| Status de Publicação | enabled | Boolean | |
| Fonte UTM | utm_source | String | Para rastreamento UTM |
| Meio UTM | utm_medium | String | Para rastreamento UTM |
| Campanha UTM | utm_campaign | String | Para rastreamento UTM |
| Termo UTM | utm_term | String | Para rastreamento UTM |
| Conteúdo UTM | utm_content | String | Para rastreamento UTM |
| Domínio Personalizado | domain | String | Obrigatório se slug for fornecido. Veja domínios personalizados |
| Sufixo de Domínio Personalizado | slug | String | Se domínio for fornecido e slug for nulo, será gerado automaticamente |
| Título do Open Graph | og_title | String | Para visualizações de mídia social |
| Descrição do Open Graph | og_description | String | Para visualizações de mídia social |
| URL da Imagem do Open Graph | og_image | String | Para visualizações de mídia social |
| ID de Pixel do Meta | fb_pixel_id | String | Para Pixel do Meta |
| ID de Pixel do TikTok | tiktok_pixel_id | String | |
| ID do Google Analytics 4 | ga4_tag_id | String | |
| Contêiner do Google Tag Manager | gtm_id | String | |
| Linkify Words | linkify_words | String | Frases separadas por quebra de linha que devem ser automaticamente encurtadas em páginas de destino |
| Substituições | replacements | String | Regras de substituição de texto aplicadas à página de destino |
| Data/Hora de Expiração | expiry_datetime | String de Data/Hora ISO8601 | Para links que expiram |
| Destino de Expiração | expiry_destination | String (URL) | Para links que expiram. Deve começar com http. |
| Cliques de Expiração | expiry_clicks | Integer | Expirar o link após este número de cliques |
| Webhooks | webhooks | Array de strings | URLs de webhook por link. Veja webhooks. |
| Notificar IDs de Usuário | notify_user_ids | Array de inteiros | IDs de usuários do workspace para notificar a cada clique |
| Estilos de Código QR | qr_styles | Objeto JSON | Para estilo de código QR. Chaves: fgColor, bgColor, qrStyle, eyeStyle, eyeColorInner, eyeColorOuter, logoImage, logoWidth, logoHeight, logoPadding, logoStyle, quietZone |
| Regras | rules | Array JSON | Para rotadores, redirecionamentos geo e redirecionamentos de dispositivo |
Exemplo de requisição usando curl
O código abaixo ilustra como fazer uma requisição de API para criar um link.
curl -X POST https://app.linklyhq.com/api/v1/link
-H 'cache-control: no-cache'
-d 'api_key=your_secret_key&workspace_id=1&url=http%3A%2F%2Fwww.wikijob.co.uk&name=Test%20Link'
Uma resposta bem-sucedida retornará um objeto JSON representando o link, junto com um id do link.
{
"id": 9512,
"url": "https://www.wikijob.co.uk",
"name": "Test Link",
"note": null,
"head_tags": null,
"body_tags": null,
"linkify_words": null,
"replacements": null,
"enabled": true,
"cloaking": false,
"forward_params": false,
"hide_referrer": false,
"block_bots": false,
"skip_social_crawler_tracking": false,
"public_analytics": false,
"password": null,
"domain": null,
"slug": null,
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
"og_title": null,
"og_description": null,
"og_image": null,
"fb_pixel_id": null,
"tiktok_pixel_id": null,
"ga4_tag_id": null,
"gtm_id": null,
"full_url": "https://l.linklyhq.com/l/2TQ",
"rules": [],
"expiry_datetime": null,
"expiry_destination": null,
"expiry_clicks": null,
"qr_styles": null,
"webhooks": [],
"notify_user_ids": [],
"workspace_id": 1448,
"deleted": false
}
Atualizando um link
Para atualizar um link, envie a mesma requisição que você usaria para criar o link, mas inclua o campo id do link que deseja atualizar, juntamente com as alterações.
Criando rotadores via API
Para criar um rotador, envie um campo chamado rules como um array JSON, junto com a carga de link acima. Você deve usar application/json para enviar arrays JSON.
Por exemplo:
[
{"what": "rotator", "url": "https://www.microsoft.com", "percentage": "50"},
{"what": "rotator", "url": "https://www.apple.com", "percentage": "50"}
]
Criando redirecionamentos geo via API
Para redirecionar por país, envie um campo chamado rules como um array JSON, junto com a carga de link acima. Você deve usar codificação application/json para enviar arrays JSON.
Por exemplo:
[
{"what": "country", "url": "https://www.microsoft.com", "matches": "UK"},
{"what": "country", "url": "https://www.apple.com", "matches": "US"}
]
O país é o código de país ISO 3166 alpha-2.
Criando redirecionamentos de dispositivo via API
Para redirecionar por dispositivo, envie um campo chamado rules como um array JSON, junto com a carga de link acima.
Por exemplo:
[
{"what": "platform", "url": "https://www.google.com", "matches": "windows"},
{"what": "platform", "url": "https://www.apple.com", "matches": "ios"}
]
Onde o campo matches é um de:
- ios
- android
- windows
- linux
- mac
Criando ou atualizando múltiplos links em uma requisição
Linkly suporta a criação/alteração de até 1000 links por requisição.
Para fazer isso, envie sua chave de API como parte da requisição da seguinte forma:
https://app.linklyhq.com/api/v1/link?api_key=XXXXXXXXXXX
Em seguida, use o mesmo esquema acima para os casos de links individuais, mas envolva as requisições de link em um array, da forma:
[{link}, {link}]
Aqui está uma requisição completa que atualizará dois links:
wget --no-check-certificate \
--method POST \
--timeout=0 \
--header 'Content-Type: application/json' \
--body-data '[
{
"workspace_id": "WORKSPACE_ID",
"url": "https://nature.com",
"name": "Test",
"id": LINK_ID
},
{
"workspace_id": "WORKSPACE_ID",
"url": "https://science.com",
"id": LINK_ID
}
]' \
'https://app.linklyhq.com/api/v1/workspace/WORKSPACE_ID/links?api_key=API_KEY'
Isso funciona tanto para ações de criação quanto de atualização.
Esteja ciente de que pode levar até 60 segundos para uma requisição grande. Se as requisições levarem mais tempo do que isso, elas falharão, e você deverá considerar dividir sua carga de trabalho em chunks menores.
Limites de taxa
A API de encurtamento de links é limitada a 20 requisições/segundo. Até 200 requisições por segundo estão disponíveis sob solicitação. Você pode fazer upload de até 1000 links em uma única requisição.
Relacionado
- Analytics API - Exporte dados de cliques e relatórios de tráfego
- Webhooks - Notificações de cliques em tempo real
- Integração Zapier - Integrações sem código
Disponibilidade do plano
Incluído em todos os planos
Rastreie 500 cliques mensais com todos os recursos incluídos.