Method: providers.vehicles.search

Renvoie une liste de véhicules correspondant aux options de la requête.

Requête HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
parent

string

Obligatoire. Doit se présenter sous la forme providers/{provider}. Le fournisseur doit être l'ID du projet Google Cloud (par exemple, sample-cloud-project) auquel appartient le compte de service qui effectue cet appel.

Corps de la requête

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

Représentation JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
Champs
header

object (RequestHeader)

En-tête de requête Fleet Engine standard.

pickupPoint

object (TerminalLocation)

Obligatoire. Lieu de prise en charge à proximité duquel la recherche doit être effectuée.

dropoffPoint

object (TerminalLocation)

Le lieu de dépôt prévu par le client Ce champ est obligatoire si tripTypes contient TripType.SHARED.

pickupRadiusMeters

integer

Obligatoire. Définit le rayon de recherche du véhicule autour du point de prise en charge. Seuls les véhicules compris dans le rayon de recherche sont renvoyés. La valeur doit être comprise entre 400 et 10 000 mètres (inclus).

count

integer

Obligatoire. Spécifie le nombre maximal de véhicules à renvoyer. La valeur doit être comprise entre 1 et 50 (inclus).

minimumCapacity

integer

Obligatoire. Spécifie le nombre de passagers envisagés pour un trajet. La valeur doit être supérieure ou égale à un. Le pilote n'est pas pris en compte dans la valeur de capacité.

tripTypes[]

enum (TripType)

Obligatoire. Représente le type de trajet proposé. Doit inclure exactement un type. UNKNOWN_TRIP_TYPE : non autorisé. Limite la recherche aux véhicules compatibles avec ce type de trajet.

maximumStaleness

string (Duration format)

Limite la recherche aux véhicules qui ont envoyé des mises à jour de la position à Fleet Engine pendant la durée spécifiée. Les véhicules fixes qui transmettent encore leur position ne sont pas considérés comme obsolètes. Si ce champ n'est pas défini, la valeur par défaut du serveur est de cinq minutes.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

vehicleTypes[]

object (VehicleType)

Obligatoire. Limite la recherche aux véhicules de l'un des types spécifiés. Vous devez indiquer au moins un type de véhicule. Les VehicleTypes d'une catégorie de UNKNOWN ne sont pas autorisés.

requiredAttributes[]

object (VehicleAttribute)

Les appelants peuvent former des opérations logiques complexes en utilisant n'importe quelle combinaison des champs requiredAttributes, requiredOneOfAttributes et requiredOneOfAttributeSets.

requiredAttributes est une liste ; requiredOneOfAttributes utilise un message qui autorise une liste de listes. Ensemble, les deux champs permettent de composer cette expression:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Limite la recherche aux véhicules présentant les attributs spécifiés. Ce champ est une opération de conjonction/opération AND. Un maximum de 50 requiredAttributes est autorisé. Ce nombre correspond au nombre maximal d'attributs autorisé pour un véhicule.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Limite la recherche aux véhicules qui présentent au moins un des attributs spécifiés dans chaque VehicleAttributeList. Dans chaque liste, un véhicule doit correspondre à au moins un des attributs. Ce champ est une opération de disjonction/OU inclusive dans chaque VehicleAttributeList et une opération de conjonction/ET sur la collection de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets fournit des fonctionnalités supplémentaires.

Comme pour requiredOneOfAttributes, requiredOneOfAttributeSets utilise un message qui autorise une liste de listes, ce qui permet d'utiliser des expressions comme celle-ci:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Limite la recherche aux véhicules avec tous les attributs dans un élément VehicleAttributeList. Dans chaque liste, un véhicule doit correspondre à tous les attributs. Ce champ est une opération de conjonction/ET dans chaque VehicleAttributeList et une opération de disjonction inclusive/OU dans la collection de VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obligatoire. Spécifie le critère de tri souhaité pour les résultats.

includeBackToBack

boolean

Indique si les véhicules avec un seul trajet actif sont éligibles pour cette recherche. Ce champ n'est utilisé que lorsque currentTripsPresent n'est pas spécifié. Lorsque currentTripsPresent n'est pas spécifié et que ce champ est défini sur false, les véhicules auxquels des trajets sont attribués sont exclus des résultats de recherche. Lorsque currentTripsPresent n'est pas spécifié et que ce champ est défini sur true, les résultats de recherche peuvent inclure les véhicules avec un trajet actif dont l'état est ENROUTE_TO_DROPOFF. Lorsque currentTripsPresent est spécifié, ce champ ne peut pas être défini sur "true".

La valeur par défaut est false.

tripId

string

Indique le trajet associé à ce SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indique si les véhicules avec des trajets actifs sont éligibles pour cette recherche. Elle doit être définie sur une valeur autre que CURRENT_TRIPS_PRESENT_UNSPECIFIED si tripType inclut SHARED.

filter

string

Facultatif. Requête de filtre à appliquer lors de la recherche de véhicules. Consultez la page http://aip.dev/160 pour obtenir des exemples de syntaxe de filtre.

Ce champ est conçu pour remplacer les champs requiredAttributes, requiredOneOfAttributes et required_one_of_attributes_sets. Si une valeur non vide est spécifiée ici, les champs suivants doivent être vides: requiredAttributes, requiredOneOfAttributes et required_one_of_attributes_sets.

Ce filtre fonctionne comme une clause ET avec d'autres contraintes, telles que minimumCapacity ou vehicleTypes.

Notez que les seules requêtes acceptées concernent les attributs du véhicule (par exemple, attributes.<key> = <value> ou attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Le nombre maximal de restrictions autorisé dans une requête de filtre est de 50.

De plus, tous les attributs sont stockés sous forme de chaînes. Par conséquent, les seules comparaisons acceptées par rapport aux attributs sont les comparaisons de chaînes. Pour effectuer une comparaison avec des valeurs numériques ou booléennes, les valeurs doivent être explicitement placées entre guillemets pour être traitées comme des chaînes (par exemple, attributes.<key> = "10" ou attributes.<key> = "true").

Corps de la réponse

Message de réponse vehicles.search.

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

Représentation JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Champs
matches[]

object (VehicleMatch)

Liste des véhicules qui correspondent aux critères SearchVehiclesRequest, classés selon le champ SearchVehiclesRequest.order_by.

VehicleAttributeList

Type de données "liste de listes" pour les attributs d'un véhicule.

Représentation JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Champs
attributes[]

object (VehicleAttribute)

Liste des attributs de cette collection.

VehicleMatchOrder

Spécifie l'ordre des correspondances du véhicule dans la réponse.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Par défaut, utilisé pour les véhicules non spécifiés ou non reconnus dans l'ordre.
PICKUP_POINT_ETA Ordre croissant selon le temps de trajet du véhicule jusqu'au lieu de prise en charge.
PICKUP_POINT_DISTANCE Ordre croissant selon la distance parcourue par le véhicule jusqu'au point de prise en charge.
DROPOFF_POINT_ETA Ordre croissant selon le temps de trajet du véhicule jusqu'au point de dépôt. Cette commande ne peut être utilisée que si le point de dépôt est spécifié dans la demande.
PICKUP_POINT_STRAIGHT_DISTANCE Ordre croissant selon la distance en ligne droite entre le dernier emplacement signalé du véhicule et le lieu de prise en charge.
COST Ordre croissant selon le coût de correspondance configuré. Le coût de correspondance est défini comme un calcul pondéré entre la distance en ligne droite et l'heure d'arrivée prévue. Les pondérations sont définies à l'aide de valeurs par défaut et peuvent être modifiées pour chaque client. Veuillez contacter l'assistance Google si ces pondérations doivent être modifiées pour votre projet.

CurrentTripsPresent

Spécifie les types de restrictions applicables aux trajets actuels d'un véhicule.

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilité des véhicules avec des trajets est régie par le champ includeBackToBack.
NONE Les véhicules sans trajets peuvent apparaître dans les résultats de recherche. Lorsque cette valeur est utilisée, includeBackToBack ne peut pas être true.
ANY Les véhicules avec au maximum cinq trajets en cours et 10 points de cheminement sont inclus dans les résultats de recherche. Lorsque cette valeur est utilisée, includeBackToBack ne peut pas être true.

VehicleMatch

Contient le véhicule et les estimations associées à un véhicule qui correspond aux points des trajets actifs du véhicule SearchVehiclesRequest.

Représentation JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
Champs
vehicle

object (Vehicle)

Obligatoire. Un véhicule correspondant à la requête

vehiclePickupEta

string (Timestamp format)

L'heure d'arrivée prévue du véhicule jusqu'au point de prise en charge spécifié dans la requête. Une valeur vide indique un échec de calcul de l'heure d'arrivée prévue pour le véhicule. Si SearchVehiclesRequest.include_back_to_back était true et que ce véhicule est en cours de trajet, vehiclePickupEta inclut le temps nécessaire pour effectuer le trajet en cours.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Distance entre la position actuelle du véhicule et le lieu de prise en charge spécifié dans la requête, y compris les lieux intermédiaires de prise en charge ou de dépose des trajets existants. Cette distance comprend la distance calculée en voiture (itinéraire), ainsi que la distance en ligne droite entre le point d'arrivée pour la navigation et le lieu de prise en charge demandé. (La distance entre le point d'arrivée pour la navigation et le lieu de prise en charge demandé est généralement faible.) Une valeur vide indique une erreur de calcul de la distance.

vehiclePickupStraightLineDistanceMeters

integer

Obligatoire. Distance en ligne droite entre le véhicule et le lieu de prise en charge spécifié dans la requête.

vehicleDropoffEta

string (Timestamp format)

L'heure d'arrivée prévue complète du véhicule jusqu'au point de dépôt spécifié dans la demande. L'heure d'arrivée prévue inclut l'arrêt à n'importe quel point de cheminement avant le dropoffPoint spécifié dans la requête. La valeur n'est renseignée que si un point de dépôt est spécifié dans la requête. Une valeur vide indique une erreur de calcul de l'heure d'arrivée prévue.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Distance parcourue (en mètres) du véhicule entre le lieu de prise en charge et le lieu de dépôt spécifié dans la demande. La distance est uniquement entre les deux points et n'inclut pas l'emplacement du véhicule ni tout autre point devant être visité avant que le véhicule ne se rende au lieu de prise en charge ou de dépôt. La valeur ne sera renseignée que si dropoffPoint est spécifié dans la requête. Une valeur vide indique un échec de calcul de la distance entre la prise en charge et le lieu de dépose spécifié dans la requête.

tripType

enum (TripType)

Obligatoire. Type de trajet de la requête utilisée pour calculer l'heure d'arrivée prévue jusqu'au point de prise en charge.

vehicleTripsWaypoints[]

object (Waypoint)

Liste numérotée de points de cheminement utilisés pour calculer l'heure d'arrivée prévue. Cette liste comprend l'emplacement du véhicule, les points de prise en charge des trajets actifs pour le véhicule, ainsi que les points de prise en charge indiqués dans la requête. Une liste vide indique un échec de calcul de l'heure d'arrivée prévue pour le véhicule.

vehicleMatchType

enum (VehicleMatchType)

Le type de véhicule correspond.

requestedOrderedBy

enum (VehicleMatchOrder)

Ordre demandé pour le tri des correspondances de véhicules.

orderedBy

enum (VehicleMatchOrder)

Commande réelle utilisée pour ce véhicule. Normalement, cette valeur correspond à la valeur de la requête. Toutefois, dans certains cas, par exemple en cas d'erreur interne du serveur, une autre méthode peut être utilisée (par exemple, PICKUP_POINT_STRAIGHT_DISTANCE).

Repère

Décrit les points intermédiaires le long d'un itinéraire pour un VehicleMatch dans un SearchVehiclesResponse. Ce concept est représenté sous la forme d'un TripWaypoint dans tous les autres points de terminaison.

Représentation JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Champs
latLng

object (LatLng)

Emplacement de ce point de cheminement.

eta

string (Timestamp format)

Estimation de l'heure d'arrivée du véhicule à ce point de cheminement.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Type de véhicule correspondant.

Enums
UNKNOWN Type de correspondance du véhicule inconnu
EXCLUSIVE Aucun trajet n'est actuellement attribué au véhicule et peut se rendre au lieu de prise en charge.
BACK_TO_BACK Le véhicule est actuellement attribué à un trajet, mais peut se rendre au lieu de prise en charge une fois le trajet en cours terminé. Le calcul de l'heure d'arrivée prévue et de la distance tient compte du trajet existant.
CARPOOL Le véhicule a une capacité suffisante pour une course partagée.
CARPOOL_BACK_TO_BACK Le véhicule termine son trajet en cours et actif avant d'accéder au lieu de prise en charge. Le calcul de l'heure d'arrivée prévue et de la distance tient compte du trajet existant.