Мониторинг и автоматизация

API вебхук-оповещений

Отправляйте оповещения списка наблюдения, изменений доменов и мониторинга бренда в виде подписанного JSON на свои конечные точки HTTPS. Выбирайте события для каждой конечной точки, проверяйте каждый запрос с помощью HMAC-SHA256 и платите только за оповещения, которые приняла ваша конечная точка.

Category Мониторинг и автоматизация
Конечные точки 7
Ключевые возможности 6
Часто задаваемые вопросы 6

Используется сотрудниками этих компаний

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse

Сигналы доверия перед интеграцией

Прозрачная документация, аутентифицированные запросы и видимые сведения о надежности помогают оценить DomScan перед запуском.

Работает Статус сервиса

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

OpenAPI API-артефакты

OpenAPI, Swagger, Postman, CLI, SDK и ссылки MCP доступны в один клик.

API-ключи Защищенный доступ

Аутентифицированные эндпоинты используют API-ключи с понятной стоимостью в кредитах до вызова.

10,000 Бесплатный лимит

Начните с 10 000 кредитов в месяц и обновляйтесь только при росте использования.

Что помогает запустить эта API

Используйте эту страницу как производственный бриф: конечные точки, примеры, форма ответа и элементы workflow для подключения DomScan к вашему продукту.

Продуктовые workflow

Встраивайте проверки доменов, DNS-интеллект, сигналы риска или обогащение в онбординг, поиск и внутренние инструменты.

Автоматизация аналитиков

Заменяйте повторяющиеся ручные проверки расписаниями, оповещениями и воспроизводимыми шагами расследования.

Чистые JSON-данные

Используйте предсказуемые поля, документированные коды состояния и стоимость в кредитах вместо scraping страниц провайдеров.

AI и ops-инструменты

Передавайте данные агентам, дашбордам, SOAR-плейбукам и CRM через OpenAPI, SDK, Postman или MCP.

Интеграционный workflow

Простой путь от первого запроса до повторяемого использования в продакшене.

1
Аутентифицируйтесь один раз

Передавайте API-ключ в документированном заголовке и сохраняйте единый формат запросов между сервисами.

2
Запрашивайте по примерам

Начните с примеров curl и HTTP, затем перенесите параметры в код приложения.

3
Эксплуатируйте и мониторьте

Используйте коды состояния, стоимость кредитов и поля ответа для retries, логов и alerts.

Набор разработчика

Переходите к машиночитаемой документации, коллекциям запросов, SDK или инструментам для агентов.

Карта параметров и ответа

Просмотрите входы, поля ответа и коды состояния перед подключением endpoint к клиенту.

Параметры запроса

Параметр

urldescriptioneventsenabledwebhook_idlimit
Поля ответа

Пример ответа

endpointendpoint.idendpoint.urlendpoint.eventsendpoint.statusendpoint.disabled_reasonendpoint.consecutive_failuresendpoint.secret_hintendpoint.previous_secret_expires_atsecret
Покрытие статусов

Коды состояния HTTP

200201400401409429

Конечные точки

POST /v1/webhooks
Кредиты: 0Аутентификация: Требуется аутентификация
urldescriptionevents
GET /v1/webhooks
Кредиты: 0Аутентификация: Требуется аутентификация
PATCH /v1/webhooks/:webhook_id
Кредиты: 0Аутентификация: Требуется аутентификация
enabledeventsdescription
POST /v1/webhooks/:webhook_id/rotate-secret
Кредиты: 0Аутентификация: Требуется аутентификация
POST /v1/webhooks/:webhook_id/test
Кредиты: 0Аутентификация: Требуется аутентификация
GET /v1/webhooks/:webhook_id/deliveries
Кредиты: 0Аутентификация: Требуется аутентификация
limit
DELETE /v1/webhooks/:webhook_id
Кредиты: 0Аутентификация: Требуется аутентификация

Проверяйте каждое оповещение

Используйте необработанное тело запроса точно в том виде, в каком оно получено. Заголовок содержит одну подпись, а во время ротации секрета две. Принимайте запрос, если любая подпись совпадает.

import crypto from 'node:crypto';

// rawBody: the request body exactly as received, before JSON parsing.
function verifyDomScanWebhook(rawBody, headers, secret) {
  const timestamp = headers['x-domscan-timestamp'];
  const header = headers['x-domscan-signature'] || '';
  if (!/^\d{10}$/.test(timestamp || '')) return false;
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;
  const expected = Buffer.from('sha256=' + crypto
    .createHmac('sha256', secret)
    .update(timestamp + '.' + rawBody)
    .digest('hex'));
  // One entry normally; two during a secret rotation (new secret first).
  return header.split(',').some((entry) => {
    const candidate = Buffer.from(entry.trim());
    return candidate.length === expected.length &&
      crypto.timingSafeEqual(candidate, expected);
  });
}

Смена секретов с переходным периодом 24 часа

Ротация один раз возвращает новый секрет. Пока переходный период не закончился, каждое оповещение подписывается сначала новым секретом, затем предыдущим, поэтому получатели, которые всё ещё используют старый секрет, продолжают работать.

X-DomScan-Signature: sha256=<new>,sha256=<previous>

Сигналы доверия перед интеграцией

Прозрачная документация, аутентифицированные запросы и видимые сведения о надежности помогают оценить DomScan перед запуском.

Работает Статус сервиса

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

OpenAPI API-артефакты

OpenAPI, Swagger, Postman, CLI, SDK и ссылки MCP доступны в один клик.

API-ключи Защищенный доступ

Аутентифицированные эндпоинты используют API-ключи с понятной стоимостью в кредитах до вызова.

10,000 Бесплатный лимит

Начните с 10 000 кредитов в месяц и обновляйтесь только при росте использования.

Ключевые возможности

Подписанные запросы

Каждое оповещение содержит подпись HMAC-SHA256 от метки времени и необработанного тела запроса, поэтому получатель может отклонять поддельные и повторно воспроизведённые запросы.

Выбирайте события

Подпишите каждую конечную точку на оповещения о доступности, сроке регистрации, статусе, DNS, сертификатах, регистрации, хостинге, технологиях, безопасности почты или угрозах бренду, либо на все сразу.

Повторы с неизменными идентификаторами событий

Неудачные доставки повторяются с растущими интервалами, до 6 попыток. Каждый повтор содержит тот же идентификатор события, поэтому вы можете игнорировать уже обработанные оповещения.

Платите только за доставленные оповещения

Оповещение стоит 2 кредита, только если ваша конечная точка отвечает статусом 2xx. Неудачные доставки возвращаются, а тестовые события и ротация секрета бесплатны.

Автоматическая приостановка с письмом

Конечная точка, которая продолжает давать сбои, приостанавливается, а вы получаете одно письмо с хостом конечной точки и последней ошибкой. Включите её снова после исправления, и счётчик сбоев начнётся с нуля.

Ротация секрета без простоя

Меняйте секрет подписи в любое время. В течение 24 часов каждое оповещение подписывается и новым, и предыдущим секретом, поэтому вы можете переключить получателей без потери оповещений.

Пример запроса

POST /v1/webhooks bash
curl -X POST "https://domscan.net/v1/webhooks" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://hooks.example.com/domscan","events":["domain.expiring_30","domain.available","domain.dns_changed"]}'
POST /v1/webhooks/:webhook_id/rotate-secret bash
curl -X POST "https://domscan.net/v1/webhooks/whe_3f1c0a9b8e7d6c5b4a39281706f5e4d3/rotate-secret" \
  -H "X-API-Key: $DOMSCAN_API_KEY"
PATCH /v1/webhooks/:webhook_id bash
curl -X PATCH "https://domscan.net/v1/webhooks/whe_3f1c0a9b8e7d6c5b4a39281706f5e4d3" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true}'

Пример ответа

200 OK json
{
  "endpoint": {
    "id": "whe_3f1c0a9b8e7d6c5b4a39281706f5e4d3",
    "url": "https://hooks.example.com/domscan",
    "events": ["domain.available", "domain.expiring_30", "domain.dns_changed"],
    "status": "active",
    "disabled_reason": null,
    "consecutive_failures": 0,
    "secret_hint": "9c2e",
    "previous_secret_expires_at": null
  },
  "secret": "whsec_..."
}

Часто задаваемые вопросы

Какие оповещения можно отправлять на вебхук?

Изменения доступности, срока регистрации и статуса из списка наблюдения, мониторинг изменений доменов в DNS, сертификатах, регистрации, хостинге, технологиях и безопасности почты, а также новые зарегистрированные домены, похожие на отслеживаемый бренд.

Как проверить, что запрос пришёл от DomScan?

Вычислите HMAC-SHA256 от значения X-DomScan-Timestamp, точки и необработанного тела запроса, используя секрет вашей конечной точки, сравните результат за постоянное время с каждой записью X-DomScan-Signature и отклоняйте метки времени старше 5 минут.

Сколько стоят вебхук-оповещения?

Каждое оповещение, доставленное с ответом 2xx, стоит 2 кредита. Создание конечных точек, тестовые события и ротация секретов бесплатны, а кредиты, зарезервированные под неудачную доставку, возвращаются.

Что произойдёт, если моя конечная точка недоступна?

Каждое оповещение повторяется до 6 раз примерно в течение 6 часов. После 15 неудачных попыток подряд конечная точка приостанавливается, и вы получаете одно письмо. Чтобы возобновить доставку, включите её снова в настройках Мониторинга или через API.

Как безопасно сменить секрет подписи?

Вызовите метод смены секрета или воспользуйтесь настройками Мониторинга. Новый секрет показывается один раз, а в течение 24 часов каждое оповещение несёт подписи обоих секретов, поэтому получатель может принимать любой из них, пока вы разворачиваете изменение.

Могу ли я получить одно и то же оповещение дважды?

Повтор может прийти после того, как ваша конечная точка уже обработала оповещение, например после тайм-аута. Каждый повтор дублирует идентификатор события в теле и в X-DomScan-Event-Id, поэтому храните обработанные идентификаторы и пропускайте дубликаты.

Связанные инструменты и ресурсы

Коды состояния HTTP

Это HTTP-коды состояния, которые нужно обрабатывать, чтобы различать успешные ответы, проблемы аутентификации, кредиты, лимиты запросов, отсутствующие данные и ошибки вышестоящих сервисов.

OK 200

Запрос выполнен успешно

Создано 201

Ресурс успешно создан.

Неверный запрос 400

Недопустимые параметры

Не авторизован 401

API-ключ или сессия отсутствует либо недействительна.

HTTP 409 409

Это HTTP-коды состояния, которые нужно обрабатывать, чтобы различать успешные ответы, проблемы аутентификации, кредиты, лимиты запросов, отсутствующие данные и ошибки вышестоящих сервисов.

Слишком много запросов 429

Лимит скорости превышен

Добавьте первую конечную точку вебхука