Repérer et supprimer les fiches en double
Listez les fiches en double par établissement et compte, confirmez celles à supprimer, écartez les faux positifs et suivez leur résolution.
Un doublon est une deuxième entrée pour la même entreprise dans le même annuaire. Il répartit les avis et les signaux de classement entre plusieurs fiches et crée de la confusion chez les clients. La détection s’exécute automatiquement. Vous examinez ses résultats, confirmez les vrais doublons et écartez les entrées légitimes.
Chaque doublon possède un statut qui indique où il en est dans le processus de nettoyage :
1. Répertorier les doublons d’un établissement
GET /locations/{locationId}/listings/duplicates renvoie un simple tableau de groupes de sites. Chaque groupe correspond à un annuaire avec un tableau listings de doublons présumés, et chaque entrée possède un listingItemId, une liveLink que vous pouvez ouvrir pour l’évaluer et un status.
curl https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/listings/duplicates \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "duplicateListingsForLocation": [ { "id": "U2l0ZToxNTA=", "name": "City Squares", "url": "citysquares.com", "listings": [ { "id": "RHVwbGljYXRlOjIzNTk4NDUw", "listingItemId": "TGlzdGluZ0l0ZW06MjM1OTg0NTA=", "name": "Woodbury Train Station", "liveLink": "http://citysquares.com/b/woodbury-train-station-23598450", "status": "POTENTIAL" } ] } ] }}Un tableau vide signifie qu’aucun doublon n’a été détecté. Conservez listingItemId : c’est la valeur acceptée par les deux endpoints de marquage. Le Node SDK aplatit les groupes en un tableau par doublon ; d.id y est donc la valeur à transmettre.
2. Regrouper les doublons de l’ensemble du compte
GET /locations/listings/duplicates fournit une vue à l’échelle du compte. Il s’agit d’une page avec pagination par décalage : page et perPage en entrée, records[] ainsi que pageInfo.totalRecords et pageInfo.totalPages en sortie. Par défaut, status vaut POTENTIAL et tag vaut all ; un appel sans paramètres renvoie donc tous les doublons ouverts auxquels la clé donne accès. Ajoutez siteId (un identifiant plan-sites) pour limiter les résultats à un seul annuaire.
curl "https://listingsapi.com/api/v4/locations/listings/duplicates?status=POTENTIAL&page=1&perPage=50" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "duplicateListingsRollup": { "pageInfo": { "hasNextPage": true, "totalPages": 34, "totalRecords": 1673 }, "records": [ { "id": "3329229", "name": "Woodbury Train Station", "duplicateProcessingState": "POTENTIAL", "liveLink": "http://citysquares.com/b/woodbury-train-station-23598450", "locationId": "73451", "siteName": "City Squares", "siteUrl": "citysquares.com" } ] } }}La vue d’ensemble vous indique où se trouvent les doublons ; duplicateProcessingState correspond au même statut de cycle de vie que ci-dessus. Pour agir sur un doublon, utilisez son locationId avec l’endpoint par établissement de l’étape 1 et consultez-y le listingItemId. Parcourez les pages une à une ; une boucle sans pause est le moyen le plus rapide d’obtenir un 429.
3. Confirmer un doublon pour le supprimer
Une fois qu’une personne chargée de la vérification confirme qu’une entrée est un doublon, appelez POST /locations/listings/mark-as-duplicate en plaçant les valeurs listingItemId sous input. Regroupez tous les identifiants confirmés pour un établissement dans un seul appel. locationId est facultatif et limite la requête à cet établissement.
curl -X POST https://listingsapi.com/api/v4/locations/listings/mark-as-duplicate \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "listingItemIds": ["TGlzdGluZ0l0ZW06MjM1OTg0NTA="] }}'{ "data": { "markAsDuplicate": { "success": true, "errors": null } }}success: true signifie que les éléments ont été acceptés et sont passés au statut PROCESSING. Un 200 avec success: false, ou un 400, s’accompagne d’un tableau errors dont les entrées contiennent code et message ; un identifiant inconnu ou mal formé en est généralement la cause. Les SDK lèvent ValidationError dans ce cas.
4. Écarter un faux positif
La détection est prudente. Un autre établissement de la même franchise, un deuxième profil légitime ou un établissement renommé peuvent tous sembler être des doublons. POST /locations/listings/mark-as-not-duplicate accepte un corps de requête identique et retire définitivement l’entrée des deux listes. C’est également ainsi que vous annulez une action effectuée par erreur à l’étape 3.
curl -X POST https://listingsapi.com/api/v4/locations/listings/mark-as-not-duplicate \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "listingItemIds": ["TGlzdGluZ0l0ZW06MjM1OTg0NTA="] }}'La réponse est data.markAsNotDuplicate avec les mêmes champs success et errors qu’à l’étape 3.
5. Suivre l’avancement
Consultez à nouveau la vue d’ensemble avec status=PROCESSING pour voir ce qui est encore en cours de traitement auprès des plateformes de publication, et avec status=FIXED pour confirmer ce qui a été supprimé. Aucun des deux SDK n’expose encore le filtre status ; appelez donc directement l’endpoint avec le même en-tête Authorization.
curl "https://listingsapi.com/api/v4/locations/listings/duplicates?status=PROCESSING&page=1&perPage=50" \-H "Authorization: API $LISTINGSAPI_KEY" curl "https://listingsapi.com/api/v4/locations/listings/duplicates?status=FIXED&page=1&perPage=50" \-H "Authorization: API $LISTINGSAPI_KEY"Demander perPage=1 et lire pageInfo.totalRecords permet d’obtenir le nombre de doublons pour chaque statut en quatre appels. Un enregistrement FAILED dont la liveLink est toujours accessible nécessite une vérification manuelle ; un enregistrement FAILED dont le lien ne fonctionne plus a été corrigé par la plateforme de publication de sa propre initiative et peut être écarté à l’étape 4.
Étapes suivantes
- Vérifier l’état des fiches et les liens en ligne : la fiche principale de chaque annuaire, avec laquelle un doublon entre en concurrence.
- Rechercher et corriger les erreurs des fiches : l’autre étape de nettoyage.
- Référence : Obtenir les fiches en double pour un établissement, Obtenir toutes les fiches en double pour un compte, Marquer une fiche comme doublon, Marquer une fiche comme n’étant pas un doublon.