Skip to Content
Defender360 v1.0 lancado. Veja o guia de inicio rapido →

Webhooks

Configure webhooks para enviar eventos do Defender360 para sistemas externos em tempo real.

Visao Geral

Webhooks permitem que o Defender360 notifique sistemas externos quando eventos ocorrem, como:

  • Novo ticket criado
  • Ticket atualizado ou resolvido
  • SLA violado
  • Alerta de integracao
  • Usuario cadastrado

Como Funciona

1. Evento ocorre no Defender360 2. Sistema enfileira o webhook 3. POST enviado para URL configurada 4. Resposta processada (sucesso/retry)

Criar Webhook

Passo a Passo

  1. Acesse Configuracoes > Integracoes > Webhooks
  2. Clique em Novo Webhook
  3. Configure os campos:
CampoDescricaoObrigatorio
NomeIdentificador do webhookSim
URLEndpoint que recebera os eventosSim
EventosQuais eventos disparamSim
SecretChave para validacao de assinaturaSim (auto-gerado)
HeadersHeaders customizadosNao
AtivoLiga/desliga o webhookSim
  1. Clique em Salvar
  2. Copie o Secret para validar as requisicoes

Eventos Disponiveis

Tickets

EventoDescricao
ticket.createdNovo ticket aberto
ticket.updatedTicket atualizado (qualquer campo)
ticket.status_changedStatus alterado
ticket.assignedTicket atribuido
ticket.escalatedTicket escalado
ticket.resolvedTicket resolvido
ticket.closedTicket fechado
ticket.reopenedTicket reaberto
ticket.comment_addedNovo comentario

SLA

EventoDescricao
sla.warning75% do SLA consumido
sla.critical90% do SLA consumido
sla.breachedSLA violado

Usuarios

EventoDescricao
user.createdUsuario criado
user.updatedUsuario atualizado
user.deactivatedUsuario desativado
user.loginLogin realizado
user.logoutLogout realizado

Integracoes

EventoDescricao
integration.connectedIntegracao conectada
integration.errorErro na integracao
integration.sync_completedSincronizacao concluida

Formato do Payload

Estrutura Padrao

{ "id": "evt_abc123", "type": "ticket.created", "created_at": "2024-01-15T10:30:00Z", "tenant_id": "tnt_xyz789", "data": { "id": "tkt_123", "number": "TKT-0042", "title": "Computador nao liga", "status": "open", "priority": "high", "requester": { "id": "usr_456", "name": "Joao Silva", "email": "joao@empresa.com" }, "assignee": null, "created_at": "2024-01-15T10:30:00Z" } }

Campos do Evento

CampoTipoDescricao
idstringID unico do evento
typestringTipo do evento
created_atdatetimeData/hora do evento
tenant_idstringID do tenant
dataobjectDados especificos do evento

Seguranca

Validacao de Assinatura

Cada webhook inclui uma assinatura HMAC no header:

X-Webhook-Signature: sha256=abc123...

Valide a assinatura no seu servidor:

# Python import hmac import hashlib def verify_signature(payload, signature, secret): expected = hmac.new( secret.encode(), payload.encode(), hashlib.sha256 ).hexdigest() return hmac.compare_digest(f"sha256={expected}", signature)
// Node.js const crypto = require('crypto'); function verifySignature(payload, signature, secret) { const expected = crypto .createHmac('sha256', secret) .update(payload) .digest('hex'); return signature === `sha256=${expected}`; }

Nunca processe webhooks sem validar a assinatura. Isso previne ataques de falsificacao.

HTTPS Obrigatorio

Webhooks sao enviados apenas para URLs HTTPS. Certifique-se de que seu endpoint:

  • Usa certificado SSL valido
  • Suporta TLS 1.2 ou superior
  • Responde na porta 443

Retentativa (Retry)

Politica de Retry

Se seu endpoint falhar, o sistema tenta novamente:

TentativaAtrasoTimeout
1Imediato10s
21 minuto10s
35 minutos10s
430 minutos10s
52 horas10s
66 horas10s

Codigos de Sucesso

O webhook considera sucesso se receber:

  • 200 OK
  • 201 Created
  • 202 Accepted
  • 204 No Content

Falha Permanente

Apos 6 tentativas sem sucesso, o evento vai para a Dead Letter Queue:

  1. Acesse Webhooks > Dead Letter
  2. Visualize eventos nao entregues
  3. Corrija o problema no endpoint
  4. Clique em Reenviar para tentar novamente

Headers Customizados

Adicione headers extras as requisicoes:

{ "X-Custom-Header": "valor", "Authorization": "Bearer token_externo" }

Variaveis Dinamicas

Use variaveis nos headers:

VariavelValor
{{tenant_id}}ID do tenant
{{webhook_id}}ID do webhook
{{timestamp}}Timestamp atual

Exemplo:

{ "X-Tenant-ID": "{{tenant_id}}", "X-Timestamp": "{{timestamp}}" }

Filtros

Filtrar por Condicao

Configure para disparar apenas quando:

FiltroExemplo
PrioridadeApenas tickets Critical ou High
StatusApenas quando muda para Resolved
CategoriaApenas categoria “Seguranca”
ClienteApenas clientes VIP

Configurar Filtro

  1. Edite o webhook
  2. Na secao Filtros, clique em Adicionar Filtro
  3. Selecione o campo
  4. Defina a condicao
  5. Clique em Salvar

Monitoramento

Dashboard de Webhooks

Visualize o status de entrega:

MetricaDescricao
Eventos EnviadosTotal de eventos disparados
Taxa de Sucesso% entregue com sucesso
Tempo MedioLatencia de entrega
PendentesEventos aguardando retry
FalhasEventos na dead letter

Logs de Eventos

Para cada webhook:

  1. Clique no webhook
  2. Acesse aba Logs
  3. Visualize:
    • Payload enviado
    • Response recebida
    • Status HTTP
    • Tempo de resposta
    • Tentativas realizadas

Alertas

Configure alertas para:

  • Taxa de sucesso abaixo de X%
  • Tempo de resposta acima de Xs
  • Eventos na dead letter
  • Webhook desativado por falhas

Testar Webhook

Enviar Evento de Teste

  1. Acesse o webhook
  2. Clique em Testar
  3. Selecione o tipo de evento
  4. Visualize o payload que sera enviado
  5. Clique em Enviar Teste
  6. Verifique a resposta

Webhook de Debug

Use servicos como:

Use ngrok http 3000 --url https://webhook.defender360.ngrok.dev para expor seu servidor local e testar webhooks em tempo real.

Troubleshooting

Boas Praticas

Configuracao de Webhooks

Sempre valide a assinatura HMAC
Responda rapidamente (< 5 segundos)
Processe eventos de forma assincrona
Implemente idempotencia (eventos podem chegar duplicados)
Monitore a taxa de sucesso
Configure alertas para falhas
Documente quais sistemas recebem cada webhook
Revise dead letter queue regularmente

Proximos Passos

Last updated on