/api/v4/review-phrasesElenca le espressioni nelle recensioni
Restituisce le espressioni più usate dai clienti nelle recensioni di una sede, ciascuna con le proprie statistiche sulle recensioni.
Parametri
Query
| Nome | Tipo | Obbligatorio | Descrizione | Predefinito |
|---|---|---|---|---|
| locationIds | string | facoltativo | JSON array of location IDs to aggregate over, e.g. `[1800289,1800290]`. Query values are JSON-parsed, so a bare single ID also works. Omit to cover every location the key can read. | — |
| siteUrls | string | facoltativo | JSON array of review sources to include, e.g. `["maps.google.com"]`. | — |
| startDate | string | facoltativo | Only count reviews on or after this date (`YYYY-MM-DD`). | — |
| endDate | string | facoltativo | Only count reviews on or before this date (`YYYY-MM-DD`). | — |
| searchString | string | facoltativo | Only return phrases containing this substring. | — |
| phraseCount | integer | facoltativo | Maximum number of phrases to return. | — |
| categories | string | facoltativo | JSON array of interaction categories to include (see the interaction attributes reference). | — |
| ratingFilters | string | facoltativo | JSON array of star ratings to include, e.g. `[1,2]` to mine only unhappy reviews. | — |
| responseStatus | string | facoltativo | JSON array of `RESPONDED` / `PENDING` to restrict by whether the review has an owner reply. | — |
| sortOrder | string | facoltativo | One of `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`, `LOWEST_RATING`, `HIGHEST_RATING`. | — |
| category | string | facoltativo | Deprecated single-value form of `categories`. Kept for v4 compatibility; prefer `categories`. | — |
| ratingFilter | integer | facoltativo | Deprecated single-value form of `ratingFilters`. Kept for v4 compatibility; prefer `ratingFilters`. | — |
Risposte
200Phrases with their per-phrase review stats. Response key `newReviewPhrases`, a top-level array.
{ "data": { "newReviewPhrases": [ { "reviewPhrase": "friendly staff", "phraseStats": { "stats": [ { "name": "total-reviews", "value": 46, "delta": 12.5, "abs": 5 }, { "name": "overall-rating", "value": 4.7, "delta": 1.1, "abs": 0.05 } ] } }, { "reviewPhrase": "long wait", "phraseStats": { "stats": [ { "name": "total-reviews", "value": 11, "delta": 37.5, "abs": 3 }, { "name": "overall-rating", "value": 2.9, "delta": -8.4, "abs": -0.27 } ] } } ] }}401Unauthenticated, missing or invalid API key.
403The key is valid but not permitted to read one of the requested locations (`SY90003`).
Restituisce le espressioni ricorrenti nel testo delle recensioni di una sede, ciascuna con le statistiche relative al sottoinsieme di recensioni che la contengono. Risponde alla domanda "che cosa continuano a menzionare i clienti e queste menzioni sono positive o negative?".
data.newReviewPhrases è un array di primo livello, non una risposta paginata. Usa phraseCount per limitarne la lunghezza.
Ogni voce contiene:
reviewPhrase: l'espressione stessa.phraseStats.stats: la stessa struttura{ name, value, delta }di Ottieni le analisi delle interazioni, calcolata solo sulle recensioni che contengono quell'espressione, più un campoabsche riporta la variazione assoluta (anziché percentuale).
Tutti i filtri sono facoltativi e combinabili, quindi la route funge anche da ricerca testuale nelle recensioni: ratingFilters=[1,2] con startDate restituisce le lamentele dell'ultimo mese, ordinate in base alla frequenza con cui ricorrono.
Caso d'uso: un pannello delle "lamentele più frequenti"
Per creare un pannello delle lamentele per una sede, chiama questa route con ratingFilters=[1,2], un valore startDate risalente a 90 giorni fa e phraseCount=10. Il risultato è costituito dalle dieci espressioni che compaiono più spesso nelle recensioni con valutazioni basse. Leggere phraseStats per overall-rating per ciascuna espressione ti indica se si tratta di un'effettiva anomalia o semplicemente di lessico comune, mentre delta indica se la situazione sta peggiorando.
Poiché i valori della query vengono interpretati come JSON, gli array vanno inseriti nella stringa di query in formato JSON: ?ratingFilters=[1,2]&siteUrls=["maps.google.com"].
La risposta riportata sopra è un esempio.
curl -X GET 'https://listingsapi.com/api/v4/review-phrases' \ -H "Authorization: API $LISTINGSAPI_KEY"