Webhook'lar
Webhook'lar, belirli olaylar gerçekleştiğinde VisitorFilters'ın sunucunuza gerçek zamanlı bildirimler göndermesine olanak tanır. Bu, mevcut altyapınızla, olay yönetimiyle veya özel otomasyonla entegrasyonu mümkün kılar.
Webhook Kurulumu
- Siteler → [Siteniz] → Webhook'lar bölümüne gidin
- Endpoint Ekle'ye tıklayın
- Endpoint URL'nizi girin (HTTPS olmalıdır)
- Almak istediğiniz olayları seçin
- Kaydedin — bir imzalama sırrı alacaksınız
Mevcut Olaylar
| Olay | Tetikleyici |
|---|---|
visitor.blocked | Bir ziyaretçi kural tarafından engellendi |
visitor.challenged | Bir ziyaretçiye doğrulama gösterildi |
ban.created | Yeni bir yasak eklendi (manuel veya otomatik) |
ban.expired | Bir yasak sona erdi veya kaldırıldı |
anomaly.detected | Risk puanı eşiği aştı |
rate_limit.exceeded | Bir ziyaretçi hız sınırını aştı |
Yük Biçimi
Tüm webhook yükleri tutarlı bir yapıyı izler:
{
"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"
}
}
İmza Doğrulama
Her webhook isteği, HMAC-SHA256 imzası içeren bir X-VF-Signature başlığı içerir. Yükün VisitorFilters'dan geldiğinden emin olmak için doğrulayın:
$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;
}
Yeniden Deneme Politikası
Endpoint'iniz 2xx dışı bir durum kodu döndürürse, iletimi yeniden deneriz:
- 1. yeniden deneme: 30 saniye
- 2. yeniden deneme: 5 dakika
- 3. yeniden deneme: 30 dakika
- 4. yeniden deneme: 2 saat
- 5. yeniden deneme: 24 saat
5 başarısız denemeden sonra, teslimat başarısız olarak işaretlenir. Kontrol panelinden manuel olarak yeniden deneyebilirsiniz.
En İyi Uygulamalar
- Hızlıca
200 OKile yanıt verin — gerekirse yükü asenkron olarak işleyin. - İşlemeden önce her zaman imzayı doğrulayın.
- Idempotency kullanın — webhook'lar birden fazla kez teslim edilebilir.
- Endpoint'inizin durumunu Webhook'lar → Teslimatlar bölümünden izleyin.