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​