Quand quelqu'un se rétracte d'un achat, returnEasier lui envoie l'accusé de réception en quelques secondes : identifiant unique, récapitulatif de la commande, délais et le PDF avec son horodatage et son hash. À partir d'aujourd'hui, si cet envoi échoue, le système le récupère tout seul au lieu d'attendre que quelqu'un s'en aperçoive.
Ton client ne voit plus d'erreur au moment de confirmer
Jusqu'ici, si la file d'envoi était en panne au moment exact de la confirmation, l'étape 2 du portail se terminait sur une page d'erreur —alors que la demande était déjà enregistrée—. C'était le pire moment possible pour une erreur : la page de confirmation est le justificatif immédiat du client, celle qui lui donne son identifiant.
Désormais cette page s'affiche toujours. C'est la lecture cohérente avec la loi : la rétractation prend effet dès que le consommateur communique sa décision, pas quand l'e-mail arrive. Et cela supprime l'autre effet de bord : le client qui recommençait et créait une demande en double.
Une vérification automatique toutes les 15 minutes
Quatre fois par heure, une vérification automatique cherche les demandes de rétractation sans accusé envoyé pour les remettre en file. Elle laisse 5 minutes de marge —pour ne pas écraser un envoi déjà en route— et couvre les 30 derniers jours, de quoi traverser n'importe quel incident réaliste d'un fournisseur. Chaque vérification relance un lot limité d'accusés en attente : lors d'un incident long, s'il y en a beaucoup à la fois, certains peuvent attendre plus d'un tour.
Pas d'e-mails en double : avant d'envoyer, on vérifie si l'accusé est déjà parti, et chaque demande n'est traitée qu'une seule fois, même si l'envoi initial et la reprise se chevauchent. La seule brèche est celle ci-dessus —fournisseur qui accepte, note jamais enregistrée— et elle est assumée exprès : dans le doute, mieux vaut un doublon qu'un client sans son accusé.
Et s'il n'arrive même pas en file d'attente, tu le vois dans l'historique
La panne silencieuse était le vrai problème : sans accusé, aucune trace ne restait, et la notification au commerce voyage dans ce même envoi. Maintenant la demande inscrit l'événement « Accusé non envoyé (renvoyez-le depuis cet écran) » dans son historique, dans le détail de la demande de ton admin Shopify, avec le bouton « Renvoyer la confirmation » juste à côté. Cet événement couvre l'échec de la MISE EN FILE de l'envoi. Si le travail est bien mis en file et échoue ensuite —à la génération du PDF ou à la remise au fournisseur—, tu ne verras pas cet avis dans l'historique : c'est la nouvelle tentative automatique sur 30 jours qui s'en charge, et le bouton « Renvoyer la confirmation » reste disponible.
Comme tout événement returnEasier, il entre dans le journal d'audit et apparaît dans ton export auditable : il reste écrit que cet accusé a eu besoin d'un renvoi, et quand. Le journal d'audit est append-only —on ne fait qu'y ajouter des entrées— et chaîné par hash : tu peux comparer ces hash avec ceux de tes exports précédents ; le PDF de l'accusé porte en plus le hash de sa demande.
L'écran légal n'ouvre que des demandes légales
Un détail de précision : l'identifiant d'un retour commercial —un retour volontaire selon ta propre politique— ne peut plus ouvrir la page de confirmation du flux légal. Avant, il l'ouvrait et la recadrait avec le texte réglementaire de la rétractation, qui ne s'applique pas à ce cas. Chaque flux affiche maintenant son propre écran.
Le registre auditable, renforcé dans la base de données
Dans la même série, nous avons renforcé les chaînes de hash de ton historique, et il vaut la peine de dire jusqu'où va chacune. Celle des événements —celle que ton export auditable recalcule— est protégée par la base de données elle-même : elle n'admet ni deux maillons accrochés au même parent, ni un second départ, et si pareille chose apparaissait, la lecture s'arrête au lieu de continuer comme si de rien n'était. Celle des demandes a la moitié de ce filet : la base de données empêche deux lignes de partager le même maillon précédent, et toute autre anomalie est consignée puis dépassée, à dessein — la bloquer laisserait ta boutique incapable d'enregistrer une seule rétractation de plus, ce qui serait pire que le problème.
Ce que tu dois faire
Rien. C'est déjà actif sur tous les plans et dans les 7 langues. Si tu veux revoir quels e-mails returnEasier envoie et quand, on te l'explique dans le centre d'aide ; et si tu préfères voir où vit l'historique d'une demande, lis comment gérer une demande.