AnchorExports d’annonces immobilières : initialisez puis réconciliez votre copie locale

Constituez dans votre base une sélection d’annonces Immoteur pour l’analyser, l’enrichir ou l’utiliser dans vos outils. Préparez d’abord la réception des webhooks et activez les notifications, puis demandez un export complet. Gardez les notifications actives pendant l’initialisation et utilisez ensuite les exports delta pour vérifier que votre copie reste cohérente.

AnchorInitialisez la sélection dont vous avez besoin

Configurez un service classified-export avec les filtres et les droits d’accès de votre compte. Un export complet livre les annonces Classified publiquement exportables situées en France qui correspondent alors à cette sélection, pas toute la base Immoteur ni un ensemble de biens immobiliers regroupés.

Avant de demander le premier export complet, rendez opérationnel l’endpoint qui reçoit les webhooks et activez classified-notification-single ou classified-notification-batch, avec onlyNew=false. Utilisez des filtres compatibles avec ceux de classified-export et gardez ce service actif pendant l’initialisation ainsi que les exports complets ou delta suivants.

Pour être exportable, une annonce doit avoir une localisation française complète (code INSEE, nom de ville, code postal et département), un type de bien, un prix et un type de transaction. Sa devise est l’euro ou n’est pas renseignée, le statut professionnel ou non de son diffuseur est connu, et elle est liée à un Property visible.

L’export peut aussi contenir des annonces retirées lorsqu’elles restent éligibles.

Une annonce Classified décrit une publication source. Son propertyId désigne un regroupement Property qui peut réunir une annonce de programme et des annonces de logements distincts. N’agrégez pas leurs prix, surfaces ou nombres de pièces pour reconstituer l’historique d’un seul logement.

AnchorReconnaissez ce que l’export a effectivement livré

Si la sélection est vide, l’export ne livre aucun lot de données. Sa terminaison est signalée par un message terminal contenant items: [] et isComplete: true, comme pour un export non vide, qui peut arriver en plusieurs messages. Ne déduisez pas la fin de l’export du nombre de messages, de leur ordre d’arrivée ou d’une période sans livraison.

Lisez exportType dans chaque message : il indique le type réellement livré, full ou delta. Cette valeur permet à votre intégration de traiter un export delta qui a dû être livré en export complet.

AnchorAssociez export initial, mises à jour et contrôle des écarts

Utilisez classified-notification-single ou classified-notification-batch, avec onlyNew=false, pour recevoir les mises à jour d’annonces. Gardez ce service distinct de classified-export : les notifications suivent les changements, tandis que les exports servent à initialiser puis à contrôler votre copie locale.

Pour un même besoin, configurez des filtres compatibles. Traitez séparément les notifications qui ne relèvent pas du périmètre exportable.

Rendering diagram...

Après l’accusé de réception, un worker de votre application peut appliquer les lots et réconcilier votre copie locale.

Planifiez un export delta tous les sept jours, même si les notifications fonctionnent. Une revisite qui ne change que meta.lastSeenAt ne déclenche pas de notification directe ; le delta sert donc aussi à réconcilier ces revisites et à reprendre après un incident.

Pour un delta, l’export antérieur doit être réussi, compatible avec les filtres actuels et créé depuis au plus huit jours. Ce délai sert à déterminer son éligibilité, sans décrire sa conservation ni sa suppression. Sans export éligible ou si les filtres ont changé, Immoteur peut livrer un export complet ; changer uniquement l’URL de destination ne rend pas l’export antérieur incompatible.

AnchorPréservez vos données locales lors des mises à jour

Enregistrez chaque annonce reçue comme donnée source, puis conservez vos notes, scores, rapprochements et autres enrichissements locaux dans des champs ou des tables séparés. Une nouvelle donnée source peut ainsi mettre à jour l’annonce sans écraser le travail de vos équipes.

Enregistrez chaque classified.id de façon idempotente, afin qu’une même livraison rejouée ne crée pas de doublon.

Pour choisir la version source à conserver, ignorez l’ordre d’arrivée, la position dans un lot, le X-Immoteur-Delivery-Id et le nombre de réessais. meta.lastModifiedAt aide à éviter qu’une livraison clairement plus ancienne remplace une donnée source plus récente. Ne fondez pas cette décision uniquement sur meta.lastModifiedAt ou meta.lastSeenAt : deux changements peuvent avoir la même date.

À dates égales, traitez notamment la modification de propertyId au lieu de la rejeter sur ce seul critère. Conservez vos enrichissements locaux et le dernier meta.lastSeenAt utile à votre intégration.

L’absence d’une annonce dans un export ultérieur n’est pas un ordre de suppression. Décidez du cycle de vie dans votre application à partir de l’annonce reçue et de vos propres règles.

AnchorConfigurez votre synchronisation

Le guide Synchroniser les annonces immobilières explique comment combiner l’export complet, les notifications et la réconciliation. Consultez aussi la référence de classified-export pour les champs exacts des messages d’export.

Créer un compte Immoteur