Ana içeriğe geç

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

  1. Ayarlar > Entegrasyonlar bölümüne gidin
  2. Webhook URL'nizi girin
  3. Abone olacağınız olayları seçin
  4. İsteğe bağlı olarak HMAC imza doğrulaması için bir gizli anahtar belirleyin
  5. 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:

HizmetURL DeseniFormat
Slackhooks.slack.com/*Slack Block Kit formatı
Discorddiscord.com/api/webhooks/*Discord embed formatı
ÖzelHerhangi bir HTTPS URLHam 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.0 engellenir
  • Ö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ı

Sonraki Adımlar