Gereksinimler
Olaylar gönderilebilmeden önce, şunlardan emin olun:- Erişim için satış ekibimizle iletişime geçin.
- URL/IP adresi geçerli ve HTTP veya HTTPS üzerinden erişilebilir.
- Uç noktalar genel olarak yönlendirilebilir (yani, bir güvenlik duvarının arkasında veya localhost’ta değil).
- Alan adlarının geçerli bir üst düzey alan adı olmalıdır (ör.
.com,.org,.net). - Journey webhook’ları OneSignal API’lerini çağırmak için kullanılamaz.
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 (ör. kimlik doğrulama için)
- Gövde içeriği (düz metin veya JSON, isteğe bağlı olarak Liquid kullanarak)
- HTTP yöntemi (genellikle

Webhook yapılandırma ekranı
İ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:bash
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 özellikler hakkında daha fazla ayrıntı 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 }} | ✅ |
Etiketler, aktif bir Journey dışında webhook’ları test ederken kullanılamaz. Canlıya geçmeden önce davranışı doğrulamak için Test abonelikleri’ni kullanın.
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.

Bir journey içinde webhook adımı
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ı

Webhook raporları sayfası
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)

Webhook günlük sayfası
Yeniden deneme mantığı ve devre dışı bırakma davranışı
OneSignal, kurtarılabilir hatalar için başarısız webhook isteklerini yeniden dener (ör.429 Too Many Requests). Yeniden denemeler artan gecikmelerle gerçekleşir.
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, bir webhook devre dışı bırakılmadan önce ve sonra e-posta uyarıları ve bir pano başlığı alır. Bu olursa, yeniden etkinleştirmeden önce webhook’u sorun giderme, düzeltme ve test etme için biraz zaman ayırdığınızdan emin olun. Bir webhook’u alan API’nin, mesaj göndermeleri tarafından üretilen olay hacmini işleyebilmesi önemlidir. Uygulamanız tarafından üretilen mesaj gönderme hacmini gözden geçirmek, API’nizin gerektirdiği performansı yansıtacaktır.Performans rehberliği
- Yavaş veya aşırı yüklenmiş uç noktalar (özellikle 429 yanıtlarıyla) devre dışı bırakmayı tetikleyebilir.
- API’ler olayları hızlı bir şekilde kaydetmeli ve zaman aşımlarını önlemek için ek işlemleri ertlemelidir.
- Hacim, kullanıcı etkinliğiyle ölçeklenir—uç noktanızın bu iş hacmini kaldırabildiğinden emin olun.
- Gelen olayları tekilleştirmek için
event.iddeğerini (başlık veya gövdede mevcut) kullanın.
Başarı için ipuçları
- Webhook’ları önce kendi sunucularınıza bağlayın, doğrudan üçüncü taraf hizmetlere değil.
- OneSignal webhook’ları herhangi bir genel API’yi çağırabilirken, kendi sunucunuz üzerinden yönlendirme size daha fazla kontrol sağlar.
- Hata ayıklama, günlük ekleme, kimlik doğrulamayı işleme ve gerektiğinde istekleri kısıtlama veya kuyruğa alma daha kolaydır.
- Üçüncü taraf hizmetler, hacim artarsa istekleri hız sınırlayabilir veya engelleyebilir ve OneSignal bu sınırları yönetmez.
- Webhook yürütme, kullanıcılar Journey’deki bu adıma ulaştıkları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.
- Bu, harici hizmetleri kolayca bunaltabilir, hız sınırlarını tetikleyebilir veya beklenmeyen ücretlere neden olabilir.
- Şunları yapabilen hafif bir API katmanı veya kuyruk proxy’si oluşturmayı düşünün:
- Webhook’ları güvenilir bir şekilde almak
- Hız sınırları veya toplu işleme uygulamak
- İstekleri üçüncü taraf hizmetlerinize zarif bir şekilde yönlendirmek
- Üçüncü taraf API’lerini dikkatli kullanın:
- En popüler araçların (ör. Slack, Twilio, Segment) çoğu genel HTTP API’leri sunar.
- Hız sınırlarını, kimlik doğrulama gereksinimlerini ve hata işleme stratejilerini gözden geçirin.
- Webhook isteğinizin nasıl görünmesi gerektiğini görmek için belgelerinde kod örneklerini arayın.
Webhook’unuzu güvence altına alma
İsteklerin OneSignal’den geldiğinden ve kurcalanmadığından emin olmak için:- Paylaşılan bir sırla bir HMAC imza başlığı kullanın
- Başlığa özel bir kimlik doğrulama belirteci ekleyin ve sunucu tarafında doğrulayın