Method: providers.vehicles.search

Renvoie 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 correspondre à l'ID du projet Google Cloud (par exemple, sample-cloud-project) auquel appartient le compte de service effectuant 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. Point de retrait à proximité.

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 situés dans le rayon de recherche s'affichent. 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 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 seuls véhicules pouvant prendre en charge ce type de trajet.

maximumStaleness

string (Duration format)

Limite la recherche aux seuls véhicules ayant envoyé des mises à jour de position à Fleet Engine pendant la durée spécifiée. Les véhicules fixes qui transmettent toujours 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 un maximum de neuf chiffres après la virgule, se terminant par "s". Exemple: "3.5s".

vehicleTypes[]

object (VehicleType)

Obligatoire. Limite la recherche aux véhicules correspondant à l'un des types spécifiés. Vous devez spécifier au moins un type de véhicule. Les VehicleTypes de catégorie 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. Combinés, 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 seuls véhicules disposant des attributs spécifiés. Ce champ est une opération de conjonction/AND. Un maximum de 50 RequiredAttributes est autorisé. Ce nombre correspond au nombre maximal d'attributs autorisé sur un véhicule.

requiredOneOfAttributes[]

object (VehicleAttributeList)

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

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets offre des fonctionnalités supplémentaires.

À l'instar de requiredOneOfAttributes, requiredOneOfAttributeSets utilise un message qui autorise une liste de listes, en autorisant les 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 seuls véhicules ayant 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/AND dans chaque VehicleAttributeList et une opération de disjonction/OU inclusive dans l'ensemble de VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

Indique si les véhicules effectuant 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 associés à des trajets 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 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é à ce SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

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

filter

string

Facultatif. Requête de filtre à appliquer lorsque vous recherchez des 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 de véhicule (par exemple, attributes.<key> = <value> ou attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Le nombre maximal de restrictions autorisées 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 possibles avec les attributs sont des 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 en tant que 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, classés en fonction du champ SearchVehiclesRequest.order_by.

VehicleAttributeList

Type de données de type liste de listes pour les attributs du véhicule.

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

object (VehicleAttribute)

Liste des attributs de cette collection.

VehicleMatchOrder

Spécifie l'ordre dans lequel les véhicules correspondent dans la réponse.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Valeur par défaut, utilisée pour l'ordre de correspondance des véhicules non spécifié ou non reconnu.
PICKUP_POINT_ETA Ordre croissant selon le temps de trajet du véhicule 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 (en fonction du 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 requête.
PICKUP_POINT_STRAIGHT_DISTANCE Ordre croissant selon une distance en ligne droite entre la dernière position signalée du véhicule et le point de prise en charge
COST Ordre croissant en fonction du 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 avec des valeurs par défaut et peuvent être modifiées en fonction du client. Veuillez contacter l'assistance Google si ces pondérations doivent être modifiées pour votre projet.

CurrentTripsPresent

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

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilité des véhicules comportant des trajets est régie par le champ includeBackToBack.
NONE Les véhicules sans trajets peuvent figurer dans les résultats de recherche. Lorsque cette valeur est utilisée, includeBackToBack ne peut pas être true.
ANY Les véhicules avec un maximum de cinq trajets actuels et de 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 pour un véhicule qui correspondent aux points de 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 du 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 effectue un trajet actif, vehiclePickupEta inclut le temps nécessaire pour effectuer le trajet en cours.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. 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 point de prise en charge spécifié dans la requête, 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), plus la distance en ligne droite entre le point d'arrivée final de la navigation et le point de départ demandé. La distance entre le point d'arrivée final de la navigation et le point de départ 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 point 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 requête. L'heure d'arrivée prévue inclut l'arrêt à tous les points de cheminement avant le dropoffPoint spécifié dans la requête. Cette 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 lors du calcul de l'heure d'arrivée prévue.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. Exemples: "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Distance en voiture du véhicule (en mètres) entre le point de prise en charge et le point de dépôt spécifié dans la requête. La distance ne correspond qu'à l'espace entre les deux points. Elle n'inclut pas l'emplacement du véhicule ni aucun autre point à visiter avant que le véhicule ne se rende au point de prise en charge ou au point 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 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 qui a été utilisé pour calculer l'heure d'arrivée prévue au point de prise en charge.

vehicleTripsWaypoints[]

object (Waypoint)

Liste numérotée des points de cheminement utilisés pour calculer l'heure d'arrivée prévue. La liste comprend l'emplacement du véhicule, les points de retrait des trajets en cours pour celui-ci et les points de prise en charge fournis dans la requête. Une liste vide indique que le calcul de l'heure d'arrivée prévue du véhicule n'a pas pu être effectué.

vehicleMatchType

enum (VehicleMatchType)

Type de véhicule correspondant.

requestedOrderedBy

enum (VehicleMatchOrder)

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

orderedBy

enum (VehicleMatchOrder)

Commande réellement utilisée pour ce véhicule. Normalement, il correspondra au champ "orderBy" de la requête. Toutefois, dans certaines circonstances, telles qu'une erreur de serveur interne, 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 sur 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.

Code temporel au format RFC3339 UTC "Zulu", avec une résolution à la nanoseconde et jusqu'à neuf chiffres après la virgule. 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 du véhicule inconnu
EXCLUSIVE Le véhicule n'est actuellement associé à aucun trajet et peut poursuivre jusqu'au point de prise en charge.
BACK_TO_BACK Le véhicule est actuellement affecté à un trajet, mais il peut passer au point de prise en charge une fois le trajet en cours terminé. L'heure d'arrivée prévue et le calcul des distances tiennent compte du trajet existant.
CARPOOL Le véhicule dispose d'une capacité suffisante pour un trajet partagé.
CARPOOL_BACK_TO_BACK Le véhicule termine son trajet actif en cours avant de passer au point de prise en charge. L'heure d'arrivée prévue et le calcul des distances tiennent compte du trajet existant.