Einträge
Premium-, Sprach- und doppelte Verzeichniseinträge abrufen, Duplikatunterdrückung verwalten und Profile mit dem listingsapi-js SDK verknüpfen.
Einträge stellen die Präsenz eines Standorts in einzelnen Verzeichnissen dar (Google, Yelp, Bing, Alexa, Siri usw.). Alle Methoden für Einträge sind auf der Client-Instanz ListingsAPI verfügbar und auf eine Standort-ID beschränkt. Numerische Standort-IDs werden automatisch kodiert, sodass 16808 und 'TG9jYXRpb246MTY4MDg=' austauschbar sind.
fetchPremiumListings
Rufen Sie Einträge eines Standorts in Premium-Verzeichnissen ab: Google, Yelp, Facebook und die übrigen Verzeichnisse des Kernnetzwerks. Gibt ein Array von Listing-Objekten mit Feldern wie id, site, syncStatus, displayStatus und listingUrl zurück.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}Mögliche Werte für syncStatus sind unter anderem SYNCED, PENDING, ERROR und NOT_CONNECTED.
fetchVoiceListings
Rufen Sie Einträge bei Sprachassistenten ab: Google Assistant, Amazon Alexa, Apple Siri und ähnliche Assistenten. Gibt ein Array von VoiceListing-Objekten mit Feldern wie name, voiceIdentifier und syncStatus zurück.
const voice = await client.fetchVoiceListings(16808); console.log(voice.length + ' voice listings');for (const v of voice) {console.log(v.name, v.syncStatus);}fetchDuplicateListings
Rufen Sie die für einen bestimmten Standort erkannten doppelten Einträge ab. Gibt ein Array von DuplicateListing-Objekten mit Feldern wie id, site und listingUrl zurück.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
Rufen Sie eine Zusammenfassung der doppelten Einträge für alle Standorte im Konto ab, optional mit Tag-Filterung und Paginierung. Im Gegensatz zu fetchDuplicateListings wird hierbei ein Zusammenfassungsobjekt statt eines einfachen Arrays zurückgegeben.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Optionen
markListingsAsDuplicate
Markieren Sie einen oder mehrere Einträge eines Standorts als Duplikate. Die Plattform versucht, die markierten Profile zu unterdrücken.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Parameter
Es gibt kein Erfolgskennzeichen, das Sie prüfen können. Wenn die Plattform den Schreibvorgang ablehnt, löst der Client einen Fehler vom Typ ValidationError aus, sodass ein erfülltes Promise einen erfolgreichen Schreibvorgang bedeutet.
markListingsAsNotDuplicate
Entfernen Sie die Duplikatmarkierung bei Einträgen, die fälschlicherweise markiert wurden.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Parameter
connectListing
Verknüpfen Sie einen Standort mit einem Eintrag aus einem verbundenen Google- oder Facebook-Konto. Verwenden Sie diese Methode, nachdem Sie das Konto verbunden und den passenden Eintrag gefunden haben.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Parameter
disconnectListing
Heben Sie die Verknüpfung eines Standorts mit seinem Google- oder Facebook-Eintrag auf. Der Name der Website wird automatisch in Großbuchstaben umgewandelt, sodass sowohl 'google' als auch 'GOOGLE' funktionieren.
await client.disconnectListing(16808, 'GOOGLE');Parameter
createGmbListing
Erstellen Sie mithilfe eines verbundenen Google-Kontos einen Google Business Profile-Eintrag für einen vorhandenen Standort.
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',});Parameter
Typischer Ablauf einer Prüfung
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');}Weiterführende Ressourcen
- Standorte: Standort-IDs ermitteln
- Fehlerbehandlung: typisierte Fehler, die von jeder Methode ausgelöst werden
- Anwendungsfälle: Anleitung zur Prüfung von Einträgen