Method: providers.vehicles.search

Affiche la liste des 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 de projet (par exemple, sample-cloud-project) du projet Google Cloud dont le compte de service à l'origine de cet appel est membre.

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. Point de retrait à proximité duquel effectuer la recherche.

dropoffPoint

object (TerminalLocation)

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

pickupRadiusMeters

integer

Obligatoire. Définit le rayon de recherche de véhicules autour du point de prise en charge. Seuls les véhicules situés dans le rayon de recherche seront affiché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. Indique le nombre de passagers pris en compte pour un trajet. La valeur doit être supérieure ou égale à un. Le pilote n'est pas pris en compte dans la valeur de la capacité.

tripTypes[]

enum (TripType)

Obligatoire. Indique le type de trajet proposé. Doit inclure un seul 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 informations de localisation à Fleet Engine au cours de la durée spécifiée. Les véhicules à l'arrêt qui continuent de transmettre leur position ne sont pas considérés comme obsolètes. Si ce champ n'est pas défini, le serveur utilise cinq minutes comme valeur par défaut.

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 appartenant à l'un des types spécifiés. Vous devez spécifier au moins un type de véhicule. Les types de véhicules dont la catégorie est UNKNOWN ne sont pas autorisés.

requiredAttributes[]

object (VehicleAttribute)

Les appelants peuvent former des opérations logiques complexes à l'aide de n'importe quelle combinaison des champs requiredAttributes, requiredOneOfAttributes et requiredOneOfAttributeSets.

requiredAttributes est une liste. requiredOneOfAttributes utilise un message qui permet 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 correspond à une opération de conjonction/AND. Vous ne pouvez pas inclure plus de 50 attributs obligatoires. Il correspond au nombre maximal d'attributs autorisés pour un véhicule.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Limite la recherche aux véhicules présentant au moins l'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 pour l'ensemble des VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets fournit des fonctionnalités supplémentaires.

Tout comme requiredOneOfAttributes, requiredOneOfAttributeSets utilise un message qui permet une liste de listes, ce qui permet des expressions telles que 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 qui possèdent tous les attributs d'un VehicleAttributeList. Dans chaque liste, un véhicule doit correspondre à tous les attributs. Ce champ correspond à une opération de conjonction/AND dans chaque VehicleAttributeList et à une opération de disjonction/OR inclusive pour l'ensemble des 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 à 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 false, les véhicules avec des trajets attribués sont exclus des résultats de recherche. Lorsque currentTripsPresent n'est pas spécifié et que ce champ est true, les résultats de recherche peuvent inclure des 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é à cet objet SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indique si les véhicules avec des trajets actifs sont éligibles à cette recherche. Cette valeur doit être différente de CURRENT_TRIPS_PRESENT_UNSPECIFIED si tripType inclut SHARED.

filter

string

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

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 AND 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 avec les 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 correspondant aux critères SearchVehiclesRequest, triés en fonction du champ SearchVehiclesRequest.order_by.

VehicleAttributeList

Type de données de liste de listes pour les attributs de 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 de véhicules dans la réponse.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Par défaut, utilisé pour les correspondances de véhicules non spécifiées ou non reconnues.
PICKUP_POINT_ETA Dans l'ordre croissant du temps de trajet en voiture jusqu'au point de prise en charge.
PICKUP_POINT_DISTANCE par ordre croissant de distance en voiture du véhicule jusqu'au point de prise en charge.
DROPOFF_POINT_ETA Tri croissant en fonction du temps de trajet en voiture 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 Par ordre croissant de distance en ligne droite entre le dernier emplacement signalé du véhicule et le point de prise en charge.
COST par ordre croissant du coût de mise en correspondance configuré. Le coût de mise en correspondance est défini comme un calcul pondéré entre la distance en ligne droite et l'heure d'arrivée estimée. Les pondérations sont définies avec des valeurs par défaut et peuvent être modifiées par client. Veuillez contacter l'assistance Google si vous devez modifier ces pondérations 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 ayant 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

Inclut le véhicule et les estimations associées pour un véhicule correspondant aux points des trajets actifs pour le 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. Véhicule correspondant à la requête.

vehiclePickupEta

string (Timestamp format)

Heure d'arrivée estimée du véhicule au point de ramassage spécifié dans la requête. Une valeur vide indique un échec lors du calcul de l'heure d'arrivée estimée du véhicule. Si SearchVehiclesRequest.include_back_to_back était true et que ce véhicule a un trajet actif, vehiclePickupEta inclut le temps nécessaire pour terminer le trajet actif 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 l'emplacement actuel du véhicule et le point de prise en charge spécifié dans la demande, y compris les points de prise en charge ou de dépose intermédiaires pour les 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 de la navigation et le point de prise en charge demandé. (La distance entre le point d'arrivée de la navigation et le point de prise en charge demandé est généralement faible.) Une valeur vide indique une erreur lors du calcul de la distance.

vehiclePickupStraightLineDistanceMeters

integer

Obligatoire. Distance en ligne droite entre le véhicule et le point de prise en charge spécifié dans la demande.

vehicleDropoffEta

string (Timestamp format)

Heure d'arrivée estimée du véhicule complet au point de dépose spécifié dans la demande. L'heure d'arrivée prévue inclut les arrêts aux points de cheminement avant l'dropoffPoint spécifié dans la requête. La valeur n'est renseignée que lorsqu'un point de dépôt est spécifié dans la requête. Une valeur vide indique une erreur lors du calcul de l'heure d'arrivée estimée.

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 (en mètres) du véhicule entre le point de prise en charge et le point de dépose spécifié dans la demande. La distance ne concerne que les deux points et n'inclut pas l'emplacement du véhicule ni les autres points que le véhicule doit atteindre avant de se rendre au point de prise en charge ou de dépôt. La valeur n'est renseignée que lorsqu'un dropoffPoint est spécifié dans la requête. Une valeur vide indique un échec lors du calcul de la distance entre le point de prise en charge et le point de dépôt 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 estimée au point de prise en charge.

vehicleTripsWaypoints[]

object (Waypoint)

Liste triée des points de cheminement utilisés pour calculer l'heure d'arrivée prévue. La liste comprend la localisation du véhicule, les points de retrait des trajets actifs pour le véhicule et les points de retrait indiqués dans la demande. Une liste vide indique un échec lors du calcul de l'heure d'arrivée estimée du véhicule.

vehicleMatchType

enum (VehicleMatchType)

Type de correspondance du véhicule.

requestedOrderedBy

enum (VehicleMatchOrder)

Ordre demandé pour trier les correspondances de véhicules. Équivaut à orderedBy.

orderedBy

enum (VehicleMatchOrder)

Ordre demandé pour trier les correspondances de véhicules. Équivaut à requestedOrderedBy.

Repère

Décrit les points intermédiaires d'un itinéraire pour un VehicleMatch dans un SearchVehiclesResponse. Ce concept est représenté par 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 repère.

eta

string (Timestamp format)

Heure estimée à laquelle le véhicule arrivera à ce point de repère.

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 correspondance de véhicule.

Enums
UNKNOWN Type de correspondance de véhicule inconnu
EXCLUSIVE Aucun trajet n'est actuellement attribué au véhicule, et il peut se rendre au point de prise en charge.
BACK_TO_BACK Le véhicule est actuellement attribué à un trajet, mais peut se rendre au point de prise en charge une fois le trajet en cours terminé. Les calculs de l'heure d'arrivée estimée et de la distance tiennent compte du trajet existant.
CARPOOL Le véhicule est suffisamment spacieux pour une course partagée.
CARPOOL_BACK_TO_BACK Le véhicule terminera son trajet en cours avant de se rendre au point de ramassage. Les calculs de l'heure d'arrivée estimée et de la distance tiennent compte du trajet existant.