Webhooks
Webhooks ermöglichen den Empfang von Echtzeit-HTTP-Benachrichtigungen, wenn Ereignisse in Ihrem FeedbackPulse-Mandanten auftreten.
Einrichtung
Über das Dashboard
- Navigieren Sie zu Einstellungen > Integrationen
- Geben Sie Ihre Webhook-URL ein
- Wählen Sie die Ereignisse aus, die Sie abonnieren möchten
- Legen Sie optional ein Geheimnis für die HMAC-Signaturverifizierung fest
- 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"
}
}
Header
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:
| Dienst | URL-Muster | Format |
|---|---|---|
| Slack | hooks.slack.com/* | Slack Block Kit Format |
| Discord | discord.com/api/webhooks/* | Discord Embed Format |
| Benutzerdefiniert | Beliebige HTTPS-URL | Roher JSON-Payload |
SSRF-Schutz
Webhook-URLs werden validiert, um Server-Side Request Forgery zu verhindern:
localhost,127.0.0.1,0.0.0.0sind 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