Recensioni

Recupera le recensioni, rispondi e analizzale con l'SDK listingsapi-js.

Le recensioni (chiamate "interactions" nell'API) sono valutazioni a stelle e commenti a testo libero raccolti da Google, Facebook e Yelp. Tutti i metodi per le recensioni sono disponibili nell'istanza del client ListingsAPI. Le operazioni di scrittura che falliscono lato server generano un'eccezione ValidationError, quindi non devi mai controllare i flag success nei valori restituiti.

fetchInteractions

Recupera le recensioni di una sede con filtri facoltativi e paginazione basata su cursore. Gli ID numerici delle sedi vengono codificati automaticamente.

TypeScript
// Single pageconst result = await client.fetchInteractions(16808, {first:         25,startDate:     '2026-01-01',endDate:       '2026-06-30',ratingFilters: [1, 2],}); if (!Array.isArray(result)) {console.log(result.interactions);   // Interaction[]console.log(result.totalCount);     // number | undefinedconsole.log(result.pageInfo);       // { hasNextPage, hasPreviousPage, startCursor, endCursor }} // All reviews at once, returns a flat Interaction[]const all = await client.fetchInteractions(16808, {fetchAll:  true,startDate: '2026-01-01',});

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.
fetchAllbooleanEsegue automaticamente la paginazione e restituisce un Interaction[] con struttura piatta.
pageSizenumberDimensione della pagina usata internamente quando fetchAll è true (valore predefinito: 100).
startDatestringLimite inferiore, YYYY-MM-DD.
endDatestringLimite superiore, YYYY-MM-DD.
categorystringFiltro per categoria di interazione.
siteUrlsstring[]Limita i risultati a directory specifiche, e.g. ['maps.google.com'].
ratingFiltersnumber[]Valutazioni a stelle da includere, e.g. [1, 2].

Valori restituiti

Senza fetchAll, un oggetto InteractionResponse: success, interactions (Interaction[]), pageInfo (hasNextPage, hasPreviousPage, startCursor, endCursor), totalCount quando l'API ne segnala uno e raw (il payload non analizzato). Con fetchAll: true, un Interaction[] con struttura piatta. Ogni Interaction contiene id, content, rating, siteName, siteUrl, reviewerName, publishedAt, category e responses.

fetchReviewDetails

Recupera informazioni dettagliate su recensioni specifiche tramite l'ID dell'interazione. Se l'array di input è vuoto, l'esecuzione termina immediatamente e restituisce un oggetto vuoto senza effettuare una chiamata di rete.

TypeScript
const details = await client.fetchReviewDetails(['interaction-uuid-1','interaction-uuid-2',]);

respondToReview

Pubblica una risposta a una recensione. L'invio alla directory di origine è asincrono.

TypeScript
await client.respondToReview('interaction-uuid','Thank you for the feedback! We hope to see you again soon.',);
ParametroTipoDescrizione
interactionIdstringL'ID dell'interazione associata alla recensione.
responseContentstringTesto della risposta da pubblicare.

editReviewResponse

Modifica una risposta esistente.

TypeScript
await client.editReviewResponse('review-uuid','response-uuid','Updated response text.',);
ParametroTipoDescrizione
reviewIdstringLa recensione a cui si riferisce la risposta.
responseIdstringLa risposta da modificare.
responseContentstringNuovo testo della risposta.

archiveReviewResponse

Archivia (nasconde) una risposta.

TypeScript
await client.archiveReviewResponse('response-uuid');

Analisi delle recensioni

Tutti e tre i metodi di analisi accettano un ID di sede e un intervallo { startDate, endDate } facoltativo (YYYY-MM-DD) e restituiscono un oggetto ReviewAnalytics la cui struttura varia in base all'endpoint.

fetchReviewAnalyticsOverview

Statistiche complessive per un intervallo di date: dati aggregati sulle valutazioni e sul numero di recensioni della sede.

TypeScript
const overview = await client.fetchReviewAnalyticsOverview(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});console.log(overview);

fetchReviewAnalyticsTimeline

Numero di recensioni e valutazioni nel tempo, adatti alla creazione di grafici.

TypeScript
const timeline = await client.fetchReviewAnalyticsTimeline(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});

fetchReviewAnalyticsSitesStats

Ripartizione delle recensioni per sito di origine (Google, Facebook, Yelp).

TypeScript
const siteStats = await client.fetchReviewAnalyticsSitesStats(16808, {startDate: '2026-01-01',endDate:   '2026-06-30',});

fetchReviewPhrases

Analisi delle espressioni e del sentiment per una o più sedi in un intervallo di date. Accetta un unico oggetto di opzioni; locationIds è obbligatorio e un elenco vuoto restituisce [] senza effettuare una chiamata di rete.

TypeScript
const phrases = await client.fetchReviewPhrases({locationIds: ['TG9jYXRpb246MTY4MDg=', 'TG9jYXRpb246MTY4MDk='],startDate:   '2026-01-01',endDate:     '2026-06-30',siteUrls:    ['maps.google.com'],}); for (const p of phrases) {console.log(p.phrase, p.count, p.sentiment);}

Opzioni

ParametroTipoObbligatorioDescrizione
locationIdsstring[]SìID delle sedi codificati in Base64.
startDatestringNoLimite inferiore, YYYY-MM-DD.
endDatestringNoLimite superiore, YYYY-MM-DD.
siteUrlsstring[]NoLimita i risultati a directory specifiche.

Impostazioni delle recensioni

fetchReviewSettings

Recupera le impostazioni delle fonti delle recensioni per una sede.

TypeScript
const settings = await client.fetchReviewSettings(16808);console.log(settings);

editReviewSettings

Imposta o aggiorna gli URL delle fonti delle recensioni monitorate per una sede. Ogni voce è un ReviewSiteUrl con un name e un url.

TypeScript
await client.editReviewSettings(16808, [{ name: 'Google', url: 'https://www.google.com/maps/place/acme-dental' },{ name: 'Yelp',   url: 'https://www.yelp.com/biz/acme-dental-new-york' },]);
ParametroTipoDescrizione
locationIdstring | numberGli ID numerici vengono codificati automaticamente.
siteUrlsReviewSiteUrl[]Voci di { name, url } per ogni fonte delle recensioni.

fetchReviewSiteConfig

Recupera l'elenco delle fonti delle recensioni idonee per l'intero account. Non accetta argomenti e restituisce un ReviewSiteConfig[].

TypeScript
const config = await client.fetchReviewSiteConfig();
  • Sedi: cerca gli ID delle sedi
  • Analisi: analisi dei profili Google, Bing e Facebook
  • Casi d'uso: procedure per monitorare le recensioni e rispondere in blocco