Genel bakış
Web Push Webhook’ları, kullanıcılar push bildirimlerinizle etkileşime girdiğinde gerçek zamanlı HTTP POST bildirimleri almanızı sağlar. Bir bildirim görüntülendiğinde, tıklandığında veya kapatıldığında, OneSignal otomatik olarak bildirim verilerini ve özel parametreleri belirttiğiniz webhook URL’sine gönderir.Journey webhook’ları için Journey webhook’ları sayfamıza bakın.
- Bildirim etkileşimini gerçek zamanlı olarak izleyin
- Kullanıcı etkileşimlerine dayalı otomatik iş akışlarını tetikleyin
- Bildirim verilerini analitik platformunuzla senkronize edin
- Bildirim olayları için özel iş mantığı uygulayın
Tarayıcı desteği
| Tarayıcı | Platform Desteği | Kullanılabilir Webhook Olayları |
|---|---|---|
| Chrome | macOS, Windows, Android | Tüm olaylar (görüntüleme, tıklama, kapatma) |
| Firefox | macOS, Windows, Android | Görüntüleme ve tıklama olayları |
| Safari | Desteklenmiyor | Yok |
Kullanılabilir webhook olayları
notification.willDisplay
Bir bildirim kullanıcının ekranında göründükten hemen sonra tetiklenir. Kullanım senaryoları: Teslimat oranlarını izleyin, gösterim verilerini kaydedin, takip kampanyalarını tetikleyinnotification.clicked
Bir kullanıcı bildirim gövdesine veya herhangi bir eylem düğmesine tıkladığında tetiklenir. Kullanım senaryoları: Etkileşim oranlarını izleyin, dönüşüm olaylarını tetikleyin, kullanıcıları belirli içeriğe yönlendirinnotification.dismissed
Bir kullanıcı bir bildirimi aktif olarak kapattığında veya otomatik olarak sona erdiğinde tetiklenir. Tarayıcı desteği: Yalnızca Chrome Kullanım senaryoları: Kapatma oranlarını izleyin, bildirim zamanlamasını optimize edin, bildirim içeriğini A/B test edin Önemli: Bildirim gövdesine veya eylem düğmelerine tıklamak kapatma webhook’unu tetiklemez.Kurulum yöntemleri
- Kontrol Paneli Yapılandırması (Çoğu Kullanıcı İçin Önerilir)
- Özel Kod Entegrasyonu
1
OneSignal kontrol panelinizde Ayarlar > Web’e gidin
2
“Webhook’ları etkinleştir” anahtarını etkinleştirin
3
İzlemek istediğiniz her olay için webhook URL’lerinizi girin

OneSignal kontrol paneli ayarlarınızda webhook'ları etkinleştirin
Webhook URL’lerinizin HTTPS olduğundan emin olun (Chrome’un güvenlik politikaları tarafından gereklidir).
CORS yapılandırması
cors ayarı, webhook endpoint’inizin hangi başlıkları ve verileri alacağını belirler:
cors: false(Önerilir): Daha basit kurulum, sunucunuzda CORS yapılandırması gerekmezcors: true: Ek başlıklar sağlar ancak sunucunuzda CORS desteği gerektirir
cors: true ne zaman kullanılır:
Content-Type: application/jsonbaşlığına ihtiyacınız var- Daha kolay olay tanımlama için
X-OneSignal-Eventbaşlığını istiyorsunuz - Sunucunuz zaten basit olmayan istekler için CORS’u destekliyor
Webhook istek formatı
Standart istek (cors: false)
Webhook endpoint’iniz bu yük yapısına sahip bir POST isteği alır:Gelişmiş istek (cors: true)
Yukarıdaki yükle aynı, artı şu ek başlıklar:Yük alanı referansı
| Alan | Tür | Açıklama | Her Zaman Mevcut |
|---|---|---|---|
event | string | Webhook’u tetikleyen olay türü | ✅ |
notificationId | string | Benzersiz OneSignal bildirim tanımlayıcısı | ✅ |
heading | string | Bildirim başlığı | Yalnızca sağlanmışsa |
content | string | Bildirim mesaj gövdesi | Yalnızca sağlanmışsa |
additionalData | object | Bildirimle gönderilen özel veriler | Yalnızca sağlanmışsa |
actionId | string | Tıklanan eylem düğmesinin ID’si (boş dize = bildirim gövdesi tıklandı) | Yalnızca tıklama olayları |
url | string | Bildirim için başlatma URL’si | Yalnızca sağlanmışsa |
subscriptionId | string | OneSignal kullanıcı/abonelik ID’si | Yalnızca CORS etkin |
İmplementasyon en iyi uygulamaları
Webhook endpoint gereksinimleri
Güvenlik:- Yalnızca HTTPS URL’leri kullanın (HTTP URL’leri Chrome tarafından engellenecektir)
- Webhook endpoint’leriniz için uygun kimlik doğrulama/doğrulama uygulayın
- Yüksek hacimli bildirimleri yönetmek için hız sınırlamasını göz önünde bulundurun
- Başarılı işleme için HTTP 200 durumu döndürün
- Zaman aşımlarını önlemek için 10 saniye içinde yanıt verin
- Yinelenen webhook çağrılarını zarif bir şekilde yönetin (idempotency uygulayın)
Hata yönetimi
Yaygın sorunlar ve çözümler
Webhook’lar tetiklenmiyor
Olası nedenler:- Webhook kodu, OneSignal başlatması olan tüm sayfalarda mevcut değil
- Kullanıcı, eklendikten sonra webhook kodu olan bir sayfayı ziyaret etmedi
- HTTPS gereksinimi karşılanmadı
- Sunucu 200 olmayan durum kodları döndürüyor
Webhook’larda eksik veri
Neden: Webhook’lar yalnızca webhook yapılandırması aktif olan sayfaları ziyaret eden kullanıcılar için olayları izler. Çözüm: Webhook kodunu yalnızca belirli açılış sayfalarına değil, OneSignal olan tüm sayfalara dağıtın.Yinelenen webhook çağrıları
Neden: Ağ sorunları veya tarayıcı davranışı yinelenen isteklere neden olabilir. Çözüm: Olayları tekilleştirmek içinnotificationId alanını kullanarak idempotency uygulayın.
Webhook sınırlamaları
- Olay başına bir webhook URL’si: Aynı olay türü için birden fazla webhook URL’si ayarlayamazsınız
- Yalnızca HTTPS: HTTP URL’leri tarayıcı güvenlik kısıtlamaları nedeniyle çalışmaz
- Yalnızca Chrome kapatma izleme:
notification.dismissedolayı yalnızca Chrome’da çalışır - Sayfa bağımlılığı: İzlemenin çalışması için kullanıcıların webhook kodu aktif olan sayfaları ziyaret etmesi gerekir
Webhook’larınızı test etme
- OneSignal kontrol paneliniz aracılığıyla bir test bildirimi gönderin
- Gelen istekler için webhook endpoint’inizi izleyin
- Yük yapısının beklentilerinizle eşleştiğini doğrulayın
- Farklı senaryoları test edin:
- Bildirim görüntüleme
- Bildirim gövdesine tıklama
- Eylem düğmelerine tıklama (yapılandırılmışsa)
- Bildirimleri kapatma (yalnızca Chrome)
Sonraki adımlar
Webhook’ları kurduktan sonra, şunları göz önünde bulundurun:- Analitik Entegrasyonu: Webhook verilerini analitik platformunuza iletin
- Kullanıcı Segmentasyonu: Etkileşime dayalı kullanıcı segmentleri oluşturmak için webhook olaylarını kullanın
- Otomatik İş Akışları: Push bildirim etkileşimlerine dayalı e-posta kampanyalarını veya uygulama bildirimlerini tetikleyin
- A/B Testi: Farklı bildirim stratejilerinin etkinliğini ölçmek için webhook verilerini kullanın