Sedi

Elenca, cerca, crea, aggiorna e archivia le sedi aziendali con l'SDK listingsapi-js.

Le sedi sono l'entità principale di Listings API: ogni scheda, recensione, record di analisi e post è associato a una sede. Tutti i metodi per le sedi sono disponibili sull'istanza del client ListingsAPI.

fetchAllLocations

Elenca le sedi dell'account con paginazione basata su cursori. Restituisce un oggetto con locations, pageInfo, success e il payload API raw. Con fetchAll: true gestisce automaticamente la paginazione e restituisce invece Location[] in forma non annidata.

TypeScript
// 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 });

Opzioni

ParametroTipoDescrizione
firstnumberDimensione della pagina per la paginazione in avanti.
afterstringCursore da un precedente pageInfo.endCursor.
beforestringCursore per la paginazione all'indietro.
lastnumberDimensione della pagina per la paginazione all'indietro.
fetchAllbooleanGestisce automaticamente la paginazione e restituisce Location[] in forma non annidata.
pageSizenumberDimensione della pagina usata internamente quando fetchAll è true (valore predefinito: 100).

fetchLocationsByIds

Recupera sedi specifiche tramite ID. Accetta ID numerici o codificati in base64 e restituisce Location[] in forma non annidata. Un array di input vuoto restituisce [] senza effettuare alcuna richiesta.

TypeScript
const locations = await client.fetchLocationsByIds([16808, 16809, 'TG9jYXRpb246MTY4MTA=']);console.log(locations); // Location[]

fetchLocationsByStoreCodes

Recupera le sedi che corrispondono ai codici negozio specificati. Restituisce Location[] in forma non annidata; un array di input vuoto restituisce [] senza effettuare alcuna richiesta.

TypeScript
const locations = await client.fetchLocationsByStoreCodes(['AD-SF-001', 'AD-NY-001']);

searchLocations

Cerca le sedi per parola chiave nei campi nome, indirizzo e ID negozio. Restituisce la stessa struttura paginata di fetchAllLocations e supporta fetchAll allo stesso modo.

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

Opzioni

Tutte le opzioni di paginazione di fetchAllLocations, più:

ParametroTipoDescrizione
fieldsstring[]Limita la ricerca a campi specifici.

createLocation

Crea una nuova sede. L'API richiede name, un valore per description di almeno 200 caratteri, subCategoryId, countryIso e city. Restituisce il payload della risposta con la sede creata; se l'API rifiuta l'input, il client solleva invece un'eccezione ValidationError, quindi non c'è alcun indicatore di successo da controllare.

TypeScript
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

Aggiorna uno o più campi di una sede esistente. Passa id della sede insieme ai campi da modificare. Gli ID numerici vengono codificati automaticamente.

TypeScript
await client.updateLocation({id: 16808,phone: '4155550199',name: 'Acme Dental Mission District',});

archiveLocations

Archivia una o più sedi. Le sedi archiviate non vengono più sincronizzate con le directory.

TypeScript
await client.archiveLocations([16808, 16809]);

cancelArchiveLocations

Annulla l'archiviazione pianificata per le sedi specificate. Accetta gli ID delle sedi, selectionType e un identificatore changedBy come argomenti posizionali.

TypeScript
await client.cancelArchiveLocations([16808],'manual',           // selectionType'ops@example.com',  // changedBy);

Codifica degli ID

Ogni metodo per le sedi accetta un ID numerico o un ID codificato in base64. L'SDK codifica automaticamente gli ID numerici (e le stringhe numeriche) usando il formato Location:<id>; i valori già codificati vengono passati senza modifiche.

TypeScript
// These are equivalentawait client.fetchLocationsByIds([16808]);await client.fetchLocationsByIds(['TG9jYXRpb246MTY4MDg=']);

La funzione di codifica viene anche esportata, se ti serve direttamente la forma codificata:

TypeScript
import { encodeLocationId } from 'listingsapi-js'; encodeLocationId(16808);                  // 'TG9jYXRpb246MTY4MDg='encodeLocationId('16808');                // 'TG9jYXRpb246MTY4MDg='encodeLocationId('TG9jYXRpb246MTY4MDg='); // unchanged
  • Schede, stato di sincronizzazione con le directory per sede
  • Recensioni, elenco e analisi delle recensioni per sede
  • Analisi, dati statistici di Google, Bing e Facebook per sede