API сокращения ссылок Linkly
Создавайте, обновляйте и управляйте ссылками программно с помощью API сокращения ссылок Linkly.
Связанные материалы: API аналитики | Вебхуки
Перед началом работы
Linkly генерирует API-запросы в интерфейсе, которые вы можете скопировать и вставить в свои приложения.
Это работает для создания и обновления ссылок.
Сэкономьте время и позвольте нам сделать сложную работу:
- 1Смотрите ниже примеры API-запросов для создания ссылок.
- 2Скопируйте запросы целиком. Вы можете проверить, работают ли они для вас.
- 3Попросите ChatGPT или аналогичный инструмент адаптировать эти запросы в исходный код для вашего приложения. Нет необходимости тратить время на сложную интеграцию. Наш API полностью машиночитаем.
Спецификация OpenAPI 3.0
Вы можете генерировать API-запросы непосредственно из пользовательского интерфейса Linkly.
Конструктор API сокращения ссылок Linkly
Конструктор API сокращения ссылок Linkly автоматически создаёт API-запросы на основе содержимого формы. Вы можете вставить полученный текст в любую LLM, чтобы автоматически сгенерировать код для вашего приложения.
API Linkly задокументирован в соответствии со стандартом OpenAPI, который выходит за рамки того, что представлено ниже. Те же конечные точки также доступны как одним кликом коллекция Postman.
Просмотреть спецификацию OpenAPI
Авторизация
Вам понадобятся:
- Ваш API-ключ
- ID рабочего пространства
Вы можете получить эти данные внутри Linkly.
- 1Войдите в Linkly.
- 2Нажмите Настройки.
- 3Нажмите API-ключи.
Создание или обновление ссылки
Чтобы создать ссылку, вам нужно лишь отправить запрос POST на:
https://app.linklyhq.com/api/v1/link
со следующими полями в теле запроса.
Тип кодирования — x-www-form-urlencoded или application/json.
Если вы отправляете поле Rules, необходимо использовать application/json.
Мы рекомендуем использовать JSON со спецификацией Open API.
| Название | Ключ | Тип | Примечания |
|---|---|---|---|
| API-ключ аккаунта | api_key | String | Обязательно |
| ID рабочего пространства | workspace_id | Integer | Обязательно |
| ID ссылки | id | Integer | Обязательно при обновлении существующей ссылки |
| Назначение | url | String | Обязательно |
| Псевдоним | name | String | |
| Заметки | note | String | |
| Теги ретаргетинга (область head) | head_tags | String | Для пикселей ретаргетинга |
| Теги ретаргетинга (область body) | body_tags | String | Для пикселей ретаргетинга |
| Передача параметров | forward_params | Boolean | |
| Скрыть источник перехода | hide_referrer | Boolean | Отправляет referrer-policy: no-referrer, чтобы назначение не видело Linkly в заголовке referer |
| Клоакинг | cloaking | Boolean | Маскирует URL назначения за фреймом |
| Блокировать ботов | block_bots | Boolean | Блокирует известных ботов/краулеров |
| Пропустить отслеживание социальных краулеров | skip_social_crawler_tracking | Boolean | Когда block_bots включён, пропускает социальные краулеры, чтобы работали превью OG |
| Публичная аналитика | public_analytics | Boolean | Включает публичную страницу /abc123.stats для этой ссылки |
| Пароль | password | String | Посетители должны ввести этот пароль перед перенаправлением |
| Статус публикации | enabled | Boolean | |
| UTM Source | utm_source | String | Для UTM-отслеживания |
| UTM Medium | utm_medium | String | Для UTM-отслеживания |
| UTM Campaign | utm_campaign | String | Для UTM-отслеживания |
| UTM Term | utm_term | String | Для UTM-отслеживания |
| UTM Content | utm_content | String | Для UTM-отслеживания |
| Пользовательский домен | domain | String | Обязательно, если указан слаг. См. пользовательские домены |
| Суффикс пользовательского домена | slug | String | Если домен указан, а слаг равен null, он будет сгенерирован автоматически |
| Заголовок Open Graph | og_title | String | Для превью в социальных сетях |
| Описание Open Graph | og_description | String | Для превью в социальных сетях |
| URL изображения Open Graph | og_image | String | Для превью в социальных сетях |
| ID пикселя Meta | fb_pixel_id | String | Для Meta Pixel |
| ID пикселя TikTok | tiktok_pixel_id | String | |
| ID Google Analytics 4 | ga4_tag_id | String | |
| Контейнер Google Tag Manager | gtm_id | String | |
| Linkify Words | linkify_words | String | Фразы, разделённые переносом строки, которые должны автоматически сокращаться на целевых страницах |
| Замены | replacements | String | Правила замены текста, применяемые к целевой странице |
| Дата и время истечения | expiry_datetime | ISO8601 DateTime String | Для истекающих ссылок |
| Назначение после истечения | expiry_destination | String (URL) | Для истекающих ссылок. Должно начинаться с http. |
| Клики до истечения | expiry_clicks | Integer | Истекает ссылка после данного количества кликов |
| Вебхуки | webhooks | Array of strings | URL вебхуков на уровне ссылки. См. вебхуки. |
| ID пользователей для уведомлений | notify_user_ids | Array of integers | ID пользователей рабочего пространства для уведомления при каждом клике |
| Стили QR-кода | qr_styles | JSON object | Для стилизации QR-кода. Ключи: fgColor, bgColor, qrStyle, eyeStyle, eyeColorInner, eyeColorOuter, logoImage, logoWidth, logoHeight, logoPadding, logoStyle, quietZone |
| Правила | rules | JSON array | Для ротаторов, гео-перенаправлений и перенаправлений по устройствам |
Пример запроса с использованием curl
Код ниже показывает, как сделать API-запрос для создания ссылки.
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'
Успешный ответ вернёт JSON-объект, представляющий ссылку, а также id ссылки.
{
"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
}
Обновление ссылки
Чтобы обновить ссылку, отправьте тот же запрос, что и для создания ссылки, но включите поле id для ссылки, которую хотите обновить, а также изменения.
Создание ротаторов через API
Чтобы создать ротатор, отправьте поле rules в виде JSON-массива вместе с полезной нагрузкой ссылки выше. Для отправки JSON-массивов необходимо использовать application/json.
Например:
[
{"what": "rotator", "url": "https://www.microsoft.com", "percentage": "50"},
{"what": "rotator", "url": "https://www.apple.com", "percentage": "50"}
]
Создание гео-перенаправлений через API
Чтобы перенаправлять по стране, отправьте поле rules в виде JSON-массива вместе с полезной нагрузкой ссылки выше. Для отправки JSON-массивов необходимо использовать кодирование application/json.
Например:
[
{"what": "country", "url": "https://www.microsoft.com", "matches": "UK"},
{"what": "country", "url": "https://www.apple.com", "matches": "US"}
]
Страна — это двухбуквенный код страны ISO 3166 alpha-2.
Создание перенаправлений по устройствам через API
Чтобы перенаправлять по устройству, отправьте поле rules в виде JSON-массива вместе с полезной нагрузкой ссылки выше.
Например:
[
{"what": "platform", "url": "https://www.google.com", "matches": "windows"},
{"what": "platform", "url": "https://www.apple.com", "matches": "ios"}
]
Где поле matches принимает одно из значений:
- ios
- android
- windows
- linux
- mac
Создание или обновление нескольких ссылок в одном запросе
Linkly поддерживает создание/изменение до 1000 ссылок за один запрос.
Для этого передайте свой API-ключ как часть запроса следующим образом:
https://app.linklyhq.com/api/v1/link?api_key=XXXXXXXXXXX
Затем используйте ту же схему, что и для отдельных ссылок выше, но оберните запросы ссылок в массив следующего вида:
[{link}, {link}]
Вот полный запрос, который обновит две ссылки:
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'
Это работает как для создания, так и для обновления.
Обратите внимание, что большой запрос может занять до 60 секунд. Если запросы занимают больше времени, они завершатся с ошибкой, и вам следует разбить нагрузку на меньшие части.
Ограничения по частоте запросов
API сокращения ссылок ограничен 20 запросами/секунду. До 200 запросов/секунду доступно по запросу. Вы можете загружать до 1000 ссылок в одном запросе.
Связанные материалы
- API аналитики — экспорт данных о кликах и отчётов о трафике
- Вебхуки — уведомления о кликах в реальном времени
- Интеграция с Zapier — интеграции без программирования
Доступность в планах
Включено в каждый план
Получите 100 коротких ссылок и отслеживайте 500 кликов в месяц бесплатно.