Intégration et qualité des données
Pagination et synchronisation : importer un catalogue sans perdre des fiches
La première page d’une API n’est pas le catalogue. Construisez une importation qui reprend après interruption, distingue les suppressions des absences temporaires et conserve la provenance de chaque champ.
Lire le contrat de pagination avant de compter
Mews décrit une pagination par curseur. Demand utilise différents modes suivant les endpoints, notamment des jetons et des mises à jour incrémentales. Ces contrats impliquent des stratégies de reprise différentes. Une liste de vingt résultats ne peut pas être présentée comme exhaustive sans atteindre le signal de fin documenté.
Relevez ordre, taille maximale, curseur suivant, expiration et règles de modification pendant la lecture. Ne déduisez pas la fin d’un catalogue du seul fait qu’une page est moins remplie, sauf si la documentation le garantit.
Enregistrer un point de reprise après validation
Stockez l’identité de l’import, la page ou le curseur traité et la date de dernière validation. Avancez le point de reprise seulement après écriture cohérente des données. Une interruption entre téléchargement et écriture doit permettre de rejouer la page sans créer de doublons.
Associez chaque entrée à l’identifiant du fournisseur et au système d’origine. Un changement de nom ne doit pas créer un nouvel établissement si l’identité est conservée ; deux sources partageant un nom ne doivent pas être fusionnées automatiquement.
Traiter les modifications et suppressions explicitement
Une importation incrémentale doit préciser le champ qui représente une modification, son fuseau et sa précision. Utilisez une fenêtre de recouvrement adaptée au contrat pour rattraper les enregistrements à la frontière, puis dédupliquez. Conservez les versions utiles plutôt que d’écraser la preuve de provenance.
Une absence dans une page n’est pas une suppression. Traitez les marqueurs de retrait prévus par le fournisseur ou rapprochez un instantané complet validé. Lorsqu’un import est incomplet, gardez les fiches existantes et signalez l’incertitude.
Rapprocher le résultat et la couverture attendue
| Mesure | Interprétation |
|---|---|
| Pages terminées | Le signal de fin a été atteint. |
| Identifiants distincts | Les relectures ne gonflent pas le corpus. |
| Entrées rejetées | Le motif et l’action de reprise sont connus. |
| Suppressions | Une preuve distincte de l’absence temporaire existe. |
Un total stable peut cacher des remplacements ou pertes compensées par des doublons. Comparez les identités, les catégories et les champs obligatoires, puis examinez les variations inhabituelles.
Tester arrêt, expiration et relecture
- Interrompre un import entre deux pages dans un environnement de test.
- Reprendre à partir du point enregistré sans doublon.
- Simuler l’expiration d’un curseur et utiliser la reprise prévue.
- Relire une page puis modifier une entrée à la frontière.
- Retirer une fiche avec le mécanisme documenté et vérifier les liens internes.
L’exercice doit conserver les anciennes données jusqu’à validation du nouvel état. Les résultats rejetés doivent rester comptables dans le rapport.
Publier la fraîcheur réelle des données
Distinguez date de collecte, date producteur, dernière modification et dernière lecture documentaire. Un import effectué aujourd’hui peut contenir une description ancienne. Pour chaque champ important, notez source, transformation et règle de priorité si plusieurs fournisseurs divergent.
Le registre de contenus doit expliquer les données manquantes et les corrections manuelles. Dans une API ou un export, utilisez une valeur inconnue explicite plutôt que zéro, une chaîne inventée ou une date artificiellement récente.
Sources et périmètre des faits documentés
Sources officielles consultées le . Les méthodes d’essai et recommandations de ce guide sont éditoriales ; les conditions d’accès et d’usage se vérifient dans la documentation actuelle.
- Mews Connector : pagination — Pagination par curseur et limitation du nombre de résultats.
- Booking.com Demand : pagination et mises à jour — Différents modes selon les endpoints ; durée des jetons à vérifier.
Questions fréquentes
Questions utiles avant de décider
Une page courte prouve-t-elle la fin ?
Seulement si le contrat de l’API le prévoit. Utilisez le signal de fin documenté.
Faut-il supprimer une fiche absente d’un import ?
Pas à partir d’un import incomplet. Cherchez un marqueur de suppression ou un instantané complet validé.
Comment éviter les doublons à la reprise ?
Écrivez par identité stable et rendez la relecture d’une page sans effet supplémentaire.
Quelle date afficher pour la fraîcheur ?
Distinguez collecte et mise à jour producteur. Une collecte récente ne rend pas le contenu récent.


