Visitor Filter
Comment ça fonctionne Fonctionnalités Tarifs À propos Journal des modifications Statut

Webhooks

Les webhooks permettent à VisitorFilters d'envoyer des notifications en temps réel à votre serveur lorsque des événements spécifiques se produisent. Cela permet l'intégration avec votre infrastructure existante, la gestion des incidents ou une automatisation personnalisée.

Configurer les Webhooks

  1. Accédez à Sites → [Votre Site] → Webhooks
  2. Cliquez sur Ajouter un Point de Terminaison
  3. Saisissez l'URL de votre point de terminaison (doit être HTTPS)
  4. Sélectionnez les événements que vous souhaitez recevoir
  5. Enregistrez — vous recevrez un secret de signature

Événements Disponibles

ÉvénementDéclencheur
visitor.blockedUn visiteur a été bloqué par une règle
visitor.challengedUn visiteur a reçu un défi
ban.createdUn nouveau bannissement a été ajouté (manuel ou automatique)
ban.expiredUn bannissement a expiré ou a été levé
anomaly.detectedLe score de risque a dépassé le seuil
rate_limit.exceededUn visiteur a dépassé les limites de débit

Format de la Charge Utile

Toutes les charges utiles des webhooks suivent une structure cohérente :

{
  "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"
  }
}

Vérification de la Signature

Chaque requête webhook inclut un en-tête X-VF-Signature contenant une signature HMAC-SHA256. Vérifiez-la pour vous assurer que la charge utile provient 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;
}

Politique de Réessai

Si votre point de terminaison renvoie un code de statut non-2xx, nous réessayons la livraison :

  • 1er réessai : 30 secondes
  • 2ème réessai : 5 minutes
  • 3ème réessai : 30 minutes
  • 4ème réessai : 2 heures
  • 5ème réessai : 24 heures

Après 5 tentatives échouées, la livraison est marquée comme échouée. Vous pouvez réessayer manuellement depuis le tableau de bord.

Bonnes Pratiques

  • Répondez rapidement avec 200 OK — traitez la charge utile de manière asynchrone si nécessaire.
  • Vérifiez toujours la signature avant de traiter.
  • Utilisez l'idempotence — les webhooks peuvent être livrés plus d'une fois.
  • Surveillez la santé de votre point de terminaison dans Webhooks → Livraisons.