Aller au contenu principal

Webhooks

Les webhooks vous permettent de recevoir des notifications HTTP en temps réel lorsque des événements se produisent dans votre locataire FeedbackPulse.


Configuration​

Via le tableau de bord​

  1. Allez à Paramètres > Intégrations
  2. Saisissez votre URL webhook
  3. Sélectionnez les événements auxquels vous souhaitez vous abonner
  4. Définissez optionnellement un secret pour la vérification de signature HMAC
  5. Enregistrez

Via l'API​

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

Charge utile webhook​

Lorsqu'un événement se produit, FeedbackPulse envoie une requête POST à votre 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"
}
}

En-têtes​

Content-Type: application/json
X-FeedbackPulse-Signature: sha256=abc123...
X-FeedbackPulse-Event: submission.created

Vérification de signature​

Si vous définissez un secret webhook, vérifiez la signature :

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

Points de terminaison supportés​

FeedbackPulse détecte automatiquement et formate les charges utiles pour :

ServiceModèle d'URLFormat
Slackhooks.slack.com/*Format Slack Block Kit
Discorddiscord.com/api/webhooks/*Format Discord embed
PersonnaliséToute URL HTTPSCharge utile JSON brute

Protection SSRF​

Les URLs webhook sont validées pour prévenir la falsification de requêtes côté serveur :

  • localhost, 127.0.0.1, 0.0.0.0 sont bloqués
  • Les plages IP privées (10.x, 172.16-31.x, 192.168.x) sont bloquées
  • Seules les URLs HTTPS publiques sont autorisées

Journaux webhook​

Voir l'historique de livraison :

Via le tableau de bord​

Paramètres > Intégrations > Journaux webhook

Une page dédiée Journaux webhook est également disponible à /webhooks/logs, fournissant un historique complet de livraison avec les détails de réponse et des options de filtrage. Vous pouvez filtrer par type d'événement, code de statut et plage de dates, et inspecter la charge utile complète de la requête et le corps de la réponse pour chaque tentative de livraison.

Visionneur de journaux webhook admin​

Les superadmins ont accès à un visionneur de journaux webhook à l'échelle de la plateforme à /admin/webhook-logs. Cela offre une visibilité sur les livraisons webhook pour tous les locataires, utile pour diagnostiquer les problèmes d'intégration et surveiller la santé de la plateforme.

Via l'API​

GET /api/v2/webhooks/logs

Chaque entrée de journal affiche :

  • Type d'événement
  • URL
  • Code de réponse
  • Charge utile envoyée
  • Corps de la réponse
  • Horodatage

Étapes suivantes​