Aller au contenu principal

Trigger Webhook

Le trigger Webhook reçoit des webhooks HTTP et déclenche un workflow à chaque réception.

Vue d'ensemble

Ce type de trigger est idéal pour :

  • Recevoir des notifications d'applications externes
  • Intégrer avec des services tiers (GitHub, Stripe, etc.)
  • Créer des intégrations en temps réel
  • Recevoir des événements depuis d'autres systèmes

Configuration

Options de base

Lors de la création d'un trigger Webhook, vous devez configurer :

URL du webhook

Une URL unique est générée automatiquement pour votre webhook :

  • Format : https://your-domain.com/webhooks/{trigger-slug}
  • Cette URL doit être configurée dans le service externe qui envoie les webhooks

Méthode HTTP

Sélectionnez la méthode HTTP acceptée :

  • POST : Recommandé pour la plupart des cas
  • GET : Pour les webhooks simples
  • PUT : Pour les mises à jour

Authentification

Configurez l'authentification pour sécuriser votre webhook :

Secret
  • Un secret partagé entre Ecosystem et le service externe
  • Le service externe doit inclure ce secret dans les headers ou le body
  • Ecosystem valide le secret avant de déclencher le workflow
Signature
  • Validation de la signature HMAC
  • Le service externe signe la requête avec une clé secrète
  • Ecosystem vérifie la signature

Headers personnalisés

Vous pouvez configurer des headers personnalisés à accepter :

  • Certains services envoient des headers spécifiques
  • Vous pouvez les valider dans la configuration

Données reçues

Lorsqu'un webhook est reçu, le workflow reçoit les données suivantes :

{
"method": "POST",
"headers": {
"content-type": "application/json",
"x-signature": "...",
"x-event-type": "order.created"
},
"body": {
"event": "order.created",
"data": {
"orderId": "12345",
"amount": 99.99
}
},
"query": {},
"timestamp": "2024-01-15T10:30:00Z"
}

Exemple d'utilisation

Scénario : Intégration avec un service de paiement

  1. Créer le trigger :

    • Type : Webhook
    • Méthode : POST
    • Authentification : Secret partagé
  2. Configurer le service externe :

    • Ajoutez l'URL du webhook dans les paramètres du service
    • Configurez le secret partagé
    • Sélectionnez les événements à recevoir
  3. Créer le workflow associé :

    • Reçoit les données du webhook
    • Traite l'événement (ex: commande créée)
    • Effectue les actions nécessaires
  4. Déployer :

    • Déployez le trigger dans l'environnement de production
    • Le webhook est maintenant actif et recevra les événements

Bonnes pratiques

  • Sécurité : Utilisez toujours une authentification (secret ou signature)
  • Validation : Validez les données reçues dans le workflow
  • Idempotence : Gérez les webhooks dupliqués (certains services peuvent renvoyer le même événement)
  • Logging : Loggez toutes les requêtes reçues pour le débogage
  • Documentation : Documentez le format des données attendues
  • Test : Testez votre webhook avec des outils comme ngrok avant la production

Test d'un webhook

Pour tester votre webhook localement ou en développement :

  1. Utilisez un outil comme ngrok pour exposer votre instance locale
  2. Configurez l'URL ngrok dans le service externe
  3. Testez l'envoi de webhooks
  4. Vérifiez les traces dans Ecosystem

Prochaines étapes