모니터링 및 자동화

웹훅 알림 API

관심 목록, 도메인 변경, 브랜드 모니터링 알림을 서명된 JSON으로 내 HTTPS 엔드포인트에 보냅니다. 엔드포인트별로 받을 이벤트를 고르고, HMAC-SHA256으로 모든 요청을 검증하며, 엔드포인트가 수락한 알림에 대해서만 비용을 지불하세요.

카테고리 모니터링 및 자동화
엔드포인트 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로 만들 수 있는 것

이 페이지를 프로덕션 요약으로 사용하세요. 엔드포인트, 예제, 응답 구조, DomScan을 제품에 연결하는 워크플로 구성 요소를 제공합니다.

제품 워크플로

도메인 검사, DNS 인텔리전스, 위험 신호 또는 보강 데이터를 온보딩, 검색, 내부 도구에 포함하세요.

분석가 자동화

반복적인 수동 조회를 예약 작업, 알림, 재현 가능한 조사 단계로 대체하세요.

깔끔한 JSON 데이터

제공자 페이지를 스크래핑하지 않고 예측 가능한 필드, 문서화된 상태 코드, 크레딧 비용을 사용하세요.

AI 및 운영 도구

OpenAPI, SDK, Postman 또는 MCP를 통해 에이전트, 대시보드, SOAR 플레이북, CRM에 데이터를 공급하세요.

통합 워크플로

첫 요청부터 반복 가능한 프로덕션 사용까지의 단순한 경로입니다.

1
한 번 인증

문서화된 헤더로 API 키를 보내고 서비스 전반에서 요청을 일관되게 유지하세요.

2
예제로 조회

curl 및 HTTP 샘플에서 시작한 뒤 매개변수를 애플리케이션 코드에 매핑하세요.

3
운영 및 모니터링

상태 코드, 크레딧 비용, 응답 필드를 사용해 재시도, 로그, 알림을 구축하세요.

개발자 키트

이 페이지에서 기계 판독 문서, 요청 컬렉션, SDK 또는 에이전트 도구로 바로 이동하세요.

매개변수 및 응답 맵

엔드포인트를 클라이언트에 연결하기 전에 입력, 출력 필드, 상태 코드를 확인하세요.

요청 매개변수

매개변수

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, 인증서, 등록 정보, 호스팅, 기술, 이메일 보안, 브랜드 위협 알림 중 원하는 것을 구독하거나 전체를 구독할 수 있습니다.

이벤트 ID가 유지되는 재시도

전달에 실패하면 간격을 늘려 가며 최대 6회 재시도합니다. 재시도할 때마다 같은 이벤트 ID가 반복되므로 이미 처리한 알림은 무시할 수 있습니다.

전달된 알림에만 요금 부과

알림은 엔드포인트가 2xx 상태로 응답할 때만 2크레딧이 차감됩니다. 전달에 실패하면 환불되며, 테스트 이벤트와 시크릿 교체는 무료입니다.

자동 일시 중지와 이메일 안내

계속 실패하는 엔드포인트는 일시 중지되고, 엔드포인트 호스트와 마지막 오류가 담긴 이메일이 한 통 발송됩니다. 문제를 해결한 뒤 다시 활성화하면 실패 횟수는 0부터 다시 시작합니다.

중단 없는 시크릿 교체

서명 시크릿은 언제든 교체할 수 있습니다. 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에서 온 것인지 어떻게 검증하나요?

엔드포인트 시크릿으로 X-DomScan-Timestamp 값, 마침표, 원본 본문을 차례로 이어 붙인 데이터의 HMAC-SHA256을 계산한 뒤, X-DomScan-Signature의 각 항목과 상수 시간으로 비교하고 5분보다 오래된 타임스탬프는 거부하세요.

웹훅 알림 요금은 얼마인가요?

2xx 응답으로 전달된 알림은 건당 2크레딧입니다. 엔드포인트 생성, 테스트 이벤트, 시크릿 교체는 무료이며, 전달에 실패한 알림을 위해 예약된 크레딧은 환불됩니다.

엔드포인트가 다운되면 어떻게 되나요?

각 알림은 약 6시간에 걸쳐 최대 6회 재시도됩니다. 연속 15회 실패하면 엔드포인트가 일시 중지되고 이메일이 한 통 발송됩니다. 모니터 설정이나 API에서 다시 활성화하면 전달이 재개됩니다.

서명 시크릿을 안전하게 교체하려면 어떻게 하나요?

시크릿 교체 엔드포인트를 호출하거나 모니터 설정을 사용하세요. 새 시크릿은 한 번만 표시되고 24시간 동안 모든 알림에 두 시크릿의 서명이 함께 들어가므로, 변경 사항을 배포하는 동안 수신 측은 어느 쪽이든 받아들일 수 있습니다.

같은 알림을 두 번 받을 수도 있나요?

예를 들어 타임아웃 이후처럼, 엔드포인트가 이미 처리한 알림의 재시도가 도착할 수 있습니다. 재시도마다 본문과 X-DomScan-Event-Id에 같은 이벤트 ID가 반복되므로, 처리한 ID를 저장해 두고 중복은 건너뛰세요.

관련 도구 및 리소스

HTTP 상태 코드

다음은 처리해야 할 HTTP 상태 코드입니다. 성공 응답, 인증 문제, 크레딧, 속도 제한, 누락된 데이터, 업스트림 장애를 구분하는 데 사용하세요.

성공 200

요청 성공

생성됨 201

리소스가 성공적으로 생성되었습니다.

잘못된 요청 400

잘못된 매개변수

인증되지 않음 401

API 키 또는 세션이 없거나 유효하지 않습니다.

HTTP 409 409

다음은 처리해야 할 HTTP 상태 코드입니다. 성공 응답, 인증 문제, 크레딧, 속도 제한, 누락된 데이터, 업스트림 장애를 구분하는 데 사용하세요.

요청 과다 429

속도 제한 초과

첫 웹훅 엔드포인트 추가