Journal et rejeu
Chaque envoi vers votre serveur est une livraison : Cartflox garde ce qui a été envoyé, quand, la réponse reçue, et réessaie tant que votre serveur n’a pas répondu 2xx.
Rejeu automatique
Section intitulée « Rejeu automatique »Votre serveur a 10 secondes pour répondre. Sans réponse 2xx, la livraison est rejouée selon ce calendrier, soit 10 tentatives sur environ 72 heures :
| Tentative | Délai après la précédente |
|---|---|
| 1 | immédiat |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 15 minutes |
| 5 | 1 heure |
| 6 | 3 heures |
| 7 | 6 heures |
| 8 | 12 heures |
| 9 | 24 heures |
| 10 | 24 heures |
Après la dernière tentative, la livraison est marquée failed et une notification apparaît dans votre tableau de bord. L’adresse et la clé de signature sont relues à chaque tentative : corrigez votre adresse dans API et Logs, la prochaine tentative la prend.
Chaque requête porte deux en-têtes utiles au dédoublonnage : X-Afriflow-Event (le nom de l’événement) et X-Afriflow-Delivery (l’identifiant de la livraison, identique d’une tentative à l’autre). Un traitement idempotent sur X-Afriflow-Delivery, ou sur data.id et data.status, vous protège des doublons.
Renvoyer à la main
Section intitulée « Renvoyer à la main »Depuis API et Logs, le bloc « Livraisons des webhooks » liste les 50 derniers envois avec la réponse reçue. « Renvoyer » repart tout de suite, avec une signature neuve, vers votre adresse actuelle, quel que soit l’état de la livraison.
Par l’API
Section intitulée « Par l’API »/v1/webhooks/deliveriesLister les livraisons (50 par défaut, 200 au plus)/v1/webhooks/deliveries/{id}Lire une livraison/v1/webhooks/deliveries/{id}/resendRenvoyer une livraisonFiltres de la liste : transaction_id, status (pending, delivered, failed), event, limit. Une clé de test ne voit que les livraisons de test.
curl "https://cartflox.com/api/v1/webhooks/deliveries?transaction_id=cmf3k2p1x0001abcd9e8f7g6h" \ -H "Authorization: Bearer af_live_sec_VOTRE_CLE"{ "object": "list", "data": [ { "id": "cmu8d4e5f0003abc", "object": "webhook.delivery", "event": "payment.completed", "url": "https://maboutique.com/webhooks/cartflox", "status": "delivered", "attempts": 2, "max_attempts": 10, "next_attempt_at": null, "last_status_code": 200, "last_error": null, "response_ms": 412, "transaction_id": "cmf3k2p1x0001abcd9e8f7g6h", "transfer_id": null, "livemode": true, "created_at": "2026-09-19T08:00:00.000Z", "delivered_at": "2026-09-19T08:01:03.000Z" } ], "count": 1}curl -X POST https://cartflox.com/api/v1/webhooks/deliveries/cmu8d4e5f0003abc/resend \ -H "Authorization: Bearer af_live_sec_VOTRE_CLE"La réponse est la livraison mise à jour. Limite : 30 renvois par minute et par espace.
| Champ | Description |
|---|---|
status |
pending (nouvelle tentative prévue), delivered (réponse 2xx reçue), failed (abandonnée après la dernière tentative) |
attempts / max_attempts |
Tentatives faites, et plafond |
next_attempt_at |
Prochaine tentative automatique, null sinon |
last_status_code / last_error |
La dernière réponse de votre serveur, ou l’erreur rencontrée (délai dépassé, réseau) |
livemode |
false pour un événement de test |