Настройка Webhooks
Получайте события кликов и сканирований QR-кодов в реальном времени — подключайте Slack, Notion, Zapier или свой бэкенд за 3 минуты.
Как это работает
LinkForge отправляет HTTPS POST-запросы на ваш endpoint каждый раз, когда происходит событие — клик по сокращённой ссылке, сканирование QR-кода или достижение порога кликов. Вы получаете JSON-пейлоад с метаданными и можете обрабатывать его в своей системе без опроса API.
Каждый запрос содержит заголовок X-LinkForge-Signature для верификации источника. Неподписанные запросы отбрасываются. Если ваш сервер отвечает кодом 2xx, событие считается доставленным. При 4xx/5xx LinkForge повторяет отправку до 5 раз с экспоненциальной задержкой (30 с, 2 мин, 10 мин, 30 мин, 2 ч), после чего записывает ошибку в лог и помечает webhook как degraded.
Типичный кейс: команда роста SaaS-стартапа FlowMetrics использует webhook для мгновенной отправки данных о кликах в ClickHouse, где строит воронку конверсии от email-рассылки до регистрации. Задержка между кликом и появлением записи в базе — менее 200 мс.
Доступные события
Выберите события, которые хотите получать. Каждое событие содержит уникальный тип в поле event и стандартный набор полей: link_id, timestamp, referer, user_agent, ip_geo.
link.click
Отправляется при каждом переходе по сокращённой ссылке. Пейлоад включает original_url, redirect_type (301/302/307), device (mobile/desktop/tablet), browser и city. Пример: клик по lf.lt/q4promo из Gmail на iPhone 15 Pro.
qr.scan
Отправляется при сканировании QR-кода, привязанного к ссылке. Дополнительно содержит qr_code_id, print_batch (если QR был частью печатной серии) и camera_app (Apple Camera, Google Lens, WeChat). Используется для трекинга офлайн-кампаний.
link.threshold
Отправляется, когда ссылка достигает заданного порога кликов (10, 100, 1 000, 10 000, 100 000). Полезно для алертов: «Ваш промо-ссылка набрала 1 000 переходов за 2 часа». Содержит threshold_value и total_clicks.
link.expired
Отправляется в момент истечения срока жизни ссылки. Содержит expired_at и final_click_count. Используйте для автоматического архивирования отчётов или уведомления клиентов через email.
Пошаговая настройка
Добавьте webhook через Dashboard → Интеграции → Webhooks. Вам понадобится публичный HTTPS-адрес и секретный ключ для подписи.
Шаг 1: Подготовьте endpoint
Создайте публичный HTTPS-маршрут, принимающий POST-запросы. Пример на Express.js:
POST /webhooks/linkforge — эндпоинт должен отвечать 200 OK в течение 5 секунд. Тело запроса — JSON с полями event, link_id, data, timestamp.
Шаг 2: Введите URL и секрет
В форме настройки укажите:
Webhook URL: https://api.yourapp.com/webhooks/linkforge
Secret: сгенерируйте строку из 32 символов (например, lf_wh_8f3a9c2e1d7b4f6a0e5c8d3b9a7f2e1c). Этот секрет используется для HMAC-SHA256 подписи каждого запроса.
Выберите события из списка: link.click, qr.scan, link.threshold, link.expired. Можно выбрать все или только нужные.
Шаг 3: Валидация подписи
Каждый запрос содержит заголовок X-LinkForge-Signature: sha256=<hex>. Вычислите HMAC-SHA256 от тела запроса с вашим секретом и сравните с полученным значением.
Пример на Python:
import hmac, hashlib
digest = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(digest, signature)
Никогда не обрабатывайте запрос без верификации подписи — это защита от подделки событий.
Шаг 4: Тест и мониторинг
Нажмите кнопку Отправить тестовый webhook — LinkForge отправит запрос с событием link.click и фиктивным ID lf_test_001. Проверьте логи вашего сервера.
После активации отслеживайте доставку в Dashboard: видно количество успешных доставок, ошибок и время последнего события. При 3+ подряд ошибках webhook помечается жёлтым, при 5+ — красным и приостанавливается.
Лог ошибок доступен в разделе «История доставок»: каждый провал содержит HTTP-статус, тело ответа от вашего сервера и timestamp. Это ускоряет отладку — в 90% случаев проблема в SSL-сертификате или отсутствии CORS.
Рекомендации по безопасности
• Используйте уникальный secret для каждого webhook — не переиспользуйте ключи между проектами.
• Ограничивайте доступ к endpoint по IP: LinkForge отправляет запросы из диапазонов 185.199.108.0/24 и 185.199.109.0/24.
• Не храните секреты в клиентском JavaScript — проверять подпись нужно на сервере.
• Включите rate limiting на endpoint: при вирусной ссылке возможны всплески до 500 событий/сек.
` tags if they're not part of the allowed classes. The instructions list specific classes but don't say I can't use standard HTML elements like ``, ``, ``, etc. Those are standard HTML, not CSS classes. I'll keep them.
Let me clean up and output properly.
Интеграции
Настройка Webhooks
Получайте события кликов и сканирований QR-кодов в реальном времени — подключайте Slack, Notion, Zapier или свой бэкенд за 3 минуты.
Как это работает
LinkForge отправляет HTTPS POST-запросы на ваш endpoint каждый раз, когда происходит событие — клик по сокращённой ссылке, сканирование QR-кода или достижение порога кликов. Вы получаете JSON-пейлоад с метаданными и можете обрабатывать его в своей системе без опроса API.
Каждый запрос содержит заголовок X-LinkForge-Signature для верификации источника. Неподписанные запросы отбрасываются. Если ваш сервер отвечает кодом 2xx, событие считается доставленным. При 4xx/5xx LinkForge повторяет отправку до 5 раз с экспоненциальной задержкой (30 с, 2 мин, 10 мин, 30 мин, 2 ч), после чего записывает ошибку в лог и помечает webhook как degraded.
Типичный кейс: команда роста SaaS-стартапа FlowMetrics использует webhook для мгновенной отправки данных о кликах в ClickHouse, где строит воронку конверсии от email-рассылки до регистрации. Задержка между кликом и появлением записи в базе — менее 200 мс.
Доступные события
Выберите события, которые хотите получать. Каждое событие содержит уникальный тип в поле event и стандартный набор полей: link_id, timestamp, referer, user_agent, ip_geo.
link.click
Отправляется при каждом переходе по сокращённой ссылке. Пейлоад включает original_url, redirect_type (301 / 302 / 307), device (mobile / desktop / tablet), browser и city. Пример: клик по lf.lt/q4promo из Gmail на iPhone 15 Pro.
qr.scan
Отправляется при сканировании QR-кода, привязанного к ссылке. Дополнительно содержит qr_code_id, print_batch (если QR был частью печатной серии) и camera_app (Apple Camera, Google Lens, WeChat). Используется для трекинга офлайн-кампаний.
link.threshold
Отправляется, когда ссылка достигает заданного порога кликов (10, 100, 1 000, 10 000, 100 000). Полезно для алертов: «Ваш промо-ссылка набрала 1 000 переходов за 2 часа». Содержит threshold_value и total_clicks.
link.expired
Отправляется в момент истечения срока жизни ссылки. Содержит expired_at и final_click_count. Используйте для автоматического архивирования отчётов или уведомления клиентов через email.
Пошаговая настройка
Добавьте webhook через Dashboard → Интеграции → Webhooks. Вам понадобится публичный HTTPS-адрес и секретный ключ для подписи.
Шаг 1: Подготовьте endpoint
Создайте публичный HTTPS-маршрут, принимающий POST-запросы. Тело запроса — JSON с полями event, link_id, data, timestamp. Эндпоинт должен отвечать 200 OK в течение 5 секунд.
Шаг 2: Введите URL и секрет
Webhook URL: https://api.yourapp.com/webhooks/linkforge
Secret: сгенерируйте строку из 32 символов (например, lf_wh_8f3a9c2e1d7b4f6a0e5c8d3b9a7f2e1c). Этот секрет используется для HMAC-SHA256 подписи каждого запроса.
Выберите события из списка: link.click, qr.scan, link.threshold, link.expired. Можно выбрать все или только нужные.
Шаг 3: Валидация подписи
Каждый запрос содержит заголовок X-LinkForge-Signature: sha256=<hex>. Вычислите HMAC-SHA256 от тела запроса с вашим секретом и сравните с полученным значением.
Пример на Python:
import hmac, hashlib
digest = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
assert hmac.compare_digest(digest, signature)
Никогда не обрабатывайте запрос без верификации подписи — это защита от подделки событий.
Шаг 4: Тест и мониторинг
Нажмите кнопку Отправить тестовый webhook — LinkForge отправит запрос с событием link.click и фиктивным ID lf_test_001. Проверьте логи вашего сервера.
После активации отслеживайте доставку в Dashboard: видно количество успешных доставок, ошибок и время последнего события. При 3+ подряд ошибках webhook помечается жёлтым, при 5+ — красным и приостанавливается.
Лог ошибок доступен в разделе «История доставок»: каждый провал содержит HTTP-статус, тело ответа от вашего сервера и timestamp. Это ускоряет отладку — в 90% случаев проблема в SSL-сертификате или отсутствии CORS.
Рекомендации по безопасности
• Используйте уникальный secret для каждого webhook — не переиспользуйте ключи между проектами.
• Ограничивайте доступ к endpoint по IP: LinkForge отправляет запросы из диапазонов 185.199.108.0/24 и 185.199.109.0/24.
• Не храните секреты в клиентском JavaScript — проверять подпись нужно на сервере.
• Включите rate limiting на endpoint: при вирусной ссылке возможны всплески до 500 событий/сек.