Vue d'ensemble du pipeline
Un cycle de synchronisation moderne se décompose en cinq étapes successives : collecte depuis le CRM, normalisation au modèle unifié, déduplication et résolution de conflits, traitement des médias, et diffusion vers les destinations.
Étape 1 — Collecte
Selon le CRM, la collecte se fait par téléchargement d'un fichier XML, par appel d'une API REST avec un curseur "updated_since", ou par réception d'un webhook événementiel. Sweepbright et Whise sont en mode webhook ; les autres CRM en mode pull.
Étape 2 — Normalisation
Chaque CRM exprime ses données différemment : "T3" chez l'un, "3 pièces" chez l'autre, "appartement 3p" chez un troisième. La normalisation projette ces variantes sur le modèle unifié Ts-Immo, avec un dictionnaire de mapping par CRM.
{
"Apimo": { "AP": "appartement", "MA": "maison", "TE": "terrain" },
"Hektor": { "1": "appartement", "2": "maison", "5": "terrain" },
"Sweepbright": { "apartment": "appartement", "house": "maison", "land": "terrain" }
}Étape 3 — Déduplication
Un même bien peut remonter de deux sources (par exemple le CRM principal et un export portail). La passerelle utilise une combinaison de référence + adresse + surface pour décider si deux fiches sont la même.
Étape 4 — Médias
Les photos sont hashées, comparées au cache, téléchargées en HD, puis déclinées en AVIF / WebP / JPEG via le CDN. Ts-Immo ne re-télécharge jamais une photo dont le hash est inchangé, ce qui réduit drastiquement la bande passante.
Étape 5 — Diffusion
Les biens normalisés sont exposés via l'API REST, le plugin WordPress, les exports XML portails, et les webhooks sortants. Chaque destination consomme à son rythme.
Réconciliation
Même en mode événementiel, une réconciliation complète quotidienne reste indispensable. C'est elle qui rattrape les webhooks perdus et garantit la cohérence sur le long terme.