Webhook'lar

Sistemlerinizde olaya dayalı otomasyonlar için SEO Boost Hub webhook bildirimlerini gerçek zamana yakın şekilde alın.

Kurulum

Webhook uç noktalarını panelinizden yapılandırın:

Ayarlar → Webhook'lar'a gidin Uç Nokta Ekle'ye tıklayın, URL'nizi girin ve almak istediğiniz olayları seçin.

Mevcut Olaylar

Aşağıdaki olaylar webhook bildirimlerini tetikler:

Olay Açıklama
location.updated Bir lokasyonun detayları değiştirildi
rank.scanned Bir anahtar kelime için günlük sıralama taraması tamamlandı
content.published Bir içerik gönderisi Google Business Profile'da yayınlandı
review.received Yeni bir Google değerlendirmesi alındı
health.calculated İşletme sağlık puanı yeniden hesaplandı

Yük Formatı

Tüm webhook yükleri tutarlı bir JSON yapısını takip eder:

{
  "id": "evt_01hx9c3f7a",
  "event": "rank.scanned",
  "timestamp": "2025-11-28T08:15:00Z",
  "data": {
    "keyword_id": "kw_01hx8b2e4d",
    "keyword": "best coffee shop berlin",
    "location_id": "loc_01hx7a9b2c",
    "previous_rank": 8,
    "current_rank": 5,
    "search_engine": "google",
    "scanned_at": "2025-11-28T08:14:55Z"
  }
}

İmza Doğrulama

Her webhook isteği, yükün HMAC-SHA256 hash'ini içeren bir X-Signature başlığı içerir. İsteğin gerçek olduğundan emin olmak için bu imzayı doğrulayın:

İmza Başlığı

X-Signature: sha256=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2

Doğrulama Örneği (PHP)

$payload = file_get_contents('php://input');
$signature = hash_hmac('sha256', $payload, $webhookSecret);
$header = $_SERVER['HTTP_X_SIGNATURE'] ?? '';

if (hash_equals("sha256={$signature}", $header)) {
    // Signature is valid — process the event
} else {
    // Invalid signature — reject the request
    http_response_code(401);
}

Yeniden Deneme Politikası

Uç noktanız 2xx dışında bir durum kodu döndürürse, webhook üstel geri çekilme ile yeniden denenir:

Deneme Gecikme
1. deneme Anında
2. deneme 5 dakika
3. deneme 30 dakika

Not 3 başarısız denemeden sonra webhook başarısız olarak işaretlenir. Başarısız teslimatları Ayarlar → Webhook'lar bölümünde görüntüleyebilirsiniz.