Monitoramento e automação

API de alertas webhook

Envie alertas da lista de observação, de mudanças de domínio e do monitoramento de marca para os seus próprios endpoints HTTPS como JSON assinado. Escolha os eventos que cada endpoint recebe, verifique cada requisição com HMAC-SHA256 e pague apenas pelos alertas que o seu endpoint aceita.

Categoria Monitoramento e automação
Pontos finais 7
Principais Recursos 6
Perguntas frequentes 6

Usado por pessoas nestas empresas

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse

Sinais de confiança antes da integração

Documentação transparente, solicitações autenticadas e detalhes visíveis de confiabilidade facilitam avaliar o DomScan antes de publicar.

Ao vivo Status do serviço

Consulte o estado do serviço ao vivo e as respostas de falha documentadas antes de fazer a integração.

OpenAPI Artefatos da API

OpenAPI, Swagger, Postman, CLI, SDK e links MCP ficam a um clique.

Chaves API Acesso protegido

Endpoints autenticados usam chaves API com custos de créditos claros antes da chamada.

10,000 Cota gratuita

Comece com 10.000 créditos mensais e faça upgrade só quando o uso crescer.

O que esta API ajuda você a lançar

Use esta página como briefing de produção: endpoints, exemplos, formato da resposta e peças de workflow para conectar o DomScan ao seu produto.

Workflows de produto

Incorpore checagens de domínio, inteligência DNS, sinais de risco ou enriquecimento em onboarding, busca e ferramentas internas.

Automação de analistas

Substitua consultas manuais repetidas por jobs agendados, alertas e etapas de investigação reproduzíveis.

Dados JSON limpos

Use campos previsíveis, códigos de status documentados e custos em créditos em vez de raspar páginas de fornecedores.

IA e operações

Alimente agentes, dashboards, playbooks SOAR e CRMs via OpenAPI, SDK, Postman ou MCP.

Fluxo de integração

Um caminho simples da primeira requisição ao uso repetível em produção.

1
Autentique uma vez

Envie sua chave API com o cabeçalho documentado e mantenha requisições consistentes entre serviços.

2
Consulte com exemplos

Comece pelos exemplos curl e HTTP, depois mapeie os parâmetros no código da sua aplicação.

3
Opere e monitore

Use códigos de status, custos em créditos e campos de resposta para criar retentativas, logs e alertas.

Kit de desenvolvedor

Saia desta página para docs legíveis por máquina, coleções de requisições, SDKs ou ferramentas para agentes.

Mapa de parâmetros e resposta

Revise entradas, campos de saída e códigos de status antes de ligar o endpoint ao seu cliente.

Parâmetros da requisição

Parâmetro

urldescriptioneventsenabledwebhook_idlimit
Campos da resposta

Exemplo de resposta

endpointendpoint.idendpoint.urlendpoint.eventsendpoint.statusendpoint.disabled_reasonendpoint.consecutive_failuresendpoint.secret_hintendpoint.previous_secret_expires_atsecret
Cobertura de status

Códigos de status HTTP

200201400401409429

Pontos finais

POST /v1/webhooks
Créditos: 0Autenticação: Autenticação necessária
urldescriptionevents
GET /v1/webhooks
Créditos: 0Autenticação: Autenticação necessária
PATCH /v1/webhooks/:webhook_id
Créditos: 0Autenticação: Autenticação necessária
enabledeventsdescription
POST /v1/webhooks/:webhook_id/rotate-secret
Créditos: 0Autenticação: Autenticação necessária
POST /v1/webhooks/:webhook_id/test
Créditos: 0Autenticação: Autenticação necessária
GET /v1/webhooks/:webhook_id/deliveries
Créditos: 0Autenticação: Autenticação necessária
limit
DELETE /v1/webhooks/:webhook_id
Créditos: 0Autenticação: Autenticação necessária

Verifique cada alerta

Use o corpo bruto da requisição exatamente como recebido. O cabeçalho contém uma assinatura, ou duas durante uma rotação de segredo. Aceite a requisição quando qualquer assinatura corresponder.

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

Rotacione segredos com 24 horas de carência

A rotação retorna um novo segredo, uma única vez. Até o fim do período de carência, cada alerta é assinado primeiro com o segredo novo e depois com o anterior, então os receptores que ainda usam o segredo antigo continuam funcionando.

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

Sinais de confiança antes da integração

Documentação transparente, solicitações autenticadas e detalhes visíveis de confiabilidade facilitam avaliar o DomScan antes de publicar.

Ao vivo Status do serviço

Consulte o estado do serviço ao vivo e as respostas de falha documentadas antes de fazer a integração.

OpenAPI Artefatos da API

OpenAPI, Swagger, Postman, CLI, SDK e links MCP ficam a um clique.

Chaves API Acesso protegido

Endpoints autenticados usam chaves API com custos de créditos claros antes da chamada.

10,000 Cota gratuita

Comece com 10.000 créditos mensais e faça upgrade só quando o uso crescer.

Principais Recursos

Requisições assinadas

Cada alerta traz uma assinatura HMAC-SHA256 calculada sobre um carimbo de data e hora e o corpo bruto, para que o seu receptor possa rejeitar requisições forjadas e reenviadas.

Escolha seus eventos

Inscreva cada endpoint em alertas de disponibilidade, expiração, status, DNS, certificados, registro, hospedagem, tecnologia, segurança de e-mail ou ameaças à marca, ou em todos eles.

Novas tentativas com IDs de evento estáveis

As entregas com falha são repetidas com intervalos crescentes, em até 6 tentativas. Cada nova tentativa repete o mesmo ID de evento, então você pode ignorar alertas que já processou.

Pague apenas pelos alertas entregues

Um alerta custa 2 créditos somente quando o seu endpoint responde com um status 2xx. As entregas com falha são reembolsadas, e os eventos de teste e a rotação de segredos são gratuitos.

Pausa automática com aviso por e-mail

Um endpoint que continua falhando é pausado, e você recebe um e-mail com o host do endpoint e o último erro. Ative-o novamente quando estiver corrigido, e a contagem de falhas recomeça do zero.

Rotação de segredos sem indisponibilidade

Rotacione um segredo de assinatura a qualquer momento. Por 24 horas, cada alerta é assinado com o segredo novo e com o anterior, então você pode trocar de receptor sem perder alertas.

Exemplo de requisição

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

Exemplo de resposta

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

Perguntas frequentes

Quais alertas podem ser enviados para um webhook?

Mudanças de disponibilidade, expiração e status da lista de observação, o monitoramento de mudanças de domínio em DNS, certificados, registro, hospedagem, tecnologia e segurança de e-mail, e domínios parecidos recém-registrados de uma marca que você monitora.

Como verifico que uma requisição vem do DomScan?

Calcule um HMAC-SHA256 do valor de X-DomScan-Timestamp, de um ponto e do corpo bruto com o segredo do seu endpoint, compare em tempo constante com cada entrada de X-DomScan-Signature e rejeite carimbos de data e hora com mais de 5 minutos.

Quanto custam os alertas webhook?

Cada alerta entregue com uma resposta 2xx custa 2 créditos. Criar endpoints, eventos de teste e a rotação de segredos são gratuitos, e os créditos reservados para uma entrega com falha são reembolsados.

O que acontece quando o meu endpoint está fora do ar?

Cada alerta é repetido até 6 vezes ao longo de cerca de 6 horas. Após 15 tentativas falhas consecutivas, o endpoint é pausado e você recebe um e-mail. Ative-o novamente nas configurações do Monitor ou pela API para retomar as entregas.

Como rotaciono um segredo de assinatura com segurança?

Chame o endpoint de rotação de segredo ou use as configurações do Monitor. O novo segredo é exibido uma única vez e, por 24 horas, cada alerta traz as assinaturas dos dois segredos, então o seu receptor pode aceitar qualquer um enquanto você implanta a mudança.

Posso receber o mesmo alerta duas vezes?

Uma nova tentativa pode chegar depois de o seu endpoint já ter tratado o alerta, por exemplo após um timeout. Cada nova tentativa repete o ID do evento no corpo e em X-DomScan-Event-Id, então guarde os IDs processados e ignore duplicatas.

Ferramentas e recursos relacionados

Códigos de status HTTP

Estes são os códigos de status HTTP que você deve tratar para distinguir respostas bem-sucedidas, problemas de autenticação, créditos, limites de taxa, dados ausentes e falhas de origem.

OK 200

Pedido bem-sucedido

Criado 201

Recurso criado com sucesso.

Pedido inválido 400

Parâmetros inválidos

Não autorizado 401

Chave de API ou sessão em falta ou inválida.

HTTP 409 409

Estes são os códigos de status HTTP que você deve tratar para distinguir respostas bem-sucedidas, problemas de autenticação, créditos, limites de taxa, dados ausentes e falhas de origem.

Demasiados pedidos 429

Limite de taxa excedido

Adicione seu primeiro endpoint de webhook