Webhook Kurulumu
Webhook, Rabisu'daki olayları (VPS kuruldu, askıya alındı, kredi eklendi, ürün değişti) modülünüze anında iletir. Polling'e göre çok daha hızlıdır ve gecikmeyi sıfırlar. Cron yine de yedek olarak kalır.
Alıcı URL'i
Modül standalone bir webhook alıcısı içerir:
https://<bayi-kök>/modules/addons/rabisu/webhook.php
Adım 1 — Rabisu'da kaydet
Bu URL'i Rabisu Reseller API'de kaydedin (POST /webhooks). Dönen secret'ı
kopyalayın — yalnızca bir kez gösterilir. Önerilen abonelik:
{
"url": "https://<bayi-kök>/modules/addons/rabisu/webhook.php",
"event_types": ["service.*", "product.*", "credit.added"]
}
Adım 2 — Secret'ı modüle gir
Dönen secret'ı Addon Modules > Rabisu > Configure > "Webhook Secret" alanına yapıştırın. Modül gelen isteklerin imzasını bu secret ile doğrular.
İmza doğrulama
Rabisu her istekte X-Rabisu-Signature: sha256=<hmac> başlığı gönderir. Modül bunu
ham gövde üzerinden HMAC-SHA256 ile sabit-zamanlı karşılaştırır. Geçersiz imza →
401 (Rabisu bunu kalıcı hata sayar, tekrar denemez).
İşlenen olaylar
| Olay | Modülün yaptığı |
|---|---|
service.created | Yerel kayda service_id bağlanır, status active olur, ardından IP + root şifresi + hostname WHMCS servisine yazılır |
service.suspended/unsuspended/terminated | Yerel servis durumu güncellenir |
product.price_changed | Maliyet güncellenir, zam kararı kuyruğa girer |
product.stock_changed | Ürün siparişe açılır/kapatılır |
product.disabled | Ürün gizlenir |
Sorun giderme
- Webhook gelmiyor → Raporlama sekmesindeki senkron sağlık panelinde son webhook zamanı ve imza hata sayacını kontrol edin.
- İmza hatası artıyorsa → addon'daki Webhook Secret ile Rabisu'daki kayıt secret'ının aynı olduğundan emin olun (gerekirse Rabisu'da yeni endpoint kaydedin).
- Endpoint art arda 5 kez başarısız olursa Rabisu onu otomatik pasifleştirir; düzeltince
Rabisu'da
PATCH /webhooks/{id}ile yeniden aktifleştirin.