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ête | Description |
|---|---|
Content-Type | application/json |
User-Agent | Emailit-Webhooks/2.0 |
X-Emailit-Signature | Signature HMAC-SHA256 pour vérifier l’authenticité |
X-Emailit-Timestamp | Horodatage 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 :
| Tentative | Délai |
|---|---|
| 0 | 5 secondes |
| 1 | 5 minutes |
| 2 | 30 minutes |
| 3 | 2 heures |
| 4 | 5 heures |
| 5 | 10 heures |
| 6 | 24 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_idpour 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-Signaturepour vous assurer que la requête provient bien d’Emailit. Voir Signature de requête.