Zum Hauptinhalt springen

Webhooks

Webhooks ermöglichen den Empfang von Echtzeit-HTTP-Benachrichtigungen, wenn Ereignisse in Ihrem FeedbackPulse-Mandanten auftreten.


Einrichtung

Über das Dashboard

  1. Navigieren Sie zu Einstellungen > Integrationen
  2. Geben Sie Ihre Webhook-URL ein
  3. Wählen Sie die Ereignisse aus, die Sie abonnieren möchten
  4. Legen Sie optional ein Geheimnis für die HMAC-Signaturverifizierung fest
  5. Speichern

Über die API

PUT /api/v2/webhooks/config
{
"url": "https://your-app.com/webhooks/feedbackpulse",
"events": ["submission.created", "submission.status_changed"],
"secret": "your_shared_secret"
}

Webhook-Payload

Wenn ein Ereignis eintritt, sendet FeedbackPulse eine POST-Anfrage an Ihre URL:

{
"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"
}
}
Content-Type: application/json
X-FeedbackPulse-Signature: sha256=abc123...
X-FeedbackPulse-Event: submission.created

Signaturverifizierung

Wenn Sie ein Webhook-Geheimnis festgelegt haben, verifizieren Sie die Signatur:

$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');
}

Unterstützte Endpunkte

FeedbackPulse erkennt automatisch und formatiert Payloads für:

DienstURL-MusterFormat
Slackhooks.slack.com/*Slack Block Kit Format
Discorddiscord.com/api/webhooks/*Discord Embed Format
BenutzerdefiniertBeliebige HTTPS-URLRoher JSON-Payload

SSRF-Schutz

Webhook-URLs werden validiert, um Server-Side Request Forgery zu verhindern:

  • localhost, 127.0.0.1, 0.0.0.0 sind blockiert
  • Private IP-Bereiche (10.x, 172.16-31.x, 192.168.x) sind blockiert
  • Nur öffentliche HTTPS-URLs sind erlaubt

Webhook-Protokolle

Lieferverlauf anzeigen:

Über das Dashboard

Einstellungen > Integrationen > Webhook-Protokolle

Eine dedizierte Webhook-Protokolle-Seite ist auch unter /webhooks/logs verfügbar und bietet einen vollständigen Lieferverlauf mit Antwortdetails und Filteroptionen. Sie können nach Ereignistyp, Statuscode und Datumsbereich filtern und den vollständigen Anfrage-Payload und Antwort-Body für jeden Lieferversuch einsehen.

Admin-Webhook-Protokoll-Viewer

Superadmins haben Zugriff auf einen plattformweiten Webhook-Protokoll-Viewer unter /admin/webhook-logs. Dieser bietet Einblick in Webhook-Lieferungen über alle Mandanten hinweg und ist nützlich für die Diagnose von Integrationsproblemen und die Überwachung der Plattformgesundheit.

Über die API

GET /api/v2/webhooks/logs

Jeder Protokolleintrag zeigt:

  • Ereignistyp
  • URL
  • Antwortcode
  • Gesendeter Payload
  • Antwort-Body
  • Zeitstempel

Nächste Schritte