Visitor Filter
Cómo funciona Características Precios Sobre nosotros Registro de cambios Estado

Webhooks

Los webhooks permiten que VisitorFilters envíe notificaciones en tiempo real a su servidor cuando ocurren eventos específicos. Esto permite la integración con su infraestructura existente, gestión de incidentes o automatización personalizada.

Configurar Webhooks

  1. Vaya a Sitios → [Su Sitio] → Webhooks
  2. Haga clic en Agregar Endpoint
  3. Ingrese la URL de su endpoint (debe ser HTTPS)
  4. Seleccione los eventos que desea recibir
  5. Guarde — recibirá un secreto de firma

Eventos Disponibles

EventoDisparador
visitor.blockedUn visitante fue bloqueado por una regla
visitor.challengedA un visitante se le mostró un desafío
ban.createdSe agregó una nueva prohibición (manual o automática)
ban.expiredUna prohibición expiró o fue levantada
anomaly.detectedLa puntuación de riesgo superó el umbral
rate_limit.exceededUn visitante superó los límites de velocidad

Formato del Payload

Todos los payloads de webhook siguen una estructura consistente:

{
  "id": "evt_abc123",
  "type": "visitor.blocked",
  "timestamp": "2025-05-22T14:30:00Z",
  "site_id": "site_xyz",
  "data": {
    "visitor_ip": "203.0.113.42",
    "country": "CN",
    "rule_id": "rule_456",
    "action": "block",
    "reason": "Geo block: CN"
  }
}

Verificación de Firma

Cada solicitud de webhook incluye una cabecera X-VF-Signature que contiene una firma HMAC-SHA256. Verifíquela para asegurarse de que el payload proviene de VisitorFilters:

$payload = file_get_contents('php://input');
$signature = hash_hmac('sha256', $payload, $webhookSecret);

if (! hash_equals($signature, $_SERVER['HTTP_X_VF_SIGNATURE'])) {
    http_response_code(401);
    exit;
}

Política de Reintentos

Si su endpoint devuelve un código de estado no 2xx, reintentamos la entrega:

  • 1er reintento: 30 segundos
  • 2do reintento: 5 minutos
  • 3er reintento: 30 minutos
  • 4to reintento: 2 horas
  • 5to reintento: 24 horas

Después de 5 intentos fallidos, la entrega se marca como fallida. Puede reintentar manualmente desde el panel de control.

Buenas Prácticas

  • Responda con 200 OK rápidamente — procese el payload de forma asíncrona si es necesario.
  • Siempre verifique la firma antes de procesar.
  • Use idempotencia — los webhooks pueden entregarse más de una vez.
  • Monitoree el estado de su endpoint en Webhooks → Entregas.