emailr_
Tous les articles
explainer·9 min

Que sont les webhooks email et comment les utiliser

trackingwebhooksevents

Résumé

Les webhooks email notifient votre application en temps réel lorsqu'un événement email survient—deliveries, opens, clicks, bounces, complaints. Ils sont essentiels pour construire des systèmes email réactifs qui réagissent au comportement des destinataires.

Vous envoyez un email. Et ensuite ? Autrefois, on attendait en espérant. Peut-être consulter votre tableau de bord analytics demain. Peut-être sans jamais savoir si l'email a été délivré, ouvert, ou s'il a fait un bounce dans le vide.

Les webhooks ont changé cela. Désormais, au moment où il arrive quelque chose à votre email—il est délivré, il fait un bounce, quelqu'un l'ouvre, quelqu'un clique sur un lien, quelqu'un le marque comme spam—votre application peut le savoir immédiatement et réagir en conséquence.

Cette boucle de feedback en temps réel transforme l'email d'un canal « envoyer et oublier » en un système interactif et réactif. Mais les webhooks introduisent aussi de la complexité : il faut les gérer de façon fiable, les traiter efficacement, et construire des systèmes qui réagissent correctement à chaque type d'événement.

Comment fonctionnent les webhooks email

Le concept est simple : lorsqu'un événement se produit, votre service d'email envoie une requête HTTP vers une URL que vous spécifiez, contenant les données de l'événement. Votre serveur reçoit cette requête, traite les données et répond.

Les détails d'implémentation varient selon le fournisseur, mais le schéma est constant. Vous configurez un endpoint de webhook dans le dashboard ou via l'API de votre service d'email. Vous spécifiez quels événements vous voulez recevoir. Quand ces événements se produisent, le service envoie des requêtes POST vers votre endpoint avec des payloads JSON décrivant ce qui s'est passé.

Un payload de webhook typique inclut : le type d'événement (delivered, opened, clicked, bounced, etc.), un timestamp, l'ID du message, l'adresse du destinataire, et des données spécifiques à l'événement (par exemple quel lien a été cliqué, ou quelle erreur de bounce est survenue).

Votre endpoint doit répondre rapidement—généralement en quelques secondes—avec un code de statut 2xx pour accuser réception. Si vous ne répondez pas à temps, ou si vous répondez avec une erreur, la plupart des fournisseurs vont retenter le webhook. Après des échecs répétés, ils peuvent désactiver votre endpoint.

Événements webhook courants

Différents services d'email proposent différents types d'événements, mais la plupart incluent ces événements clés :

Les événements de delivery vous indiquent que l'email a atteint le serveur de messagerie du destinataire. Cela ne signifie pas qu'il a atteint la inbox—il peut être dans le spam—mais il n'a pas été rejeté. La confirmation de delivery est votre métrique de succès de base.

Les événements de bounce indiquent un échec de delivery. Les hard bounces signifient que l'adresse est définitivement invalide. Les soft bounces sont des échecs temporaires. Le webhook inclut généralement la raison du bounce, ce qui vous aide à diagnostiquer et à réagir correctement.

Les événements d'open se déclenchent quand un destinataire ouvre votre email (techniquement, quand il charge le pixel de tracking). Les opens ne sont pas parfaits—le blocage des images empêche le tracking, et les volets d’aperçu peuvent générer de faux opens—mais ils restent utiles pour mesurer l’engagement.

Les événements de click vous indiquent quand quelqu'un clique sur un lien dans votre email. Vous recevez généralement l’URL spécifique cliquée, ce qui vous permet de suivre quels contenus résonnent et quelles incitations à l’action convertissent.

Les événements de complaint sont critiques. Quand un destinataire marque votre email comme spam, vous devez le savoir immédiatement. Des taux de complaint élevés nuisent à votre réputation, donc vous voulez supprimer ces destinataires des envois futurs.

Les événements d’unsubscribe vous informent quand quelqu’un se désinscrit. Même si votre service d’email gère les listes, vous pouvez vouloir synchroniser cette donnée vers votre CRM ou déclencher d’autres workflows.

Construire des handlers de webhook fiables

La fiabilité des webhooks est cruciale. Si vous manquez des événements, vos données deviennent incohérentes. Si votre handler est lent, vous aurez des timeouts et des retries. Si vous ne gérez pas les doublons, vous traiterez des événements plusieurs fois.

La première règle est de répondre rapidement. N’effectuez pas de traitement lourd dans le handler de webhook lui-même. Acceptez le webhook, stockez le payload brut dans une queue, et retournez une réponse 200. Traitez le payload de façon asynchrone depuis la queue. Cela maintient un temps de réponse rapide et vous permet de gérer les échecs de traitement sans perdre d’événements.

Attendez-vous à des doublons et gérez-les. Les webhooks peuvent être livrés plusieurs fois—problèmes réseau, retries, bugs côté fournisseur. Votre handler doit être idempotent : traiter le même événement deux fois doit avoir le même résultat que le traiter une fois. Utilisez l’ID d’événement ou l’ID du message pour détecter les doublons.

Vérifiez l’authenticité des webhooks. La plupart des fournisseurs signent leurs webhooks avec une clé secrète, ce qui vous permet de vérifier que la requête provient bien d’eux. Validez toujours les signatures en production—sans cela, n’importe qui pourrait envoyer de faux événements à votre endpoint.

Gérez les échecs avec élégance. Si votre base de données est indisponible, vous ne pouvez pas traiter le webhook. Retournez une erreur 5xx pour que le fournisseur retente plus tard. Logguez les échecs pour enquête. Configurez des alertes pour des échecs de traitement de webhook prolongés.

Que faire des données de webhook

Collecter des webhooks ne sert à rien si vous n’agissez pas. Voici comment transformer les données de webhook en valeur :

Mettez à jour vos enregistrements en temps réel. Quand un email fait un bounce, marquez cette adresse comme invalide immédiatement dans votre base. Quand quelqu’un se désinscrit, mettez à jour ses préférences. Quand une complaint arrive, supprimez ce destinataire des envois. Les mises à jour en temps réel vous empêchent de renvoyer à des mauvaises adresses.

Déclenchez des workflows basés sur l’engagement. Quelqu’un a cliqué un lien vers votre page de pricing ? Peut-être déclencher une notification commerciale. Quelqu’un a ouvert votre email d’onboarding ? Passez-le à l’étape suivante de votre séquence. Les webhooks permettent une communication réactive, pilotée par le comportement.

Construisez des scores d’engagement. Suivez les opens et les clicks dans le temps pour identifier vos abonnés les plus engagés. Envoyez votre meilleur contenu aux utilisateurs engagés ; réengagez ou mettez en sommeil les inactifs. Les données de webhook sont la base d’une segmentation sophistiquée.

Surveillez la deliverability en temps réel. Un pic soudain de bounces peut indiquer un problème de liste ou un souci chez le fournisseur. Des taux de complaint en hausse sont un signal précoce de dégradation de réputation. Les données de webhook vous permettent de détecter les problèmes avant qu’ils ne deviennent des crises.

Alimentez l’analytics et le reporting. Agrégez les données de webhook pour comprendre la performance des campagnes, suivre les tendances dans le temps, et identifier ce qui fonctionne. Des données en temps réel, c’est des insights en temps réel.

Pièges des webhooks

Quelques écueils courants piégent les développeurs qui découvrent les webhooks email :

Le tracking des ouvertures n’est pas fiable. Beaucoup de clients email bloquent les pixels de tracking par défaut. Apple’s Mail Privacy Protection pré-télécharge les pixels, générant de faux opens. Utilisez les données d’ouverture comme signal directionnel, pas comme vérité absolue.

Les événements peuvent arriver dans le désordre. Un événement de click peut arriver avant l’événement d’open correspondant, voire avant l’événement de delivery. N’assumez pas l’ordre chronologique ; utilisez les timestamps et traitez les événements indépendamment.

Le volume de webhooks peut être massif. Si vous envoyez des millions d’emails, vous recevrez des millions d’événements de webhook. Planifiez votre infrastructure en conséquence. Envisagez l’échantillonnage ou l’agrégation si vous n’avez pas besoin de chaque événement individuel.

Les particularités propres aux fournisseurs abondent. Chaque service d’email a son propre format de webhook, ses types d’événements, sa logique de retry, et sa méthode d’authentification. Si vous changez de fournisseur, vous devrez mettre à jour votre code de gestion des webhooks.

Testez minutieusement avant de passer en production. La plupart des fournisseurs proposent des outils de test de webhook ou des environnements sandbox. Utilisez-les. Un bug dans votre handler de webhook peut causer une perte de données ou une instabilité du système.

Frequently asked questions

À quelle vitesse les webhooks arrivent-ils après un événement ?

Généralement en quelques secondes à quelques minutes. Les événements de delivery et de bounce sont en général les plus rapides. Les open et click dépendent du comportement du destinataire. Certains fournisseurs batchent les webhooks pour l’efficacité, ajoutant de légers délais.

Que se passe-t-il si mon endpoint de webhook est indisponible ?

La plupart des fournisseurs réessaient les webhooks échoués avec un exponential backoff—immédiatement, puis après des minutes, puis des heures. Après suffisamment d’échecs (cela varie selon le fournisseur), ils peuvent désactiver votre endpoint. Surveillez la disponibilité de votre endpoint.

Puis-je rejouer des webhooks manqués ?

Certains fournisseurs offrent des logs de webhook ou une fonctionnalité de replay. D’autres non. Vérifiez les capacités de votre fournisseur. Pour les données critiques, envisagez également de poll l’API périodiquement en sauvegarde.

Dois-je stocker les payloads de webhook bruts ?

Oui, au moins temporairement. Les payloads bruts permettent de débugger des problèmes, de retraiter des événements si votre handler avait des bugs, et d’analyser des données que vous n’aviez pas initialement extraites. Le stockage est bon marché ; les données manquantes coûtent cher.

e_

Écrit par l'équipe emailr

Nous construisons l'infrastructure email pour les développeurs

Prêt à commencer à envoyer ?

Obtenez votre clé API et envoyez votre premier email en moins de 5 minutes. Aucune carte de crédit requise.