GET/api/v4/review-phrases

Lister 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.

Nécessite une clé API. Consultez Authentification pour le format de l’en-tête et la rotation des clés.

Paramètres

Chaîne de requête

NomTypeObligatoireDescriptionPar défaut
locationIdsstringfacultatifJSON 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.—
siteUrlsstringfacultatifJSON array of review sources to include, e.g. `["maps.google.com"]`.—
startDatestringfacultatifOnly count reviews on or after this date (`YYYY-MM-DD`).—
endDatestringfacultatifOnly count reviews on or before this date (`YYYY-MM-DD`).—
searchStringstringfacultatifOnly return phrases containing this substring.—
phraseCountintegerfacultatifMaximum number of phrases to return.—
categoriesstringfacultatifJSON array of interaction categories to include (see the interaction attributes reference).—
ratingFiltersstringfacultatifJSON array of star ratings to include, e.g. `[1,2]` to mine only unhappy reviews.—
responseStatusstringfacultatifJSON array of `RESPONDED` / `PENDING` to restrict by whether the review has an owner reply.—
sortOrderstringfacultatifOne of `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`, `LOWEST_RATING`, `HIGHEST_RATING`.—
categorystringfacultatifDeprecated single-value form of `categories`. Kept for v4 compatibility; prefer `categories`.—
ratingFilterintegerfacultatifDeprecated 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.
Response
{  "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 champ abs contenant 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.

Request
curl -X GET 'https://listingsapi.com/api/v4/review-phrases' \  -H "Authorization: API $LISTINGSAPI_KEY"