Module v1.1.0
Configurer Comptes — Doublons
Le même client en deux comptes ? Le module les rapproche, dit pourquoi, et vous fusionnez d'un clic. Jamais lui.
Ce qu'il fait
Retrouve les clients qui ont deux comptes sans le savoir : même e-mail à un alias près (jean+promo@… et jean@…), même téléphone, ou même nom au même code postal. L'écran montre chaque rapprochement AVEC sa raison, et c'est vous qui décidez : la fusion transfère tout l'historique — commandes, adresses, abonnements, licences — vers le compte que vous gardez, puis supprime l'autre. Rien n'est jamais fusionné automatiquement : deux personnes d'un même foyer ne sont pas un doublon, et le module le sait.
- Rapprochement par e-mail (alias et points absorbés), téléphone, nom + code postal
- Chaque groupe affiche SA raison : vous jugez en connaissance
- La fusion transfère TOUT : commandes, adresses, abonnements, licences
- Jamais de fusion automatique : deux frères à la même adresse ne sont pas un doublon
- Chaque fusion est journalisée (qui, quoi, quand)
Ses droits
Ce que chaque rôle peut faire par défaut. Modifiable rôle par rôle depuis l'administration.
| Droit | Clé | Administrateur | Éditeur |
|---|---|---|---|
| Rapprocher et fusionner les comptes en double | clients_doublons.manage |
✓ | — |
Ce qu'il suppose
Ce module a besoin de :
- comptes ^1.0
Piloter par une IA
Ce que ce module sait faire quand on le lui demande en langage naturel, et ce que chaque action engage.
-
doublonslecture seuleLes groupes de comptes clients qui se ressemblent, avec la raison de chaque rapprochement (même e-mail à un alias ou des points près, même téléphone, ou même nom au même code postal, à vérifier) et, pour chaque compte, nom, e-mail, téléphone, commandes, dernière connexion. Lecture seule : fusionner supprime un compte et ne se défait pas, cela se décide à l'écran. 50 groupes au plus par appel, `suite` donne l'offset suivant.
« ai-je des clients en double ? »
Ses points de branchement
Pour greffer du code sans toucher au module : ce qu'il annonce, et ce qu'il écoute.
Ce qu'il annonce 2
shop.customer.merged- Fusion effectuée — args : (int $keepId, int $dupId)
shop.customers.merge.labels- Filter — les noms lisibles des tables déplacées par une fusion. Args: [array<string, array{un: string, des: string}> $libelles] ; un satellite ajoute sa table.
Ce qu'il écoute 1
comptes.liste.outils- priorité 10