/api/v4/review-phrasesLister les expressions utilisées dans les avis
Renvoie les expressions que les clients utilisent le plus dans les avis d'un établissement, chacune accompagnée de ses propres statistiques sur les avis.
Paramètres
Chaîne de requête
| Nom | Type | Obligatoire | Description | Par défaut |
|---|---|---|---|---|
| locationIds | string | facultatif | 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 | facultatif | JSON array of review sources to include, e.g. `["maps.google.com"]`. | — |
| startDate | string | facultatif | Only count reviews on or after this date (`YYYY-MM-DD`). | — |
| endDate | string | facultatif | Only count reviews on or before this date (`YYYY-MM-DD`). | — |
| searchString | string | facultatif | Only return phrases containing this substring. | — |
| phraseCount | integer | facultatif | Maximum number of phrases to return. | — |
| categories | string | facultatif | JSON array of interaction categories to include (see the interaction attributes reference). | — |
| ratingFilters | string | facultatif | JSON array of star ratings to include, e.g. `[1,2]` to mine only unhappy reviews. | — |
| responseStatus | string | facultatif | JSON array of `RESPONDED` / `PENDING` to restrict by whether the review has an owner reply. | — |
| sortOrder | string | facultatif | One of `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`, `LOWEST_RATING`, `HIGHEST_RATING`. | — |
| category | string | facultatif | Deprecated single-value form of `categories`. Kept for v4 compatibility; prefer `categories`. | — |
| ratingFilter | integer | facultatif | Deprecated single-value form of `ratingFilters`. Kept for v4 compatibility; prefer `ratingFilters`. | — |
Réponses
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`).
Renvoie les expressions récurrentes dans le texte des avis d'un établissement, chacune accompagnée des statistiques sur le sous-ensemble des avis qui la contiennent. Cela répond à la question « Que mentionnent régulièrement les clients, et ces mentions sont-elles positives ou négatives ? ».
data.newReviewPhrases est un tableau de premier niveau, et non une réponse paginée. Utilisez phraseCount pour limiter sa longueur.
Chaque entrée contient :
reviewPhrase: l'expression elle-même.phraseStats.stats: la même structure{ name, value, delta }que dans Obtenir les statistiques d'interaction, calculée uniquement à partir des avis contenant cette expression, avec en plus un champabscontenant la variation absolue (plutôt qu'en pourcentage).
Tous les filtres sont facultatifs et peuvent être combinés ; cette route permet donc aussi d'effectuer une recherche textuelle dans les avis : ratingFilters=[1,2] avec startDate donne les plaintes du dernier mois, classées par fréquence de récurrence.
Cas d'utilisation : un panneau des « principales plaintes »
Pour créer un panneau des plaintes pour un établissement, appelez cette route avec ratingFilters=[1,2], un startDate remontant à 90 jours et phraseCount=10. Le résultat contient les dix expressions qui apparaissent le plus souvent dans les avis avec une note faible. La lecture de phraseStats pour overall-rating sur chacune d'elles vous indique si une expression se démarque réellement ou relève simplement du vocabulaire courant, et delta indique si la situation s'aggrave.
Comme les valeurs des paramètres de requête sont analysées en tant que JSON, les tableaux doivent figurer dans la chaîne de requête au format JSON : ?ratingFilters=[1,2]&siteUrls=["maps.google.com"].
La réponse ci-dessus est un exemple.
curl -X GET 'https://listingsapi.com/api/v4/review-phrases' \ -H "Authorization: API $LISTINGSAPI_KEY"