CrawlerLens
ДокументацияAPI СправочникВебхуки

Вебхуки

Получайте HTTP-уведомления в реальном времени о событиях в проекте.

События

СобытиеОписание
RENDER_COMPLETEDРендеринг завершён успешно
RENDER_FAILEDОшибка рендеринга
CACHE_PURGEDКэш инвалидирован
DOMAIN_VERIFIEDДомен верифицирован
SEO_SCORE_DROPЗначительное падение SEO
SITEMAP_UPDATEDSitemap обработан

Формат payload

Все вебхуки имеют такую структуру:

json
{ "event": "RENDER_COMPLETED", "timestamp": "2024-01-15T10:30:00Z", "project": { "id": "project-123", "name": "My Project" }, "data": { "url": "https://example.com/page", "renderTimeMs": 2340, "statusCode": 200 } }

Проверка подписи

Все вебхуки подписаны HMAC-SHA256. Проверяйте подпись:

javascript
const crypto = require('crypto') function verifyWebhook(payload, signature, secret) { const expected = crypto .createHmac('sha256', secret) .update(JSON.stringify(payload)) .digest('hex') return crypto.timingSafeEqual( Buffer.from(signature), Buffer.from(expected) ) } // В обработчике вебхука app.post('/webhook', (req, res) => { const signature = req.headers['x-webhook-signature'] if (!verifyWebhook(req.body, signature, YOUR_SECRET)) { return res.status(401).send('Invalid signature') } // Обработка вебхука... })

Заголовки

Каждый запрос вебхука содержит:

ЗаголовокОписание
X-Webhook-EventТип события
X-Webhook-SignatureHMAC-SHA256 подпись
X-Webhook-TimestampISO timestamp
User-AgentCrawlerLens-Webhook/1.0

Политика повторов

  • Неудачные доставки повторяются до 3 раз
  • Экспоненциальная задержка: 1 мин, 5 мин, 15 мин
  • Успех = статус код 2xx

Управление вебхуками

  1. Перейдите в проект → вкладка Вебхуки
  2. Нажмите Добавить вебхук
  3. Введите URL и выберите события
  4. Используйте кнопку Тест для проверки