Description du projet
TraduitNous avons besoin d'une couche de synchronisation bidirectionnelle entre le CRM et les autres systèmes, construite via leurs API plutôt que par un accès direct à la base de données. Lorsqu'une carte client est modifiée dans le CRM, les mêmes champs doivent se mettre à jour automatiquement ailleurs, et l'inverse doit également fonctionner — un changement effectué de l'autre côté doit revenir dans le CRM de lui-même. Quels champs se synchronisent, et dans quelle direction, doit être configurable.
La partie la plus délicate est les conflits : la même carte modifiée dans deux systèmes dans une courte fenêtre avant que la synchronisation ne s'exécute. Chaque cas de ce type doit figurer dans un journal des conflits avec les deux versions des données et un horodatage, afin que notre équipe puisse l'examiner et choisir un gagnant, plutôt que de synchroniser silencieusement en écrasant un côté.
Ce qui compte pour nous :
— synchronisation stable et reprenable qui survit à une connexion interrompue
— mappage clair des champs entre le CRM et chaque système
— un journal des conflits facile à lire et à traiter
— documentation courte afin que notre propre équipe puisse l'entretenir plus tard