Method: providers.vehicles.search

Restituisce un elenco di veicoli corrispondenti alle opzioni di richiesta.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
parent

string

Obbligatorio. Deve essere nel formato providers/{provider}. Il provider deve essere l'ID progetto (ad esempio sample-cloud-project) del progetto Google Cloud di cui l'account di servizio che effettua questa chiamata è membro.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione 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
}
Campi
header

object (RequestHeader)

L'intestazione della richiesta Fleet Engine standard.

pickupPoint

object (TerminalLocation)

Obbligatorio. Il punto di ritiro nelle vicinanze in cui effettuare la ricerca.

dropoffPoint

object (TerminalLocation)

La località di consegna prevista dal cliente. Il campo è obbligatorio se tripTypes contiene TripType.SHARED.

pickupRadiusMeters

integer

Obbligatorio. Definisce il raggio di ricerca dei veicoli intorno al punto di ritiro. Verranno restituiti solo i veicoli all'interno del raggio di ricerca. Il valore deve essere compreso tra 400 e 10000 metri (inclusi).

count

integer

Obbligatorio. Specifica il numero massimo di veicoli da restituire. Il valore deve essere compreso tra 1 e 50 (inclusi).

minimumCapacity

integer

Obbligatorio. Specifica il numero di passeggeri presi in considerazione per un viaggio. Il valore deve essere maggiore o uguale a 1. Il conducente non viene considerato nel valore della capacità.

tripTypes[]

enum (TripType)

Obbligatorio. Rappresenta il tipo di viaggio proposto. Deve includere esattamente un tipo. Non consentito: UNKNOWN_TRIP_TYPE. Limita la ricerca solo ai veicoli che supportano quel tipo di viaggio.

maximumStaleness

string (Duration format)

Limita la ricerca solo ai veicoli che hanno inviato aggiornamenti sulla posizione a Fleet Engine entro la durata specificata. I veicoli fermi che continuano a trasmettere la propria posizione non sono considerati inattivi. Se questo campo non è impostato, il server utilizza cinque minuti come valore predefinito.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

vehicleTypes[]

object (VehicleType)

Obbligatorio. Limita la ricerca ai veicoli con uno dei tipi specificati. È necessario specificare almeno un tipo di veicolo. I tipi di veicoli con una categoria UNKNOWN non sono consentiti.

requiredAttributes[]

object (VehicleAttribute)

I chiamanti possono formare operazioni logiche complesse utilizzando qualsiasi combinazione dei campi requiredAttributes, requiredOneOfAttributes e requiredOneOfAttributeSets.

requiredAttributes è un elenco; requiredOneOfAttributes utilizza un messaggio che consente un elenco di elenchi. In combinazione, i due campi consentono la composizione di questa espressione:

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

Limita la ricerca solo ai veicoli con gli attributi specificati. Questo campo è un'operazione di congiunzione/AND. È consentito un massimo di 50 attributi obbligatori. Corrisponde al numero massimo di attributi consentiti per un veicolo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Limita la ricerca solo ai veicoli con almeno uno degli attributi specificati in ogni VehicleAttributeList. All'interno di ogni elenco, un veicolo deve corrispondere ad almeno uno degli attributi. Questo campo è un'operazione di disgiunzione inclusiva/OR in ogni VehicleAttributeList e un'operazione di congiunzione/AND nella raccolta di VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets offre funzionalità aggiuntive.

Analogamente a requiredOneOfAttributes, requiredOneOfAttributeSets utilizza un messaggio che consente un elenco di elenchi, consentendo espressioni come questa:

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

Limita la ricerca solo ai veicoli con tutti gli attributi in un VehicleAttributeList. All'interno di ogni elenco, un veicolo deve corrispondere a tutti gli attributi. Questo campo è un'operazione di congiunzione/AND in ogni VehicleAttributeList e un'operazione di disgiunzione/OR inclusiva nell'intera raccolta di VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obbligatorio. Specifica il criterio di ordinamento desiderato per i risultati.

includeBackToBack

boolean

Indica se i veicoli con una singola corsa attiva sono idonei per questa ricerca. Questo campo viene utilizzato solo quando currentTripsPresent non è specificato. Quando currentTripsPresent non è specificato e questo campo è false, i veicoli con corse assegnate vengono esclusi dai risultati di ricerca. Quando currentTripsPresent non è specificato e questo campo è true, i risultati di ricerca possono includere veicoli con un viaggio attivo con stato ENROUTE_TO_DROPOFF. Quando viene specificato currentTripsPresent, questo campo non può essere impostato su true.

Il valore predefinito è false.

tripId

string

Indica il viaggio associato a questo SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indica se i veicoli con viaggi attivi sono idonei per questa ricerca. Questo valore deve essere impostato su un valore diverso da CURRENT_TRIPS_PRESENT_UNSPECIFIED se tripType include SHARED.

filter

string

Facoltativo. Una query filtro da applicare durante la ricerca dei veicoli. Visita la pagina http://aip.dev/160 per esempi di sintassi dei filtri.

Questo campo è progettato per sostituire i campi requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets. Se qui viene specificato un valore non vuoto, i seguenti campi devono essere vuoti: requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets.

Questo filtro funziona come una clausola AND con altri vincoli, ad esempio minimumCapacity o vehicleTypes.

Tieni presente che le uniche query supportate riguardano gli attributi del veicolo (ad es. attributes.<key> = <value> o attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Il numero massimo di limitazioni consentite in una query filtro è 50.

Inoltre, tutti gli attributi vengono archiviati come stringhe, pertanto gli unici confronti supportati per gli attributi sono i confronti di stringhe. Per il confronto con valori numerici o booleani, i valori devono essere racchiusi tra virgolette esplicite per essere trattati come stringhe (ad esempio attributes.<key> = "10" o attributes.<key> = "true").

Corpo della risposta

Messaggio di risposta vehicles.search.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Campi
matches[]

object (VehicleMatch)

Elenco di veicoli che soddisfano i criteri SearchVehiclesRequest, ordinati in base al campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Un tipo di dati elenco di elenchi per gli attributi del veicolo.

Rappresentazione JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Campi
attributes[]

object (VehicleAttribute)

Un elenco di attributi in questa raccolta.

VehicleMatchOrder

Specifica l'ordine delle corrispondenze del veicolo nella risposta.

Enum
UNKNOWN_VEHICLE_MATCH_ORDER Valore predefinito, utilizzato per l'ordine delle corrispondenze dei veicoli non specificati o non riconosciuti.
PICKUP_POINT_ETA In ordine crescente in base al tempo di guida del veicolo fino al punto di ritiro.
PICKUP_POINT_DISTANCE Ordine crescente in base alla distanza in auto del veicolo dal punto di ritiro.
DROPOFF_POINT_ETA Ordinamento in ordine crescente in base al tempo di guida del veicolo fino al punto di consegna. Questo ordine può essere utilizzato solo se il punto di consegna è specificato nella richiesta.
PICKUP_POINT_STRAIGHT_DISTANCE In ordine crescente in base alla distanza in linea retta dall'ultima posizione segnalata del veicolo al punto di ritiro.
COST In ordine crescente in base al costo di corrispondenza configurato. Il costo della corrispondenza è definito come un calcolo ponderato tra la distanza in linea retta e l'orario di arrivo stimato. I pesi vengono impostati con valori predefiniti e possono essere modificati in base al cliente. Contatta l'Assistenza Google se questi pesi devono essere modificati per il tuo progetto.

CurrentTripsPresent

Specifica i tipi di limitazioni per i viaggi attuali di un veicolo.

Enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilità dei veicoli con corse presenti è regolata dal campo includeBackToBack.
NONE I veicoli senza corse possono essere visualizzati nei risultati di ricerca. Quando viene utilizzato questo valore, includeBackToBack non può essere true.
ANY Nei risultati di ricerca sono inclusi i veicoli con al massimo 5 corse in corso e 10 waypoint. Quando viene utilizzato questo valore, includeBackToBack non può essere true.

VehicleMatch

Contiene il veicolo e le stime correlate per un veicolo che corrispondono ai punti delle corse attive per il veicolo SearchVehiclesRequest.

Rappresentazione 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)
}
Campi
vehicle

object (Vehicle)

Obbligatorio. Un veicolo che corrisponde alla richiesta.

vehiclePickupEta

string (Timestamp format)

L'orario di arrivo stimato del veicolo al punto di ritiro specificato nella richiesta. Un valore vuoto indica un errore nel calcolo dell'orario di arrivo stimato del veicolo. Se SearchVehiclesRequest.include_back_to_back era true e questo veicolo ha una corsa attiva, vehiclePickupEta include il tempo necessario per completare la corsa attiva corrente.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

La distanza dalla posizione attuale del veicolo al punto di ritiro specificato nella richiesta, inclusi eventuali punti di ritiro o di consegna intermedi per i viaggi esistenti. Questa distanza comprende la distanza calcolata in auto (percorso), più la distanza in linea retta tra il punto di arrivo della navigazione e il punto di ritiro richiesto. La distanza tra il punto di arrivo della navigazione e il punto di ritiro richiesto è in genere ridotta. Un valore vuoto indica un errore nel calcolo della distanza.

vehiclePickupStraightLineDistanceMeters

integer

Obbligatorio. La distanza in linea retta tra il veicolo e il punto di ritiro specificato nella richiesta.

vehicleDropoffEta

string (Timestamp format)

L'orario di arrivo stimato del veicolo al punto di consegna specificato nella richiesta. L'orario di arrivo stimato include le soste presso eventuali waypoint prima del dropoffPoint specificato nella richiesta. Il valore verrà inserito solo quando nella richiesta viene specificato un punto di consegna. Un valore vuoto indica un errore nel calcolo dell'orario di arrivo stimato.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

La distanza in auto (in metri) del veicolo dal punto di ritiro al punto di consegna specificato nella richiesta. La distanza è solo tra i due punti e non include la posizione del veicolo o altri punti che devono essere visitati prima che il veicolo visiti il punto di ritiro o quello di consegna. Il valore verrà inserito solo quando nella richiesta viene specificato un dropoffPoint. Un valore vuoto indica un errore nel calcolo della distanza dal punto di ritiro a quello di consegna specificato nella richiesta.

tripType

enum (TripType)

Obbligatorio. Il tipo di corsa della richiesta utilizzato per calcolare l'orario di arrivo stimato al punto di ritiro.

vehicleTripsWaypoints[]

object (Waypoint)

L'elenco ordinato di waypoint utilizzati per calcolare l'orario di arrivo stimato. L'elenco include la posizione del veicolo, i punti di ritiro dei viaggi attivi per il veicolo e i punti di ritiro forniti nella richiesta. Un elenco vuoto indica un errore nel calcolo dell'orario di arrivo stimato del veicolo.

vehicleMatchType

enum (VehicleMatchType)

Tipo di corrispondenza del veicolo.

requestedOrderedBy

enum (VehicleMatchOrder)

L'ordine richiesto per l'ordinamento delle corrispondenze dei veicoli. Equivalente a orderedBy.

orderedBy

enum (VehicleMatchOrder)

L'ordine richiesto per l'ordinamento delle corrispondenze dei veicoli. Equivalente a requestedOrderedBy.

Waypoint

Descrive i punti intermedi lungo un percorso per un VehicleMatch in un SearchVehiclesResponse. Questo concetto è rappresentato come TripWaypoint in tutti gli altri endpoint.

Rappresentazione JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Campi
latLng

object (LatLng)

La posizione di questo waypoint.

eta

string (Timestamp format)

L'ora stimata in cui il veicolo arriverà a questo waypoint.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Tipo di corrispondenza del veicolo.

Enum
UNKNOWN Tipo di corrispondenza del veicolo sconosciuto
EXCLUSIVE Al momento al veicolo non è stato assegnato alcun viaggio e può procedere al punto di ritiro.
BACK_TO_BACK Al momento il veicolo è assegnato a una corsa, ma può procedere al punto di ritiro dopo aver completato la corsa in corso. I calcoli di ETA e distanza tengono conto del viaggio esistente.
CARPOOL Il veicolo ha una capacità sufficiente per una corsa condivisa.
CARPOOL_BACK_TO_BACK Il veicolo completerà la corsa attiva attuale prima di procedere al punto di ritiro. I calcoli di ETA e distanza tengono conto del viaggio esistente.