Fiches
Récupérez les fiches d’annuaires premium, vocales et en double, gérez la suppression des doublons et connectez des profils via le SDK listingsapi-js.
Les fiches représentent la présence d'un établissement sur différents annuaires (Google, Yelp, Bing, Alexa, Siri, etc.). Toutes les méthodes relatives aux fiches sont disponibles sur l'instance du client ListingsAPI et s'appliquent à un identifiant d'établissement. Les identifiants numériques des établissements sont encodés automatiquement ; 16808 et 'TG9jYXRpb246MTY4MDg=' sont donc interchangeables.
fetchPremiumListings
Récupérez les fiches d'un établissement sur les annuaires premium : Google, Yelp, Facebook et les autres annuaires du réseau principal. Renvoie un tableau d'objets Listing contenant des champs tels que id, site, syncStatus, displayStatus et listingUrl.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}Les valeurs possibles de syncStatus incluent SYNCED, PENDING, ERROR et NOT_CONNECTED.
fetchVoiceListings
Récupérez les fiches des assistants vocaux : Google Assistant, Amazon Alexa, Apple Siri et les assistants similaires. Renvoie un tableau d'objets VoiceListing contenant des champs tels que name, voiceIdentifier et syncStatus.
const voice = await client.fetchVoiceListings(16808); console.log(voice.length + ' voice listings');for (const v of voice) {console.log(v.name, v.syncStatus);}fetchDuplicateListings
Récupérez les fiches en double détectées pour un établissement donné. Renvoie un tableau d'objets DuplicateListing contenant des champs tels que id, site et listingUrl.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
Récupérez une synthèse des fiches en double pour tous les établissements du compte, avec un filtrage par étiquette et une pagination facultatifs. Contrairement à fetchDuplicateListings, cette méthode renvoie un objet de synthèse plutôt qu'un simple tableau.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Options
markListingsAsDuplicate
Marquez un ou plusieurs éléments de fiche comme doublons pour un établissement. La plateforme tentera de supprimer les profils signalés.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Paramètres
Il n'y a aucun indicateur de réussite à vérifier. Si la plateforme rejette l'écriture, le client lève une exception ValidationError ; une promesse résolue signifie donc que l'opération a réussi.
markListingsAsNotDuplicate
Retirez le marquage comme doublon des éléments de fiche marqués par erreur.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Paramètres
connectListing
Associez un établissement à une fiche d'un compte Google ou Facebook connecté. Utilisez cette méthode après avoir connecté le compte et trouvé la fiche correspondante.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Paramètres
disconnectListing
Dissociez un établissement de sa fiche Google ou Facebook. Le nom du site est automatiquement converti en majuscules ; 'google' et 'GOOGLE' fonctionnent donc tous les deux.
await client.disconnectListing(16808, 'GOOGLE');Paramètres
createGmbListing
Créez une fiche Google Business Profile pour un établissement existant à l'aide d'un compte Google connecté.
const result = await client.createGmbListing(16808, 'connected-account-id'); // Optionally place the new listing in a specific folderawait client.createGmbListing(16808, 'connected-account-id', {folderId: 'folder-id',});Paramètres
Déroulement type d'un audit
import { ListingsAPI } from 'listingsapi-js'; const client = new ListingsAPI(); // reads LISTINGSAPI_KEY from envconst LOCATION_ID = 16808; // Acme Dental const [premium, duplicates] = await Promise.all([client.fetchPremiumListings(LOCATION_ID),client.fetchDuplicateListings(LOCATION_ID),]); const unsynced = premium.filter((l) => l.syncStatus !== 'SYNCED');console.log(unsynced.length + ' unsynced listings'); if (duplicates.length > 0) {const ids = duplicates .map((d) => d.id) .filter((id): id is string => Boolean(id));await client.markListingsAsDuplicate(LOCATION_ID, ids);console.log('Marked ' + ids.length + ' duplicates');}Ressources connexes
- Établissements : rechercher les identifiants des établissements
- Gestion des erreurs : erreurs typées levées par chaque méthode
- Cas d'utilisation : procédure d'audit des fiches