İçeriğe geç
Belgeler menüsü

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İstekBeklenenDeğilse
1Doğru imza2xx"Alıcı geçerli isteği reddediyor" (kaldı)
2Bozuk imza (son bayt değişik)400, 401 ya da 403"İmza doğrulanmıyor" (kaldı)
3Doğru imza, zaman damgası 10 dakika eski400, 401 ya da 403"Eski istekler kabul ediliyor (tekrar saldırısı)" (kaldı)
4Adım 1'in aynı webhook-id'si, doğru imza2xxUyarı: "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ı

  1. Gövdeyi ham bayt olarak okuyun (JSON çözmeden önce).
  2. webhook-timestamp şimdiye göre 5 dakikadan uzaksa reddedin.
  3. v1,base64(HMAC-SHA256(sır, "<webhook-id>.<webhook-timestamp>.<gövde>")) hesaplayın ve webhook-signature'daki imzalardan biriyle sabit zamanlı karşılaştırın (sır döndürmede iki imza gelebilir). Tutmazsa 401.
  4. webhook-id'yi en az 24 saat saklayın; yeniden gelirse 2xx dönün ama işlemeyin.
  5. 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.