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.
// 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
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.
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.
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.
// 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ù:
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.
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.
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.
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.
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.
// These are equivalentawait client.fetchLocationsByIds([16808]);await client.fetchLocationsByIds(['TG9jYXRpb246MTY4MDg=']);La funzione di codifica viene anche esportata, se ti serve direttamente la forma codificata:
import { encodeLocationId } from 'listingsapi-js'; encodeLocationId(16808); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('16808'); // 'TG9jYXRpb246MTY4MDg='encodeLocationId('TG9jYXRpb246MTY4MDg='); // unchangedRisorse correlate
- 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