Standorte
Mit dem listingsapi-js SDK können Sie Unternehmensstandorte auflisten, suchen, erstellen, aktualisieren und archivieren.
Standorte sind die zentrale Entität in Listings API: Jeder Eintrag, jede Bewertung, jeder Analysedatensatz und jeder Beitrag ist einem Standort zugeordnet. Alle Standortmethoden stehen auf der Clientinstanz ListingsAPI zur Verfügung.
fetchAllLocations
Listen Sie die Standorte des Kontos mit cursorbasierter Paginierung auf. Gibt ein Objekt mit locations, pageInfo, success und den API-Nutzdaten raw zurück. Mit fetchAll: true werden automatisch alle Seiten abgerufen und stattdessen ein flaches Location[] zurückgegeben.
// Single pageconst page = await client.fetchAllLocations({ first: 25 });if (!Array.isArray(page)) {console.log(page.locations); // Location[]console.log(page.pageInfo); // { hasNextPage, hasPreviousPage, startCursor, endCursor, total? } // Next pageconst next = await client.fetchAllLocations({ first: 25, after: page.pageInfo.endCursor!,});} // All pages at once, returns Location[]const all = await client.fetchAllLocations({ fetchAll: true, pageSize: 100 });Optionen
fetchLocationsByIds
Rufen Sie bestimmte Standorte anhand ihrer ID ab. Akzeptiert numerische IDs oder base64-kodierte IDs und gibt ein flaches Location[] zurück. Bei einem leeren Eingabearray wird [] zurückgegeben, ohne eine Anfrage zu senden.
const locations = await client.fetchLocationsByIds([16808, 16809, 'TG9jYXRpb246MTY4MTA=']);console.log(locations); // Location[]fetchLocationsByStoreCodes
Rufen Sie Standorte ab, die den angegebenen Filialcodes entsprechen. Gibt ein flaches Location[] zurück; bei einem leeren Eingabearray wird [] zurückgegeben, ohne eine Anfrage zu senden.
const locations = await client.fetchLocationsByStoreCodes(['AD-SF-001', 'AD-NY-001']);searchLocations
Suchen Sie Standorte anhand eines Suchbegriffs in Name, Adresse und Filial-ID. Gibt dieselbe paginierte Datenstruktur wie fetchAllLocations zurück und unterstützt fetchAll auf dieselbe Weise.
// Single pageconst result = await client.searchLocations('Brooklyn', { first: 20 });if (!Array.isArray(result)) {console.log(result.locations, result.pageInfo);} // All matching results, returns Location[]const all = await client.searchLocations('Brooklyn', { fetchAll: true }); // Restrict which fields are searchedconst byName = await client.searchLocations('Acme Dental', { fields: ['name'] });Optionen
Alle Paginierungsoptionen von fetchAllLocations sowie:
createLocation
Erstellen Sie einen neuen Standort. Die API erfordert name, einen Wert für description mit mindestens 200 Zeichen sowie subCategoryId, countryIso und city. Gibt die Antwortnutzdaten mit dem erstellten Standort zurück; wenn die API die Eingabe ablehnt, löst der Client stattdessen eine Ausnahme vom Typ ValidationError aus, sodass kein Erfolgsflag geprüft werden muss.
const result = await client.createLocation({name: 'Acme Dental',description: 'Acme Dental is a family-owned dental practice offering cleanings, ' + 'checkups, fillings, crowns, and cosmetic dentistry for patients of all ' + 'ages. Our gentle, experienced team uses modern digital imaging and ' + 'same-day scheduling to make every visit fast and comfortable.',subCategoryId: 1432,countryIso: 'US',city: 'San Francisco',street: '2100 Mission St',stateIso: 'CA',postalCode: '94110',phone: '4155550100',storeId: 'AD-SF-003',});console.log(result.location.id);updateLocation
Aktualisieren Sie ein oder mehrere Felder eines vorhandenen Standorts. Übergeben Sie die Standort-ID id sowie alle zu ändernden Felder. Numerische IDs werden automatisch kodiert.
await client.updateLocation({id: 16808,phone: '4155550199',name: 'Acme Dental Mission District',});archiveLocations
Archivieren Sie einen oder mehrere Standorte. Archivierte Standorte werden nicht mehr mit Verzeichnissen synchronisiert.
await client.archiveLocations([16808, 16809]);cancelArchiveLocations
Heben Sie die geplante Archivierung für die angegebenen Standorte auf. Akzeptiert die Standort-IDs, selectionType und eine Kennung für changedBy als Positionsargumente.
await client.cancelArchiveLocations([16808],'manual', // selectionType'ops@example.com', // changedBy);ID-Kodierung
Jede Standortmethode akzeptiert entweder eine numerische ID oder eine base64-kodierte ID. Das SDK kodiert numerische IDs (und numerische Zeichenfolgen) automatisch im Format Location:<id>; bereits kodierte Werte werden unverändert weitergegeben.
// These are equivalentawait client.fetchLocationsByIds([16808]);await client.fetchLocationsByIds(['TG9jYXRpb246MTY4MDg=']);Die Kodierungsfunktion wird ebenfalls exportiert, falls Sie die kodierte Form direkt benötigen:
import { encodeLocationId } from 'listingsapi-js'; encodeLocationId(16808); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('16808'); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('TG9jYXRpb246MTY4MDg='); // unchangedWeiterführende Ressourcen
- Einträge, Synchronisierungsstatus der Verzeichnisse pro Standort
- Bewertungen, Bewertungsliste und Bewertungsanalysen pro Standort
- Analysen, Statistiken von Google, Bing und Facebook pro Standort