Webhook'lar
Webhook'lar, FeedbackPulse kiracınızda olaylar gerçekleştiğinde gerçek zamanlı HTTP bildirimleri almanızı sağlar.
Kurulum
Kontrol Paneli Aracılığıyla
- Ayarlar > Entegrasyonlar bölümüne gidin
- Webhook URL'nizi girin
- Abone olacağınız olayları seçin
- İsteğe bağlı olarak HMAC imza doğrulaması için bir gizli anahtar belirleyin
- Kaydedin
API Aracılığıyla
PUT /api/v2/webhooks/config
{
"url": "https://your-app.com/webhooks/feedbackpulse",
"events": ["submission.created", "submission.status_changed"],
"secret": "your_shared_secret"
}
Webhook Yükü
Bir olay gerçekleştiğinde FeedbackPulse URL'nize bir POST isteği gönderir:
{
"event": "submission.created",
"timestamp": "2024-03-15T10:30:00Z",
"data": {
"id": 42,
"campaign_id": 1,
"star_rating": 5,
"text_feedback": "Love this product!",
"customer_name": "Jane Doe",
"status": "pending"
}
}
Başlıklar
Content-Type: application/json
X-FeedbackPulse-Signature: sha256=abc123...
X-FeedbackPulse-Event: submission.created
İmza Doğrulama
Bir webhook gizli anahtarı belirlediyseniz imzayı doğrulayın:
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_FEEDBACKPULSE_SIGNATURE'];
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signature)) {
http_response_code(403);
exit('Invalid signature');
}
Desteklenen Uç Noktalar
FeedbackPulse aşağıdakiler için yükleri otomatik olarak algılar ve biçimlendirir:
| Hizmet | URL Deseni | Format |
|---|---|---|
| Slack | hooks.slack.com/* | Slack Block Kit formatı |
| Discord | discord.com/api/webhooks/* | Discord embed formatı |
| Özel | Herhangi bir HTTPS URL | Ham JSON yükü |
SSRF Koruması
Sunucu Tarafı İstek Sahteciliğini önlemek için webhook URL'leri doğrulanır:
localhost,127.0.0.1,0.0.0.0engellenir- Özel IP aralıkları (10.x, 172.16-31.x, 192.168.x) engellenir
- Yalnızca genel HTTPS URL'lerine izin verilir
Webhook Günlükleri
Teslim geçmişini görüntüleyin:
Kontrol Paneli Aracılığıyla
Ayarlar > Entegrasyonlar > Webhook Günlükleri
Ayrıca /webhooks/logs adresinde yanıt ayrıntıları ve filtreleme seçenekleriyle tam teslim geçmişi sağlayan özel bir Webhook Günlükleri sayfası mevcuttur. Olay türüne, durum koduna ve tarih aralığına göre filtreleyebilir, her teslim denemesi için tam istek yükünü ve yanıt gövdesini inceleyebilirsiniz.
Yönetici Webhook Günlüğü Görüntüleyicisi
Süper yöneticiler, /admin/webhook-logs adresindeki platform genelinde webhook günlüğü görüntüleyicisine erişebilir. Bu, tüm kiracılardaki webhook teslimlerine görünürlük sağlar; entegrasyon sorunlarını teşhis etmek ve platform sağlığını izlemek için kullanışlıdır.
API Aracılığıyla
GET /api/v2/webhooks/logs
Her günlük girişi şunları gösterir:
- Olay türü
- URL
- Yanıt kodu
- Gönderilen yük
- Yanıt gövdesi
- Zaman damgası