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.

TypeScript
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.

TypeScript
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.

TypeScript
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.

TypeScript
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });

Optionen

ParameterTypBeschreibung
tagstringAuf Standorte mit diesem Tag filtern.
pagenumberSeitennummer (beginnend bei 1).

markListingsAsDuplicate

Markieren Sie einen oder mehrere Einträge eines Standorts als Duplikate. Die Plattform versucht, die markierten Profile zu unterdrücken.

TypeScript
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);

Parameter

ParameterTypBeschreibung
locationIdstring | numberStandort, zu dem die Einträge gehören.
listingItemIdsstring[]IDs der zu markierenden Einträge.

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.

TypeScript
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);

Parameter

ParameterTypBeschreibung
locationIdstring | numberStandort, zu dem die Einträge gehören.
listingItemIdsstring[]IDs der Einträge, deren Markierung entfernt werden soll.

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.

TypeScript
await client.connectListing(16808,'connected-listing-id','connected-account-id',);

Parameter

ParameterTypBeschreibung
locationIdstring | numberZu verknüpfender Standort.
connectedAccountListingIdstringID des Eintrags aus dem verbundenen Konto.
connectedAccountIdstringID des verbundenen Google- oder Facebook-Kontos.

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.

TypeScript
await client.disconnectListing(16808, 'GOOGLE');

Parameter

ParameterTypBeschreibung
locationIdstring | numberStandort, dessen Verknüpfung aufgehoben werden soll.
sitestringVerzeichnis, dessen Verbindung getrennt werden soll, zum Beispiel 'GOOGLE' oder 'FACEBOOK'.

createGmbListing

Erstellen Sie mithilfe eines verbundenen Google-Kontos einen Google Business Profile-Eintrag für einen vorhandenen Standort.

TypeScript
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

ParameterTypBeschreibung
locationIdstring | numberStandort, für den der Eintrag erstellt werden soll.
connectedAccountIdstringID des verbundenen Google-Kontos.
options.folderIdstringOptionaler Ordner, in dem der Eintrag erstellt werden soll.

Typischer Ablauf einer Prüfung

listings_audit.ts
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');}