Webhook Yapılandırma Kılavuzu
Webhook Nedir?
Webhook, izlenen içerik sizin belirlediğiniz eşik değerlerine ulaştığında SNSTracker’ın sunucunuza veya uygulamanıza otomatik bildirim göndermesini sağlar. Örneğin, bir videonun görüntülenme sayısı belirgin şekilde arttığında veya bir kanal yeni takipçiler kazandığında, SNSTracker webhook URL’nize (genellikle 1 dakika içinde) bildirim gönderir.
Adım Adım Yapılandırma Kılavuzu
Adım 1: Webhook Endpoint’inizi Hazırlayın
SNSTracker’da yapılandırmadan önce, hazır bir webhook endpoint’iniz olmalıdır. Bu, HTTP POST isteklerini alabilen bir URL’dir.
Webhook endpoint’iniz için seçenekler:
- Kendi sunucunuz:
https://api.yourcompany.com/webhook - Bulut fonksiyonları: AWS Lambda, Google Cloud Functions, Azure Functions vb.
- Otomasyon platformları: Zapier, Make.com, n8n vb.
- Test servisleri: webhook.site (yalnızca test için)
Gereksinimler:
- HTTPS kullanmalı (URL
https://ile başlamalı) - POST isteklerini kabul etmeli
- Başarı için HTTP 200-299 durum kodu döndürmeli
Adım 2: SNSTracker’da Webhook Hedefi Ekleyin
-
Collections sayfasına gidin
- SNSTracker’a giriş yapın
- Sol kenar çubuğunda (Track bölümünün altında) Collections’a tıklayın
- Ya da doğrudan şuraya gidin:
/dashboard/collections
-
Manage Notify Targets’ı açın
- Collections sayfasında "Manage Notify Targets" düğmesini bulun ve tıklayın
- Bu, bildirim hedefleri yönetim penceresini açar
-
Yeni bir hedef ekleyin
- "Add Target" düğmesine tıklayın
- Yeni bir bildirim hedefi oluşturmak için bir pencere açılır
-
Webhook türünü seçin
- Pencerede "Type" açılır listesini bulun
- Seçeneklerden "Webhook"’u seçin
-
Webhook URL’sini girin
- "Webhook URL" alanına webhook endpoint URL’nizi girin
- Örnek:
https://api.yourcompany.com/webhook - Önemli: URL
https://ile başlamalıdır
-
Yorum ekleyin (isteğe bağlı)
- "Comment" alanında bu webhook’un ne için olduğunu hatırlamak üzere not ekleyebilirsiniz
- Örnek: "TikTok izleme için production webhook"
- En fazla 50 karakter
-
İmza anahtarını yapılandırın (isteğe bağlı, production için önerilir)
- "Extra" alanına imza anahtarı içeren bir JSON nesnesi ekleyebilirsiniz:
{ "signature_key": "your-secret-key-here" }- Bu anahtar, isteklerin doğruluğunu doğrulamak için kullanılacaktır
- Sağlanmazsa, SNSTracker imza anahtarı olarak API anahtarınızı veya webhook URL’nizi kullanır
-
Webhook hedefini kaydedin
- "Save" düğmesine tıklayın
- Webhook hedefiniz artık oluşturuldu ve kullanıma hazır
Adım 3: Collection İçinde Bildirim Kurallarını Yapılandırın
-
Collection ayarlarını açın
- Collections sayfasına geri dönün
- Bildirimleri yapılandırmak istediğiniz collection’ı bulun
- Edit düğmesine tıklayın (veya ayarları açmak için collection adına tıklayın)
-
Feed Notify’i etkinleştirin (videolar/gönderiler için)
- Collection ayarlarında "Feed Notify" bölümünü bulun
- "Enable Notifications" anahtarını AÇIK konuma getirin
- "Notify Targets" açılır listesinden webhook hedefinizi seçin
- İzlemek istediğiniz "Metrics"’i seçin:
- Görüntülenmeler
- Etkileşim (beğeniler + yorumlar + paylaşımlar)
- "Threshold" değerini ayarlayın:
- Metrik bu kadar arttığında bildirim almak için bir sayı girin (örn. 1000)
- Her başarılı yenilemeden sonra bildirim almak için 0’a ayarlayın
- "Save" veya "Update"’e tıklayın
-
Channel Notify’i etkinleştirin (hesaplar için)
- Aynı collection ayarlarında "Channel Notify" bölümünü bulun
- "Enable Notifications" anahtarını AÇIK konuma getirin
- "Notify Targets" açılır listesinden webhook hedefinizi seçin
- İzlemek istediğiniz "Metrics"’i seçin:
- Takipçiler
- Takip edilenler
- Beğeniler
- "Threshold" değerini ayarlayın:
- Metrik bu kadar arttığında bildirim almak için bir sayı girin (örn. 500)
- Her başarılı yenilemeden sonra bildirim almak için 0’a ayarlayın
- "Save" veya "Update"’e tıklayın
-
Yapılandırmayı doğrulayın
- Hem webhook hedefinin hem de bildirim kurallarının kaydedildiğinden emin olun
- Artık webhook’unuz, yapılandırılan eşik değerleri karşılandığında bildirim alacaktır
Adım 4: Webhook’unuzu Test Edin
-
Test servisi kullanın (ilk kurulum için önerilir)
- webhook.site adresini ziyaret edin
- Sağlanan benzersiz URL’yi kopyalayın (örn.
https://webhook.site/unique-id) - Bu URL’yi Adım 2’de webhook URL’niz olarak kullanın
- Eşiği 0 olan bir bildirim yapılandırın (her değişimde tetiklenmesi için)
- SNSTracker’ın içeriğinizi kontrol etmesini bekleyin
- Bildirimi alıp almadığınızı webhook.site üzerinden kontrol edin
-
Endpoint günlüklerinizi kontrol edin
- Kendi sunucunuzu kullanıyorsanız, sunucu loglarını kontrol edin
- SNSTracker’dan gelen POST isteklerini arayın
- İstek gövdesinin beklenen verileri içerdiğini doğrulayın
-
Bildirim formatını doğrulayın
- Bildirim, şu alanları içeren bir JSON nesnesi olmalıdır:
title: Bildirimin açıklamasıtype: "feed" veya "channel"timestamp: Bildirimin gönderildiği zamandata: Bildirimi tetikleyen öğelerin dizisi
- Bildirim, şu alanları içeren bir JSON nesnesi olmalıdır:
Webhook Bildirimleri Nasıl Gönderilir?
SNSTracker, webhook teslimatını optimize etmek için toplu (batch) mekanizma kullanır:
-
Anında Tespit: İzlenen bir kaynak (feed veya channel) başarıyla yenilendiğinde ve bildirim eşiğini karşıladığında, hemen bildirim için işaretlenir.
-
1 Dakikalık Batch Penceresi: SNSTracker, bildirimleri tek tek hemen göndermek yerine 1 dakikalık bir zaman penceresinde uygun olan tüm bildirimleri biriktirir.
-
Birleştirilmiş Teslimat: Her 1 dakikalık periyodun sonunda, o pencereye ait tüm bildirimler tek bir webhook isteği içinde birleştirilip birlikte gönderilir.
Örnek Senaryo:
- 10:00:15’te Feed A eşiği karşılar → işaretlenir
- 10:00:45’te Feed B eşiği karşılar → işaretlenir
- 10:01:00’da Feed A ve Feed B tek bir webhook isteğiyle gönderilir
Faydaları:
- Endpoint’inize giden HTTP istek sayısını azaltır
- Verimliliği artırır ve sunucu yükünü azaltır
- Hızlı veri değişimlerinde bildirim spam’ini önler
- Batch süresi içindeki tüm bildirimler
datadizisine dahil edilir
Not: Bir kaynağın eşiğe ulaşması ile webhook’un gönderilmesi arasındaki maksimum gecikme 1 dakikadır. Bu, sistem verimliliğini korurken neredeyse gerçek zamanlı bildirim sağlar.
Hangi Verileri Alacaksınız?
Bir bildirim tetiklendiğinde, aşağıdaki gibi JSON verisi içeren bir POST isteği alırsınız:
{
"title": "SNSTracker Notification: Feed Views Increased",
"type": "feed",
"timestamp": "2024-01-15T10:30:00Z",
"data": [
{
"feed_id": "feed-123",
"url": "https://www.tiktok.com/@user/video/123",
"platform_name": "TikTok",
"view_count": 10000,
"like_count": 2000,
"changed_views": 1000,
"changed_engagement": 50
}
]
}Feed Bildirimi Veri Alanları
feed_id: Benzersiz tanımlayıcıurl: Videoya/gönderiye doğrudan bağlantıplatform_name: Platform (TikTok, Instagram vb.)title: İçerik başlığıdescription: İçerik açıklamasıauthor_username: Üreticinin kullanıcı adıauthor_nickname: Üreticinin görünen adıview_count: Toplam görüntülenmelike_count: Toplam beğenicomment_count: Toplam yorumshare_count: Toplam paylaşımchanged_views: Son kontrolden bu yana artan görüntülenmelerchanged_engagement: Artan etkileşim (beğeniler + yorumlar + paylaşımlar)
Channel Bildirimi Veri Alanları
id: Kanal benzersiz tanımlayıcısıchannel_url: Kanal/profil doğrudan bağlantısıplatform_name: Platform adınickname: Görünen adusername: Kullanıcı adı/handlefollowers: Toplam takipçifollowings: Takip edilen toplam hesap sayısılikes: Toplam beğenichanged_followers: Son kontrolden bu yana artan takipçilerchanged_followings: Son kontrolden bu yana artan takip edilenlerchanged_likes: Son kontrolden bu yana artan beğeniler
Güvenlik: İmza Doğrulama
SNSTracker, isteğin doğruluğunu doğrulamak için X-Signature başlığında bir imza içerir. İmza anahtarı şu şekilde belirlenir:
- Extra alanındaki
signature_key(sağlandıysa) - İlk aktif API anahtarınız (signature_key ayarlı değilse)
- Webhook URL’niz (yedek seçenek)
Production kullanım için, isteklerin gerçek olduğunu doğrulamak amacıyla imzayı doğrulamanız önerilir.
Sorun Giderme
Webhook bildirim almıyor
-
Webhook URL’sini kontrol edin
- URL’nin doğru ve erişilebilir olduğunu doğrulayın
https://ile başladığından emin olun- URL’yi bir POST isteğiyle manuel olarak test edin
-
Bildirim ayarlarını kontrol edin
- Collection’ınızda bildirimlerin etkin olduğundan emin olun
- Webhook hedefinin seçili olduğunu kontrol edin
- Eşik değerlerinin doğru ayarlandığından emin olun
-
Endpoint durumunu kontrol edin
- Endpoint’inizin çalışır ve erişilebilir olduğundan emin olun
- Sunucu loglarını gelen istekler için kontrol edin
- Endpoint’inizin başarı durumu (200-299) döndürdüğünü doğrulayın
Yaygın Sorunlar
Sorun: "Webhook URL already exists"
Çözüm: Her webhook URL’si takım başına yalnızca bir kez kullanılabilir. Farklı bir URL kullanın veya mevcut hedefi düzenleyin.
Sorun: Bildirimler tetiklenmiyor
Çözüm:
- Test için eşiği 0’a ayarlayın (her değişimde bildirim)
- SNSTracker’ın içeriğinizi kontrol etmesini bekleyin (kontroller periyodik olarak yapılır)
- İçeriğinizin eşik miktarında gerçekten değiştiğini doğrulayın
Sorun: Zaman aşımı hataları
Çözüm: Endpoint’iniz 30 saniye içinde yanıt vermelidir. Endpoint yanıt sürenizi optimize edin.
Yardıma mı İhtiyacınız Var?
Sorun yaşarsanız:
- Webhook URL’nizin erişilebilir olduğunu doğrulayın
- Bildirim ayarlarının etkin olduğundan emin olun
- Eşik değerlerinin doğru yapılandırıldığından emin olun
- Sorun devam ederse destek ekibiyle iletişime geçin
İyi takipler! 🚀