Monitoraggio e automazione

API di avvisi webhook

Invia gli avvisi della watchlist, delle modifiche ai domini e del monitoraggio del brand ai tuoi endpoint HTTPS come JSON firmato. Scegli gli eventi che ogni endpoint riceve, verifica ogni richiesta con HMAC-SHA256 e paga solo gli avvisi accettati dal tuo endpoint.

Categoria Monitoraggio e automazione
Endpoint 7
Caratteristiche Principali 6
Domande frequenti 6

Usato da persone di queste aziende

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse

Segnali di fiducia prima dell’integrazione

Documentazione trasparente, richieste autenticate e dettagli di affidabilità visibili rendono più semplice valutare DomScan prima del rilascio.

In tempo reale Stato del servizio

Controlla lo stato del servizio in tempo reale e le risposte di errore documentate prima dell’integrazione.

OpenAPI Artefatti API

OpenAPI, Swagger, Postman, CLI, SDK e link MCP sono a un clic.

Chiavi API Accesso protetto

Gli endpoint autenticati usano chiavi API con costi in crediti chiari prima della chiamata.

10,000 Quota gratuita

Inizia con 10.000 crediti mensili e fai upgrade solo quando l’uso cresce.

Cosa ti aiuta a costruire questa API

Usa questa pagina come brief di produzione: endpoint, esempi, forma della risposta e parti del workflow per integrare DomScan nel tuo prodotto.

Workflow di prodotto

Integra controlli dominio, intelligence DNS, segnali di rischio o arricchimento in onboarding, ricerca e strumenti interni.

Automazione per analisti

Sostituisci lookup manuali ripetuti con job pianificati, alert e passaggi di indagine riproducibili.

Dati JSON puliti

Usa campi prevedibili, codici di stato documentati e costi in crediti invece di fare scraping di pagine provider.

AI e strumenti ops

Alimenta agenti, dashboard, playbook SOAR e CRM tramite OpenAPI, SDK, Postman o MCP.

Workflow di integrazione

Un percorso semplice dalla prima richiesta all’uso ripetibile in produzione.

1
Autentica una volta

Invia la tua chiave API con l’header documentato e mantieni richieste coerenti tra servizi.

2
Interroga con esempi

Parti dagli esempi curl e HTTP, poi mappa i parametri nel codice della tua applicazione.

3
Opera e monitora

Usa codici di stato, costi in crediti e campi di risposta per costruire retry, log e alert.

Kit sviluppatori

Passa da questa pagina a docs leggibili da macchina, raccolte di richieste, SDK o strumenti per agenti.

Mappa di parametri e risposta

Controlla input, campi di output e codici di stato prima di collegare l’endpoint al tuo client.

Parametri richiesta

Parametro

urldescriptioneventsenabledwebhook_idlimit
Campi risposta

Risposta di esempio

endpointendpoint.idendpoint.urlendpoint.eventsendpoint.statusendpoint.disabled_reasonendpoint.consecutive_failuresendpoint.secret_hintendpoint.previous_secret_expires_atsecret
Copertura stati

Codici di stato HTTP

200201400401409429

Endpoint

POST /v1/webhooks
Crediti: 0Autenticazione: Autenticazione richiesta
urldescriptionevents
GET /v1/webhooks
Crediti: 0Autenticazione: Autenticazione richiesta
PATCH /v1/webhooks/:webhook_id
Crediti: 0Autenticazione: Autenticazione richiesta
enabledeventsdescription
POST /v1/webhooks/:webhook_id/rotate-secret
Crediti: 0Autenticazione: Autenticazione richiesta
POST /v1/webhooks/:webhook_id/test
Crediti: 0Autenticazione: Autenticazione richiesta
GET /v1/webhooks/:webhook_id/deliveries
Crediti: 0Autenticazione: Autenticazione richiesta
limit
DELETE /v1/webhooks/:webhook_id
Crediti: 0Autenticazione: Autenticazione richiesta

Verifica ogni avviso

Usa il corpo grezzo della richiesta esattamente come ricevuto. L'intestazione contiene una firma, oppure due durante la rotazione di un segreto. Accetta la richiesta quando una qualsiasi firma corrisponde.

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

Ruota i segreti con 24 ore di tolleranza

La rotazione restituisce un nuovo segreto, una sola volta. Fino alla fine del periodo di tolleranza, ogni avviso è firmato prima con il nuovo segreto e poi con quello precedente, così i ricevitori che usano ancora il vecchio segreto continuano a funzionare.

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

Segnali di fiducia prima dell’integrazione

Documentazione trasparente, richieste autenticate e dettagli di affidabilità visibili rendono più semplice valutare DomScan prima del rilascio.

In tempo reale Stato del servizio

Controlla lo stato del servizio in tempo reale e le risposte di errore documentate prima dell’integrazione.

OpenAPI Artefatti API

OpenAPI, Swagger, Postman, CLI, SDK e link MCP sono a un clic.

Chiavi API Accesso protetto

Gli endpoint autenticati usano chiavi API con costi in crediti chiari prima della chiamata.

10,000 Quota gratuita

Inizia con 10.000 crediti mensili e fai upgrade solo quando l’uso cresce.

Caratteristiche Principali

Richieste firmate

Ogni avviso porta una firma HMAC-SHA256 calcolata su un timestamp e sul corpo grezzo, così il tuo ricevitore può respingere richieste falsificate e riproposte.

Scegli i tuoi eventi

Iscrivi ogni endpoint agli avvisi su disponibilità, scadenza, stato, DNS, certificati, registrazione, hosting, tecnologia, sicurezza e-mail o minacce al brand, oppure a tutti.

Nuovi tentativi con ID evento stabili

Le consegne non riuscite vengono ritentate con ritardi crescenti, fino a 6 tentativi. Ogni nuovo tentativo ripete lo stesso ID evento, così puoi ignorare gli avvisi già elaborati.

Paghi solo gli avvisi consegnati

Un avviso costa 2 crediti solo quando il tuo endpoint risponde con uno stato 2xx. Le consegne non riuscite vengono rimborsate, e gli eventi di test e la rotazione dei segreti sono gratuiti.

Pausa automatica con e-mail

Un endpoint che continua a fallire viene messo in pausa e ricevi un'e-mail con l'host dell'endpoint e l'ultimo errore. Riattivalo quando è stato corretto e il conteggio degli errori riparte da zero.

Rotazione dei segreti senza interruzioni

Ruota un segreto di firma in qualsiasi momento. Per 24 ore ogni avviso è firmato sia con il nuovo segreto sia con quello precedente, così puoi cambiare ricevitore senza perdere avvisi.

Richiesta di esempio

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

Risposta di esempio

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

Domande frequenti

Quali avvisi si possono inviare a un webhook?

Modifiche di disponibilità, scadenza e stato della watchlist, monitoraggio delle modifiche ai domini per DNS, certificati, registrazione, hosting, tecnologia e sicurezza e-mail, e domini simili appena registrati a un brand che monitori.

Come verifico che una richiesta provenga da DomScan?

Calcola un HMAC-SHA256 del valore di X-DomScan-Timestamp, un punto e il corpo grezzo con il segreto del tuo endpoint, confrontalo in tempo costante con ogni voce di X-DomScan-Signature e rifiuta i timestamp più vecchi di 5 minuti.

Quanto costano gli avvisi webhook?

Ogni avviso consegnato con una risposta 2xx costa 2 crediti. Creare endpoint, gli eventi di test e la rotazione dei segreti sono gratuiti, e i crediti riservati per una consegna non riuscita vengono rimborsati.

Cosa succede se il mio endpoint non è raggiungibile?

Ogni avviso viene ritentato fino a 6 volte in circa 6 ore. Dopo 15 tentativi consecutivi falliti l'endpoint viene messo in pausa e ricevi un'e-mail. Riattivalo dalle impostazioni di Monitor o dall'API per riprendere le consegne.

Come ruoto un segreto di firma in sicurezza?

Chiama l'endpoint di rotazione del segreto oppure usa le impostazioni di Monitor. Il nuovo segreto viene mostrato una sola volta e per 24 ore ogni avviso porta le firme di entrambi i segreti, così il tuo ricevitore può accettare l'uno o l'altro mentre distribuisci la modifica.

Posso ricevere lo stesso avviso due volte?

Un nuovo tentativo può arrivare dopo che il tuo endpoint ha già gestito l'avviso, ad esempio dopo un timeout. Ogni nuovo tentativo ripete l'ID evento nel corpo e in X-DomScan-Event-Id, quindi conserva gli ID elaborati e salta i duplicati.

Strumenti e risorse correlati

Codici di stato HTTP

Questi sono i codici di stato HTTP da gestire, per distinguere risposte riuscite, problemi di autenticazione, crediti, limiti di frequenza, dati mancanti ed errori a monte.

OK 200

Richiesta riuscita

Creato 201

Risorsa creata correttamente.

Richiesta non valida 400

Parametri non validi

Non autorizzato 401

Chiave API o sessione mancante o non valida.

HTTP 409 409

Questi sono i codici di stato HTTP da gestire, per distinguere risposte riuscite, problemi di autenticazione, crediti, limiti di frequenza, dati mancanti ed errori a monte.

Troppe richieste 429

Limite di richieste superato

Aggiungi il tuo primo endpoint webhook