Reprises et désactivation
Quand Lidmeo réessaie une livraison, quand il s'arrête, et comment renvoyer à la main.
Une livraison, c'est un événement vers une adresse. Elle réussit quand votre serveur répond un code 2xx en moins de 15 secondes. Tout le reste (un autre code, une redirection, un délai dépassé, une connexion impossible) est un échec, et la livraison est reprise.
Le calendrier
8 tentatives au plus, chacune après l'échec de la précédente :
| Tentative | Quand |
|---|---|
| 1 | dès que l'événement est enregistré |
| 2 | 5 s après l'échec précédent |
| 3 | 5 min après l'échec précédent |
| 4 | 30 min après l'échec précédent |
| 5 | 2 h après l'échec précédent |
| 6 | 5 h après l'échec précédent |
| 7 | 10 h après l'échec précédent |
| 8 | 10 h après l'échec précédent |
Les reprises partent au passage suivant du livreur, qui tourne chaque minute : un délai court peut donc durer jusqu'à une minute.
Au moins une fois
Un événement peut vous arriver deux fois (une tentative interrompue, une réponse perdue en route). L'en-tête webhook-id est l'identifiant de l'événement, le même à chaque tentative : gardez ceux que vous avez traités et ignorez un doublon.
Désactivation
Après 5 jours sans une seule livraison réussie, l'adresse est désactivée (status: "disabled", disabled_reason: "failing"), ses livraisons en attente sont annulées et un e-mail vous prévient, une fois. Réactivez-la depuis Lidmeo (Intégrations, Webhooks) ou avec PATCH /v1/webhook_endpoints/{id} et { "status": "enabled" }. Les événements de la période restent lisibles 30 jours par GET /v1/events : rattrapez-les de là.
Renvoyer à la main
GET /v1/webhook_endpoints/{id}/deliveries liste les livraisons (statut, tentatives, code et extrait de la réponse). POST /v1/webhook_endpoints/{id}/deliveries/{delivery_id}/retry en fait une tentative tout de suite ; une livraison encore en attente garde ensuite son calendrier. Dans Lidmeo, le bouton « Renvoyer » fait la même chose.
Changer de secret
POST /v1/webhook_endpoints/{id}/rotate_secret crée un nouveau secret, montré une seule fois. L'ancien signe encore 24 heures par défaut (expire_previous_in, de 0 à 7 jours) : pendant ce temps, chaque envoi porte deux signatures, et votre serveur accepte l'une ou l'autre le temps de passer au nouveau.
Conservation
Les événements et leurs livraisons sont gardés 30 jours, puis effacés. Un compte a au plus 16 adresses de réception.