Tentatives et journal

Ce qui se passe quand ton serveur ne répond pas : les huit tentatives, la désactivation automatique, le journal des livraisons et le renvoi.

Une livraison est l’envoi d’un événement webhook à un webhook : une ou plusieurs tentatives, jusqu’au succès ou à l’abandon.

Succès et échec

Une tentative réussit quand ton serveur répond par un statut 2xx en moins de 10 secondes. Tout le reste est un échec :

  • pas de réponse en 10 secondes, ou une erreur réseau (DNS, connexion refusée, certificat TLS invalide) ;
  • un statut 4xx ou 5xx ;
  • une redirection 3xx : Kivoo ne la suit pas ;
  • une adresse qui mène à un réseau privé ou local : refusée sans être appelée.

Huit tentatives

Après un échec, Kivoo réessaie plus tard, de plus en plus espacé. L’en-tête Kivoo-Delivery-Attempt donne le numéro de la tentative.

TentativeDélai après la précédenteEnviron, depuis l’événement
1immédiate0
21 minute1 minute
35 minutes6 minutes
430 minutes36 minutes
52 heures2 h 36
64 heures6 h 36
78 heures14 h 36
88 heures22 h 36

Si la huitième échoue aussi, la livraison est échouée : Kivoo n’insiste plus pour cet événement. Il reste dans le journal, d’où tu peux le renvoyer.

Les événements ne sont pas garantis dans l’ordre : un order.paid retenté peut arriver après un événement plus récent. Fie-toi à createdAt, ou relis l’objet par l’API si l’ordre compte.

Désactivation automatique

Un webhook qui échoue depuis plus de trois jours est désactivé automatiquement à son prochain échec définitif. Le propriétaire de la boutique reçoit alors un e-mail et une notification dans le dashboard, et le webhook passe au statut Désactivé automatiquement.

Un webhook désactivé ne reçoit plus rien, et les événements de cette période ne lui seront pas envoyés plus tard. Une fois ton serveur réparé, clique sur Réactiver dans sa fiche : les événements suivants lui parviennent à nouveau.

Tu peux aussi désactiver un webhook toi-même, le temps d’une maintenance, et le réactiver ensuite.

Le journal des livraisons

La fiche d’un webhook montre ses cent dernières livraisons, conservées trente jours. Pour chacune : le statut (en cours, réussie, échouée), l’événement, la date, le code HTTP reçu, la durée, le nombre de tentatives et, en l’ouvrant, le corps envoyé et le début de l’erreur. Le corps de tes réponses n’est pas conservé.

Renvoyer une livraison

Le bouton Renvoyer d’une livraison crée une nouvelle livraison du même événement, envoyée aussitôt ; l’ancienne reste dans le journal telle qu’elle était. L’événement garde son id : ton traitement idempotent (voir Vérifier la signature) le reconnaîtra s’il l’a déjà traité. Un webhook désactivé ne peut pas recevoir de renvoi : réactive-le d’abord.

Sur cette page