Webhooks
Webhook'lar, kanal saglayicilarinin PulseHub'a bir sey oldugunda bildirim gonderme yontemidir — bir musteri mesaj gonderir, teslimat durumu degisir vb.
Webhook URL Deseni
https://yourdomain.com/webhooks/{channel_type}/{channel_id}
Webhook Dogrulamasi (GET istekleri)
Bazi saglayicilar gercek mesajlar gondermeden once webhook URL'nizi bir sorgulamayla dogrular:
WhatsApp / Facebook / Instagram
PulseHub hub.verify_token degerini kontrol eder ve hub.challenge degerini geri dondurur.
Telegram
GET dogrulamasi yok — Bot API uzerinden webhook ayarlamak yeterlidir.
Viber
Ilk acilista conversation_started olayi gonderir. PulseHub {"status": 0} dondurur.
Imza Dogrulamasi
| Saglayici | Baslik | Gizli Anahtar |
|---|---|---|
| WhatsApp/Facebook/Instagram | X-Hub-Signature-256 | App Secret |
| Viber | X-Viber-Content-Signature | Auth Token |
| Twilio | — | URL tabanli guvenlik |
| Telegram | — | UUID tabanli URL guvenligi |
Tum HMAC karsilastirmalari hash_equals() (sabit zaman) kullanir.
Olay Kaydi
Her webhook yuklemesi webhook_events tablosuna status = pending ile kaydedilir. Islemden sonra: processed. Basarisizlikta: failed.
Basarisiz Webhook Yeniden Denemesi
Cron gorevi basarisiz olaylari 24 saat icinde en fazla 5 kez yeniden dener.