Requêtes Webhook

Lorsqu’un événement se produit, Emailit envoie une requête HTTP POST vers l’URL de webhook que vous avez configurée. Cette page décrit le format des requêtes, les en-têtes et le comportement de livraison.

Format des requêtes

Toutes les requêtes webhook sont envoyées sous forme de requêtes POST avec un corps JSON :

  • Méthode : POST
  • Content-Type : application/json
  • Délai d’expiration : 30 secondes

En-têtes

Chaque requête webhook inclut les en-têtes suivants :

En-têteDescription
Content-Typeapplication/json
User-AgentEmailit-Webhooks/2.0
X-Emailit-SignatureSignature HMAC-SHA256 pour vérifier l’authenticité
X-Emailit-TimestampHorodatage Unix du moment où la requête a été signée

Corps de la requête

Le corps de la requête contient la charge utile de l’événement au format JSON :

{
  "event_id": "evt_2bH7kNwP5mQaV1sXgIdKe6pZr",
  "type": "email.delivered",
  "data": {
    "object": {
      "id": "em_4yM2nTvR8oPcX3uZiKeLg7sB",
      "object": "email",
      ...
    }
  }
}

Réponse attendue

Votre endpoint doit retourner un code de statut 2xx (par exemple 200, 201, 204) pour confirmer la réception. Tout autre code de statut est considéré comme un échec.

Politique de nouvelle tentative

Si votre endpoint ne répond pas avec un code de statut 2xx dans les 30 secondes, Emailit tentera de nouveau la livraison selon le planning suivant :

TentativeDélai
05 secondes
15 minutes
230 minutes
32 heures
45 heures
510 heures
624 heures

Après la tentative 6 (7 tentatives au total), le webhook est automatiquement désactivé. Vous pouvez le réactiver depuis le tableau de bord Emailit.

Ordre de livraison

Les événements webhook sont livrés en temps quasi-réel mais ne sont pas garantis d’arriver dans l’ordre. Utilisez l’event_id et les horodatages contenus dans la charge utile de l’événement pour gérer l’ordre dans votre application.

Adresses IP

Les requêtes webhook sont envoyées depuis l’infrastructure d’Emailit. Si vous devez autoriser des adresses IP spécifiques, contactez le support pour obtenir la liste actuelle des adresses IP sortantes.

Bonnes pratiques

  • Répondez rapidement — Traitez le webhook de manière asynchrone et retournez immédiatement un code 2xx. Effectuez les traitements lourds dans une tâche en arrière-plan.
  • Gérez les doublons — Utilisez l’event_id pour dédupliquer les événements. Le même événement peut être livré plusieurs fois lors des nouvelles tentatives.
  • Vérifiez les signatures — Validez toujours l’en-tête X-Emailit-Signature pour vous assurer que la requête provient bien d’Emailit. Voir Signature de requête.
Localisé par IA