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.

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

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

Recupera le schede duplicate rilevate per una sede specifica. Restituisce un array di oggetti DuplicateListing con campi come id, site e listingUrl.

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

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

Opzioni

ParametroTipoDescrizione
tagstringLimita i risultati alle sedi con questo tag.
pagenumberNumero di pagina (a partire da 1).

markListingsAsDuplicate

Contrassegna uno o più elementi delle schede di una sede come duplicati. La piattaforma tenterà di rimuovere i profili segnalati.

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

Parametri

ParametroTipoDescrizione
locationIdstring | numberSede a cui appartengono gli elementi delle schede.
listingItemIdsstring[]ID degli elementi delle schede da contrassegnare.

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.

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

Parametri

ParametroTipoDescrizione
locationIdstring | numberSede a cui appartengono gli elementi delle schede.
listingItemIdsstring[]ID degli elementi delle schede da cui rimuovere il contrassegno.

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.

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

Parametri

ParametroTipoDescrizione
locationIdstring | numberSede da collegare.
connectedAccountListingIdstringID della scheda dell'account connesso.
connectedAccountIdstringID dell'account Google o Facebook connesso.

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.

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

Parametri

ParametroTipoDescrizione
locationIdstring | numberSede da scollegare.
sitestringDirectory da disconnettere, ad esempio 'GOOGLE' o 'FACEBOOK'.

createGmbListing

Crea una scheda Google Business Profile per una sede esistente, usando un account Google connesso.

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',});

Parametri

ParametroTipoDescrizione
locationIdstring | numberSede per cui creare la scheda.
connectedAccountIdstringID dell'account Google connesso.
options.folderIdstringCartella facoltativa in cui creare la scheda.

Flusso di lavoro tipico per una verifica

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