Method: computeInsights

RPC Compute Insights

Cette méthode vous permet de récupérer des insights sur des zones à l'aide de différents filtres, tels que la zone, le type d'établissement, l'état de fonctionnement, le niveau de prix et les notes. Actuellement, les insights "count" (nombre) et "places" (lieux) sont acceptés. Les insights "count" vous permettent de répondre à des questions telles que "Combien de restaurants en Californie sont opérationnels, abordables et ont une note moyenne d'au moins quatre étoiles ?" (pour en savoir plus, consultez l'énumération insight). Les insights sur les lieux vous permettent de déterminer les lieux correspondant au filtre demandé. Les clients peuvent ensuite utiliser ces noms de ressources de lieu pour obtenir plus d'informations sur chaque lieu à l'aide de l'API Places.

Requête HTTP

POST https://areainsights.googleapis.com/v1:computeInsights

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Champs
insights[]

enum (Insight)

Obligatoire. Insights à calculer. Actuellement, seuls INSIGHT_COUNT et INSIGHT_PLACES sont acceptés.

filter

object (Filter)

Obligatoire. Filtre des insights.

Corps de la réponse

Réponse pour le RPC v1.computeInsights.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Champs
placeInsights[]

object (PlaceInsight)

Résultat pour Insights.INSIGHT_PLACES.

count

string (int64 format)

Résultat pour Insights.INSIGHT_COUNT.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/cloud-platform

Insight

Insights disponibles

Enums
INSIGHT_UNSPECIFIED Non spécifié.
INSIGHT_COUNT

Insight sur le nombre

Lorsque cet insight est spécifié, v1.computeInsights renvoie le nombre d'établissements correspondant aux critères de filtre spécifiés.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_COUNT
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return the count of restaurants in California that are
operational, with price level free or inexpensive and have an average
rating of at least 4 starts.

Example response:
ComputeInsightsResponse {
  count: <number of places>
}
INSIGHT_PLACES

Adresses de retour

Lorsque cet insight est spécifié, v1.computeInsights renvoie les lieux correspondant aux critères de filtre spécifiés.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_PLACES
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return list of places of restaurants in
California that are operational, with price level free or inexpensive and
have an average rating of at least 4 stars.

Example response:
ComputeInsightsResponse {
  placeInsights { place: "places/ABC" }
  placeInsights { place: "places/PQR" }
  placeInsights { place: "places/XYZ" }
}

Filtre

Filtres pour la RPC v1.computeInsights.

Représentation JSON
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
Champs
locationFilter

object (LocationFilter)

Obligatoire. Limite les résultats aux lieux situés dans la zone spécifiée par les filtres de localisation.

typeFilter

object (TypeFilter)

Obligatoire. Filtres de type de lieu

operatingStatus[]

enum (OperatingStatus)

Facultatif. Limite les résultats aux lieux dont l'état de fonctionnement est inclus dans cette liste. Si operatingStatus n'est pas défini, OPERATING_STATUS_OPERATIONAL est utilisé par défaut.

priceLevels[]

enum (PriceLevel)

Facultatif. Limite les résultats aux lieux dont le niveau de prix figure dans cette liste. Si price_level n'est pas défini, tous les niveaux de prix sont inclus dans les résultats.

ratingFilter

object (RatingFilter)

Facultatif. Limite les résultats aux lieux dont les notes moyennes des utilisateurs se situent dans la plage spécifiée par ratingFilter. Si ratingFilter n'est pas défini, toutes les notes sont incluses dans le résultat.

LocationFilter

Filtres de lieux

Spécifie la zone d'intérêt pour l'insight.

Représentation JSON
{

  // Union field area can be only one of the following:
  "circle": {
    object (Circle)
  },
  "region": {
    object (Region)
  },
  "customArea": {
    object (CustomArea)
  }
  // End of list of possible types for union field area.
}
Champs
Champ d'union area. L'une des options suivantes doit être spécifiée. area ne peut être qu'un des éléments suivants :
circle

object (Circle)

Aire sous forme de cercle.

region

object (Region)

Zone en tant que région.

customArea

object (CustomArea)

Zone personnalisée spécifiée par un polygone.

Cercle

Un cercle est défini par un point central et un rayon en mètres.

Représentation JSON
{
  "radius": integer,

  // Union field center can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "place": string
  // End of list of possible types for union field center.
}
Champs
radius

integer

Facultatif. Rayon du cercle en mètres

Champ d'union center. Centre du cercle. center ne peut être qu'un des éléments suivants :
latLng

object (LatLng)

Latitude et longitude du centre du cercle.

place

string

Nom de la ressource Place du centre du cercle. Seuls les lieux ponctuels sont acceptés.

LatLng

Objet représentant une paire latitude/longitude. Cette valeur est exprimée par une paire de doubles représentant les degrés de latitude et de longitude. Sauf indication contraire, cet objet doit être conforme à la norme WGS84. Les valeurs doivent se situer dans les limites normalisées.

Représentation JSON
{
  "latitude": number,
  "longitude": number
}
Champs
latitude

number

Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0].

longitude

number

Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0].

Région

Une région est une limite géographique, comme une ville, un code postal, un comté ou un État.

Représentation JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Champs
Champ d'union region. Définit une région géographique. Vous ne pouvez spécifier qu'un seul type de région (par exemple, un lieu) à la fois. region ne peut être qu'un des éléments suivants :
place

string

Identifiant unique d'une région géographique spécifique.

CustomArea

Zone personnalisée

Représentation JSON
{
  "polygon": {
    object (Polygon)
  }
}
Champs
polygon

object (Polygon)

Obligatoire. Zone personnalisée représentée sous forme de polygone

Polygone

Un polygone est représenté par une série de coordonnées connectées dans une séquence ordonnée dans le sens antihoraire. Les coordonnées forment une boucle fermée et définissent une région remplie. Les premières et dernières coordonnées sont équivalentes et doivent contenir des valeurs identiques. Il s'agit d'une version simplifiée des polygones GeoJSON (un seul anneau extérieur dans le sens antihoraire est accepté).

Représentation JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Champs
coordinates[]

object (LatLng)

Facultatif. Coordonnées qui définissent le polygone.

TypeFilter

Filtres de type de lieu

Seuls les types de lieux du tableau a sont acceptés.

Un lieu ne peut être associé qu'à un seul type principal. Par exemple, le type principal peut être "restaurant_mexicain" ou "steakhouse". Utilisez includedPrimaryTypes et excludedPrimaryTypes pour filtrer les résultats en fonction du type principal d'un lieu.

Un lieu peut également être associé à plusieurs valeurs de type. Par exemple, un restaurant peut avoir les types suivants: "seafood_restaurant", "restaurant", "food", "point_of_interest" et "establishment". Utilisez includedTypes et excludedTypes pour filtrer les résultats de la liste des types associés à un lieu.

Si une recherche est spécifiée avec plusieurs restrictions de type, seules les zones géographiques qui répondent à toutes les restrictions sont renvoyées. Par exemple, si vous spécifiez {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, les lieux affichés proposent des services liés à un "restaurant", mais ne sont pas principalement des "steak_house".

Si des types sont en conflit, c'est-à-dire qu'un type apparaît à la fois dans les types "includedTypes" et "excludedTypes" ou "includedPrimaryTypes" et "excludedPrimaryTypes", une erreur INVALID_ARGUMENT est renvoyée.

L'un des éléments "includedTypes" ou "includedPrimaryTypes" doit être défini.

Représentation JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Champs
includedTypes[]

string

Facultatif. Types de lieux inclus.

excludedTypes[]

string

Facultatif. Types de lieux exclus.

includedPrimaryTypes[]

string

Facultatif. Ajout des principaux types de lieux.

excludedPrimaryTypes[]

string

Facultatif. Types de lieux principaux exclus

OperatingStatus

État de fonctionnement du lieu.

Enums
OPERATING_STATUS_UNSPECIFIED Non spécifié.
OPERATING_STATUS_OPERATIONAL L'établissement est opérationnel et ouvert pendant les heures définies.
OPERATING_STATUS_PERMANENTLY_CLOSED L'établissement n'est plus en activité.
OPERATING_STATUS_TEMPORARILY_CLOSED Ce lieu est temporairement fermé et devrait rouvrir à l'avenir.

PriceLevel

Niveau de prix du lieu.

Enums
PRICE_LEVEL_UNSPECIFIED Le niveau de prix de l'établissement n'est pas spécifié ou est inconnu.
PRICE_LEVEL_FREE L'établissement propose des services sans frais.
PRICE_LEVEL_INEXPENSIVE L'établissement propose des services abordables.
PRICE_LEVEL_MODERATE L'établissement propose des services à des prix modérés.
PRICE_LEVEL_EXPENSIVE L'établissement propose des services onéreux.
PRICE_LEVEL_VERY_EXPENSIVE L'établissement propose des services très onéreux.

RatingFilter

Filtres de note moyenne des utilisateurs

Représentation JSON
{
  "minRating": number,
  "maxRating": number
}
Champs
minRating

number

Facultatif. Limite les résultats aux lieux dont la note moyenne est supérieure ou égale à minRating. Les valeurs doivent être comprises entre 1,0 et 5,0.

maxRating

number

Facultatif. Limite les résultats aux lieux dont la note moyenne est strictement inférieure ou égale à maxRating. Les valeurs doivent être comprises entre 1,0 et 5,0.

PlaceInsight

Contient des informations sur un lieu

Représentation JSON
{
  "place": string
}
Champs
place

string

Identifiant unique du lieu. Ce nom de ressource permet de récupérer des informations sur le lieu à l'aide de l'API Places.