Schede
Recupera schede premium, vocali e duplicate nelle directory, gestisci la soppressione dei duplicati e collega profili con l'SDK listingsapi-js.
Le schede rappresentano la presenza di una sede nelle singole directory (Google, Yelp, Bing, Alexa, Siri e così via). Tutti i metodi per le schede sono disponibili sull'istanza del client ListingsAPI e operano nell'ambito di un ID sede. Gli ID numerici delle sedi vengono codificati automaticamente, quindi 16808 e 'TG9jYXRpb246MTY4MDg=' sono intercambiabili.
fetchPremiumListings
Recupera le schede di una sede nelle directory premium: Google, Yelp, Facebook e le altre directory della rete principale. Restituisce un array di oggetti Listing con campi come id, site, syncStatus, displayStatus e listingUrl.
const listings = await client.fetchPremiumListings(16808); for (const l of listings) {console.log(l.site, l.syncStatus, l.listingUrl);}I valori possibili di syncStatus includono SYNCED, PENDING, ERROR e NOT_CONNECTED.
fetchVoiceListings
Recupera le schede sugli assistenti vocali: Google Assistant, Amazon Alexa, Apple Siri e assistenti simili. Restituisce un array di oggetti VoiceListing con campi come name, voiceIdentifier e 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
Recupera le schede duplicate rilevate per una sede specifica. Restituisce un array di oggetti DuplicateListing con campi come id, site e listingUrl.
const duplicates = await client.fetchDuplicateListings(16808); for (const d of duplicates) {console.log(d.site, d.listingUrl);}fetchAllDuplicateListings
Recupera un riepilogo delle schede duplicate per tutte le sedi dell'account, con filtro per tag e paginazione facoltativi. A differenza di fetchDuplicateListings, restituisce un oggetto di riepilogo anziché un semplice array.
// All duplicates across the accountconst rollup = await client.fetchAllDuplicateListings(); // Filter by tag and pageconst page2 = await client.fetchAllDuplicateListings({ tag: 'region:west', page: 2 });Opzioni
markListingsAsDuplicate
Contrassegna uno o più elementi delle schede di una sede come duplicati. La piattaforma tenterà di rimuovere i profili segnalati.
await client.markListingsAsDuplicate(16808, ['listing-item-id-1','listing-item-id-2',]);Parametri
Non è presente alcun indicatore di esito positivo da controllare. Se la piattaforma rifiuta la scrittura, il client genera un'eccezione ValidationError, quindi una promise risolta indica che l'operazione è riuscita.
markListingsAsNotDuplicate
Rimuovi il contrassegno di duplicato dagli elementi delle schede contrassegnati per errore.
await client.markListingsAsNotDuplicate(16808, ['listing-item-id-1',]);Parametri
connectListing
Collega una sede a una scheda di un account Google o Facebook connesso. Usa questo metodo dopo aver connesso l'account e individuato la scheda corrispondente.
await client.connectListing(16808,'connected-listing-id','connected-account-id',);Parametri
disconnectListing
Scollega una sede dalla sua scheda Google o Facebook. Il nome del sito viene convertito automaticamente in maiuscolo, quindi sia 'google' sia 'GOOGLE' funzionano.
await client.disconnectListing(16808, 'GOOGLE');Parametri
createGmbListing
Crea una scheda Google Business Profile per una sede esistente, usando un account Google connesso.
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',});Parametri
Flusso di lavoro tipico per una verifica
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');}Risorse correlate
- Sedi: cerca gli ID delle sedi
- Gestione degli errori: errori tipizzati generati da ogni metodo
- Casi d'uso: procedura per la verifica delle schede