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. 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. 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 informations de localisation à Fleet Engine au cours de 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 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. Un maximum de 50 attributs 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 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 sur la collection de 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 présentent tous les attributs d'un 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 à 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 à 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 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 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 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 Dans l'ordre croissant du temps de trajet en voiture jusqu'au point 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 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 la 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 à l'aide de valeurs par défaut et peuvent être modifiées pour chaque 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 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. 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 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 de la navigation et le point 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 lors du 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)

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 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 (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 est uniquement entre les deux points et n'inclut pas l'emplacement du véhicule ni tout autre point à visiter avant que le véhicule ne se rende au lieu 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 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. 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 de calcul de l'heure d'arrivée prévue pour le véhicule.

vehicleMatchType

enum (VehicleMatchType)

Type de correspondance du véhicule.

requestedOrderedBy

enum (VehicleMatchOrder)

Ordre demandé pour trier les correspondances de véhicules.

orderedBy

enum (VehicleMatchOrder)

Commande réelle utilisée pour ce véhicule. Normalement, il correspond au champ "orderBy" de la requête. Toutefois, dans certaines circonstances, comme 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 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 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 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 en cours.