モニタリングと自動化

ドメイン監視のための Webhook アラート 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認証: 認証が必要です

すべてのアラートを検証

受信したままの生のリクエスト本文を使用してください。ヘッダーには署名が 1 つ入り、シークレットのローテーション中は 2 つ入ります。いずれかの署名が一致すれば、そのリクエストを受け入れます。

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 クレジットかかります。配信に失敗した分は返金され、テストイベントとシークレットのローテーションは無料です。

自動一時停止とメール通知

失敗が続くエンドポイントは一時停止され、エンドポイントのホストと最後のエラーを記載したメールが 1 通届きます。修正後に再び有効にすると、失敗回数は 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_..."
}

よくある質問

Webhook にはどのアラートを送れますか?

ウォッチリストの取得可否、有効期限、ステータスの変更、DNS、証明書、登録情報、ホスティング、技術、メールセキュリティに関するドメイン変更の監視、そして監視中のブランドに似た新規登録ドメインです。

リクエストが DomScan からのものかどうかは、どう検証しますか?

エンドポイントのシークレットを使い、X-DomScan-Timestamp の値、ピリオド、生の本文をこの順に連結したデータの HMAC-SHA256 を計算します。結果を X-DomScan-Signature の各値と定数時間で比較し、5 分より古いタイムスタンプは拒否してください。

Webhook アラートの料金はいくらですか?

2xx レスポンスで配信できたアラートは 1 件につき 2 クレジットです。エンドポイントの作成、テストイベント、シークレットのローテーションは無料で、配信に失敗した分のために確保されたクレジットは返金されます。

エンドポイントがダウンしているとどうなりますか?

各アラートは約 6 時間かけて最大 6 回再試行されます。連続 15 回失敗するとエンドポイントが一時停止され、メールが 1 通届きます。モニター設定または API から再び有効にすると、配信が再開されます。

署名シークレットを安全にローテーションするには?

シークレットのローテーション用エンドポイントを呼び出すか、モニター設定から行います。新しいシークレットは一度だけ表示され、24 時間はすべてのアラートに両方のシークレットの署名が付くため、変更を展開する間はどちらでも受け入れられます。

同じアラートが 2 回届くことはありますか?

タイムアウトの後などに、エンドポイントがすでに処理したアラートの再試行が届くことがあります。再試行では本文と X-DomScan-Event-Id に同じイベント ID が入るため、処理済みの ID を保存して重複をスキップしてください。

関連ツールとリソース

HTTP ステータスコード

正常な応答、認証の問題、クレジット不足、レート制限、データ未検出、上流サービス障害を判別できるよう、クライアントで処理すべきHTTPステータスコードを明記しています。

成功 200

リクエスト成功

作成済み 201

リソースは正常に作成されました。

不正なリクエスト 400

無効なパラメータ

未認証 401

APIキーまたはセッションが不足しているか無効です。

HTTP 409 409

正常な応答、認証の問題、クレジット不足、レート制限、データ未検出、上流サービス障害を判別できるよう、クライアントで処理すべきHTTPステータスコードを明記しています。

リクエスト過多 429

レート制限を超過

最初の Webhook エンドポイントを追加