Surveillance et automatisation

API d’alertes webhook

Envoyez les alertes de votre liste de surveillance, des changements de domaine et de la surveillance de marque vers vos propres endpoints HTTPS sous forme de JSON signé. Choisissez les événements reçus par chaque endpoint, vérifiez chaque requête avec HMAC-SHA256 et ne payez que les alertes acceptées par votre endpoint.

Catégorie Surveillance et automatisation
Points de terminaison 7
Fonctionnalités clés 6
Questions fréquentes 6

Utilisé par des équipes de ces entreprises

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse

Signaux de confiance avant intégration

Une documentation transparente, des requêtes authentifiées et des détails de fiabilité visibles facilitent l’évaluation de DomScan avant mise en production.

En direct État du service

Vérifiez l’état du service en direct et les réponses d’échec documentées avant de procéder à l’intégration.

OpenAPI Artefacts API

OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.

Clés API Accès protégé

Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.

10,000 Quota gratuit

Commencez avec 10 000 crédits mensuels et passez à l’offre supérieure seulement quand l’usage augmente.

Ce que cette API vous aide à livrer

Utilisez cette page comme brief de production : endpoints, exemples, structure de réponse et éléments de workflow pour intégrer DomScan à votre produit.

Workflows produit

Intégrez vérifications de domaines, intelligence DNS, signaux de risque ou enrichissement dans l’onboarding, la recherche et les outils internes.

Automatisation analyste

Remplacez les recherches manuelles répétées par des tâches planifiées, des alertes et des étapes d’enquête reproductibles.

Données JSON propres

Utilisez des champs prévisibles, des codes d’état documentés et des coûts en crédits au lieu de scraper des pages fournisseur.

IA et opérations

Alimentez agents, tableaux de bord, playbooks SOAR et CRMs via OpenAPI, SDK, Postman ou MCP.

Flux d’intégration

Un parcours simple de la première requête à un usage répétable en production.

1
Authentifier une fois

Envoyez votre clé API avec l’en-tête documenté et gardez des requêtes cohérentes entre services.

2
Interroger avec les exemples

Commencez par les exemples curl et HTTP, puis mappez les paramètres dans le code de votre application.

3
Exploiter et surveiller

Utilisez codes d’état, coûts en crédits et champs de réponse pour construire retries, logs et alertes.

Kit développeur

Passez de cette page aux docs lisibles par machine, collections de requêtes, SDKs ou outils d’agents.

Carte des paramètres et réponses

Parcourez les entrées, champs de sortie et codes d’état avant de connecter l’endpoint à votre client.

Paramètres de requête

Paramètre

urldescriptioneventsenabledwebhook_idlimit
Champs de réponse

Exemple de réponse

endpointendpoint.idendpoint.urlendpoint.eventsendpoint.statusendpoint.disabled_reasonendpoint.consecutive_failuresendpoint.secret_hintendpoint.previous_secret_expires_atsecret
Couverture des statuts

Codes de statut HTTP

200201400401409429

Points de terminaison

POST /v1/webhooks
Crédits: 0Authentification: Authentification requise
urldescriptionevents
GET /v1/webhooks
Crédits: 0Authentification: Authentification requise
PATCH /v1/webhooks/:webhook_id
Crédits: 0Authentification: Authentification requise
enabledeventsdescription
POST /v1/webhooks/:webhook_id/rotate-secret
Crédits: 0Authentification: Authentification requise
POST /v1/webhooks/:webhook_id/test
Crédits: 0Authentification: Authentification requise
GET /v1/webhooks/:webhook_id/deliveries
Crédits: 0Authentification: Authentification requise
limit
DELETE /v1/webhooks/:webhook_id
Crédits: 0Authentification: Authentification requise

Vérifiez chaque alerte

Utilisez le corps brut de la requête exactement tel que reçu. L’en-tête contient une signature, ou deux pendant une rotation de secret. Acceptez la requête dès qu’une signature correspond.

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);
  });
}

Faites pivoter vos secrets avec 24 heures de période de grâce

La rotation renvoie un nouveau secret, une seule fois. Jusqu’à la fin de la période de grâce, chaque alerte est signée d’abord avec le nouveau secret, puis avec le précédent, afin que les récepteurs qui utilisent encore l’ancien secret continuent de fonctionner.

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

Signaux de confiance avant intégration

Une documentation transparente, des requêtes authentifiées et des détails de fiabilité visibles facilitent l’évaluation de DomScan avant mise en production.

En direct État du service

Vérifiez l’état du service en direct et les réponses d’échec documentées avant de procéder à l’intégration.

OpenAPI Artefacts API

OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.

Clés API Accès protégé

Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.

10,000 Quota gratuit

Commencez avec 10 000 crédits mensuels et passez à l’offre supérieure seulement quand l’usage augmente.

Fonctionnalités clés

Requêtes signées

Chaque alerte porte une signature HMAC-SHA256 calculée sur un horodatage et le corps brut, afin que votre récepteur puisse rejeter les requêtes falsifiées et rejouées.

Choisissez vos événements

Abonnez chaque endpoint aux alertes de disponibilité, d’expiration, de statut, de DNS, de certificat, d’enregistrement, d’hébergement, de technologie, de sécurité e-mail ou de menace de marque, ou à toutes.

Nouvelles tentatives avec des ID d’événement stables

Les livraisons échouées sont réessayées à intervalles croissants, jusqu’à 6 tentatives. Chaque nouvelle tentative reprend le même ID d’événement, ce qui vous permet d’ignorer les alertes déjà traitées.

Ne payez que les alertes livrées

Une alerte coûte 2 crédits uniquement lorsque votre endpoint répond avec un statut 2xx. Les livraisons échouées sont remboursées, et les événements de test ainsi que la rotation des secrets sont gratuits.

Mise en pause automatique avec e-mail

Un endpoint qui échoue en continu est mis en pause, et vous recevez un e-mail avec l’hôte de l’endpoint et la dernière erreur. Réactivez-le une fois corrigé, et le compteur d’échecs repart de zéro.

Rotation des secrets sans interruption

Faites pivoter un secret de signature à tout moment. Pendant 24 heures, chaque alerte est signée avec le nouveau secret et avec le précédent, ce qui vous permet de basculer de récepteur sans manquer d’alertes.

Exemple de requête

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}'

Exemple de réponse

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_..."
}

Questions fréquentes

Quelles alertes peuvent être envoyées vers un webhook ?

Les changements de disponibilité, d’expiration et de statut de la liste de surveillance, la surveillance des changements de domaine (DNS, certificats, enregistrement, hébergement, technologie et sécurité e-mail), ainsi que les sosies nouvellement enregistrés d’une marque que vous surveillez.

Comment vérifier qu’une requête provient bien de DomScan ?

Calculez un HMAC-SHA256 de la valeur de X-DomScan-Timestamp, d’un point et du corps brut avec le secret de votre endpoint, comparez-le en temps constant à chaque entrée de X-DomScan-Signature et rejetez les horodatages de plus de 5 minutes.

Combien coûtent les alertes webhook ?

Chaque alerte livrée avec une réponse 2xx coûte 2 crédits. La création d’endpoints, les événements de test et la rotation des secrets sont gratuits, et les crédits réservés pour une livraison échouée sont remboursés.

Que se passe-t-il si mon endpoint est indisponible ?

Chaque alerte est réessayée jusqu’à 6 fois sur environ 6 heures. Après 15 échecs consécutifs, l’endpoint est mis en pause et vous recevez un e-mail. Réactivez-le depuis les paramètres de Monitor ou l’API pour reprendre les livraisons.

Comment faire pivoter un secret de signature en toute sécurité ?

Appelez l’endpoint de rotation du secret ou utilisez les paramètres de Monitor. Le nouveau secret n’est affiché qu’une fois, et pendant 24 heures chaque alerte porte les signatures des deux secrets, de sorte que votre récepteur peut accepter l’un ou l’autre pendant le déploiement.

Puis-je recevoir deux fois la même alerte ?

Une nouvelle tentative peut arriver alors que votre endpoint a déjà traité l’alerte, par exemple après un délai dépassé. Chaque nouvelle tentative reprend l’ID d’événement dans le corps et dans X-DomScan-Event-Id : conservez les ID traités et ignorez les doublons.

Outils et ressources associés

Codes de statut HTTP

Voici les codes d'état HTTP à gérer, afin de distinguer les réponses réussies, les problèmes d'authentification, les crédits, les limites de débit, les données introuvables et les erreurs en amont.

OK 200

Requête réussie

Créé 201

Ressource créée avec succès.

Requête incorrecte 400

Paramètres invalides

Non autorisé 401

Clé API ou session manquante ou invalide.

HTTP 409 409

Voici les codes d'état HTTP à gérer, afin de distinguer les réponses réussies, les problèmes d'authentification, les crédits, les limites de débit, les données introuvables et les erreurs en amont.

Trop de requêtes 429

Limite de débit dépassée

Ajouter votre premier endpoint de webhook