Alıcı denetimi
En sık entegrasyon hatası webhook imzasının doğrulanmamasıdır. YHA Abone'de webhook çıkışının ayrıntısındaki "Alıcıyı denetle" düğmesi alıcınıza dört sınama isteği gönderir ve yanıtlarını değerlendirir. İstekler olay_turu = "sinama.denetim" ve deneme: true taşır; içerikleri sınama içeriğidir, yayına dönüştürmeyin.
| No | İstek | Beklenen | Değilse |
|---|---|---|---|
| 1 | Doğru imza | 2xx | "Alıcı geçerli isteği reddediyor" (kaldı) |
| 2 | Bozuk imza (son bayt değişik) | 400, 401 ya da 403 | "İmza doğrulanmıyor" (kaldı) |
| 3 | Doğru imza, zaman damgası 10 dakika eski | 400, 401 ya da 403 | "Eski istekler kabul ediliyor (tekrar saldırısı)" (kaldı) |
| 4 | Adım 1'in aynı webhook-id'si, doğru imza | 2xx | Uyarı: "Tekrar gelen bildirim hata dönüyor; aynı kimliği sessizce kabul edin" |
Profil başına saatte en çok 6 denetim yapılabilir. Denetim teslim kaydına ve kuyruğa yazılmaz.
Doğru alıcı
- Gövdeyi ham bayt olarak okuyun (JSON çözmeden önce).
webhook-timestampşimdiye göre 5 dakikadan uzaksa reddedin.v1,base64(HMAC-SHA256(sır, "<webhook-id>.<webhook-timestamp>.<gövde>"))hesaplayın vewebhook-signature'daki imzalardan biriyle sabit zamanlı karşılaştırın (sır döndürmede iki imza gelebilir). Tutmazsa 401.webhook-id'yi en az 24 saat saklayın; yeniden gelirse 2xx dönün ama işlemeyin.- Hemen 2xx dönün (10 saniye sınırı) ve işi arkada yapın: içeriği akıştan çekin ("dürt ve çek").
Kitteki alıcılar dört adımı da geçer: Python, JavaScript, PHP, C#. İmzanın ayrıntısı: Webhook.