Gereksinimler
- Erişim için OneSignal satış ekibiyle iletişime geçin.
- URL veya IP adresi geçerli ve HTTP veya HTTPS üzerinden erişilebilir olmalıdır.
- Uç noktalar genel olarak yönlendirilebilir olmalıdır — bir güvenlik duvarının arkasında veya localhost’ta olmamalıdır.
- Alan adlarının geçerli bir üst düzey alan adı olmalıdır (
.com,.org,.netvb.).
Kurulum
Journey’niz oluşturulduktan sonra şu adımları izleyin:- OneSignal panosunda Data > Webhooks’a gidin.
- Yeni bir webhook oluşturmak için tıklayın.
- Şunları tanımlayın:
- HTTP yöntemi (genellikle
POST) - Hedef URL
- Özel başlıklar (örneğin, kimlik doğrulama token’ları)
- Gövde içeriği (düz metin veya JSON, isteğe bağlı olarak Liquid kullanarak)
- HTTP yöntemi (genellikle

İzin verilmeyen başlıklar
Aşağıdaki başlıkları ayarlayamazsınız:content-lengthreferermetadata-flavorx-google-metadata-requesthostx-onesignalile başlayan herhangi bir başlık
Webhook’ları test etme
Uç noktanızı curl gibi bir araç kullanarak manuel olarak da test edebilirsiniz:Kişiselleştirme
Tüm webhook alanları Liquid sözdizimini destekler, bu da istek içine kullanıcı ve abonelik verilerini dinamik olarak eklemenize olanak tanır. Kullanılabilir özelliklerin tam listesi için Mesaj kişiselleştirme’ye bakın.Kullanıcı verisi referansı
user nesnesinden aşağıdaki özellikler, Liquid sözdizimi aracılığıyla webhook alanlarında kullanılabilir:
| Özellik | Tür | Kullanım | Testte Mevcut mu? |
|---|---|---|---|
| OneSignal ID | String | {{ user.onesignal_id }} | ✅ |
| External ID | String | {{ user.external_id }} | ✅ |
| Tags | Object | {{ user.tags.your_tag_key_here }} | ❌ |
| Language | String | {{ user.language }} | ✅ |
Bir Journey’ye webhook ekleme
- Webhook’unuzu oluşturduktan ve test ettikten sonra Journey’nizi açın.
- Gerektiğinde bir Webhook adımı ekleyin.
- Daha önce yapılandırdığınız webhook’u seçin.

Hata ayıklama ve günlükler
Webhook istatistikleri
Webhook’unuzun nasıl performans gösterdiğini görüntülemek için webhook’un Stats sekmesine gidin. Bu şunları içerir:- Gönderilen toplam olay sayısı
- Yanıt süresi trendleri
- Durum kodu dağılımı

Günlükler sekmesi
Daha ayrıntılı içgörüler için Günlükler sekmesi şunları görüntüler:- Son istek/yanıt verileri
- Durum kodları ve hata mesajları
- Başlıklar ve yükler (uygulanabilir olduğunda)

Yeniden deneme mantığı ve devre dışı bırakma davranışı
OneSignal, kurtarılabilir hatalar için başarısız webhook isteklerini yeniden dener (örneğin429 Too Many Requests). Yeniden denemeler, girişimler arasında artan gecikmeler kullanır.
Yeniden denemeler tekrar tekrar başarısız olursa, webhook kalıcı olarak başarısız olarak işaretlenir ve başka deneme yapılmaz.
Otomatik devre dışı bırakma
Bir webhook sürekli olarak başarısız olursa, OneSignal daha fazla sorunu önlemek için onu devre dışı bırakır. Yöneticiler, devre dışı bırakmadan önce ve sonra e-posta uyarıları ve bir pano başlığı alır. Kök nedeni belirleyin ve yeniden etkinleştirmeden önce webhook’u test edin. Uç noktanız Journey’nizin ürettiği olay hacmini işleyebilmelidir. API’nizin ihtiyaç duyduğu işlem hacmini tahmin etmek için uygulamanızın mesaj gönderme hacmini inceleyin.Performans rehberliği
- Yavaş veya aşırı yüklenmiş uç noktalar (özellikle
429yanıtları döndürenler) otomatik devre dışı bırakmayı tetikleyebilir. - Zaman aşımlarını önlemek için olayları hızla kaydedin ve ek işlemleri erteleyin.
- Hacim, kullanıcı etkinliğiyle ölçeklenir — uç noktanızın zirve işlem hacmini kaldırabildiğinden emin olun.
- Gelen olayları tekilleştirmek için
event.iddeğerini (başlık veya gövdede mevcut) kullanın.
Güvenilirlik en iyi uygulamaları
- Önce kendi sunucunuz üzerinden yönlendirin, doğrudan üçüncü taraf hizmetlere değil. Bu size günlük kaydı, kimlik doğrulama, kısıtlama ve kuyruğa alma üzerinde kontrol sağlar. Üçüncü taraf hizmetler, hacim artışları sırasında istekleri hız sınırlayabilir veya engelleyebilir ve OneSignal bu sınırları yönetmez.
- Ani artışları planlayın. Webhook yürütme, kullanıcılar adıma ulaştığında hemen gerçekleşir. Birçok kullanıcı bir webhook adımına aynı anda ulaşırsa, OneSignal hız sınırlaması olmadan bir HTTP istek patlaması gönderir. Webhook’ları güvenilir bir şekilde alan, hız sınırları veya toplu işleme uygulayan ve istekleri üçüncü taraf hizmetlerinize uygun şekilde yönlendiren hafif bir API katmanı veya kuyruğa alma proxy’si oluşturmayı düşünün.
- Üçüncü taraf API sınırlarını inceleyin. Slack, Twilio ve Segment gibi popüler araçlar genel HTTP API’leri sunar, ancak kendi hız sınırları, kimlik doğrulama gereksinimleri ve hata işleme yapıları vardır. Doğrudan bağlanmadan önce belgelerini kontrol edin.
Webhook’unuzu güvence altına alma
İsteklerin OneSignal’den geldiğini ve kurcalanmadığını doğrulamak için:- HMAC imzası: Webhook yapılandırmasına paylaşılan bir gizli anahtar ekleyin. OneSignal, her isteği sunucunuzun yükü işlemeden önce doğrulayabileceği bir HMAC başlığıyla imzalar.
- Özel kimlik doğrulama token’ı: Özel bir yetkilendirme başlığı ekleyin (örneğin,
Authorization: Bearer GIZLI_TOKEN_UNUZ) ve isteği kabul etmeden önce sunucu tarafında doğrulayın.
SSS
Webhook’ları OneSignal API’lerini çağırmak için kullanabilir miyim?
Hayır. Journey Webhook’ları yalnızca harici sistemlere veri göndermek için tasarlanmıştır. OneSignal API’lerini çağıramazlar. Journey olaylarına dayalı olarak OneSignal verilerini güncellemek için, webhook’u kendi sunucunuz üzerinden yönlendirin ve sunucunuzun OneSignal API’sini çağırmasını sağlayın.Webhook’um neden otomatik olarak devre dışı bırakıldı?
OneSignal, daha fazla sorunu önlemek için sürekli başarısız olan webhook’ları devre dışı bırakır. Hata ayrıntıları (durum kodları, yanıt gövdeleri) için Günlükler sekmesini kontrol edin, kök nedeni düzeltin ve yeniden etkinleştirmeden önce webhook’u test edin. Yaygın nedenler arasında uç nokta kesintileri, kimlik doğrulama hataları ve hız sınırlaması yer alır.Webhook olaylarını nasıl tekilleştiririm?
Benzersiz olayları tanımlamak içinevent.id değerini (başlık veya istek gövdesinde mevcut) kullanın. İşlenmiş olay ID’lerini sunucunuzda depolayın ve tüm kopyaları atlayın. Yeniden denemeler aynı olayı birden fazla kez teslim ediyorsa bu özellikle önemlidir.
OneSignal webhook isteklerini hız sınırlıyor mu?
Hayır. OneSignal, kullanıcılar adıma ulaştığında hız sınırlaması olmadan webhook isteklerini hemen gönderir. Birçok kullanıcı aynı anda bir webhook adımına ulaşırsa, uç noktanız bir istek patlaması alır. Zirve hacmi kaldırabilmek için uç noktanızı oluşturun veya istekleri ara belleğe almak ve toplu işlemek için bir kuyruğa alma proxy’si kullanın.Journey başlatmadan webhook’ları test edebilir miyim?
Evet. Örnek istek göndermek için webhook yapılandırmasındaki Test düğmesini kullanın. Etiketlerin test isteklerinde mevcut olmadığını unutmayın — tam doğrulama için canlı bir Journey’de test abonelikleri kullanın.İlgili sayfalar
Journey'lere genel bakış
Journey’lere giriş ve çok kanallı iş akışlarının nasıl çalıştığı.
Journey eylemleri
Bekleme adımları, dallanma mantığı, zaman pencereleri ve bölünmüş yollar ekleyin.
Liquid sözdizimi
OneSignal mesajları ve webhook’larında Liquid şablonu için tam referans.
Mesaj kişiselleştirme
Etiketler, Liquid ve dinamik içerik dahil tüm kişiselleştirme yöntemlerine genel bakış.