Method: providers.vehicles.search

Restituisce un elenco di veicoli che corrispondono alle opzioni della 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 prelievo vicino a cui cercare.

dropoffPoint

object (TerminalLocation)

Il punto di consegna previsto dal cliente. Il campo è obbligatorio se tripTypes contiene TripType.SHARED.

pickupRadiusMeters

integer

Obbligatorio. Definisce il raggio di ricerca del veicolo intorno al punto di ritiro. Verranno restituiti solo i veicoli che si trovano nel raggio di ricerca. Il valore deve essere compreso tra 400 e 10.000 metri (inclusi).

count

integer

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

minimumCapacity

integer

Obbligatorio. Specifica il numero di passeggeri presi in considerazione per una corsa. Il valore deve essere maggiore o uguale a uno. Il driver 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. Restringe la ricerca solo ai veicoli in grado di supportare quel tipo di viaggio.

maximumStaleness

string (Duration format)

Limita la ricerca ai veicoli che hanno inviato aggiornamenti di posizione a Fleet Engine entro il periodo di tempo specificato. I veicoli fissi che trasmettono ancora la loro posizione non sono considerati inattivi. Se questo campo non viene configurato, il server utilizza cinque minuti come valore predefinito.

Durata in secondi con un massimo di nove cifre frazionarie e 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 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 di creare una lista di liste. La combinazione dei due campi consente di comporre 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 ai veicoli con gli attributi specificati. Questo campo è un'operazione congiunzione/AND. Sono consentiti massimo 50 attributi obbligatori. Corrisponde al numero massimo di attributi consentiti su un veicolo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Limita la ricerca ai soli 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/OR inclusiva in ogni elemento VehicleAttributeList e un'operazione di congiunzione/AND nella raccolta di VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets fornisce 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 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 operazione VehicleAttributeList e di disgiunzione/OR incluse nella raccolta di VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

Indica se i veicoli con una sola corsa attiva sono idonei per questa ricerca. Questo campo viene utilizzato solo se currentTripsPresent non è specificato. Se il criterio currentTripsPresent non è specificato e questo campo è false, i veicoli a cui sono state assegnate corse vengono esclusi dai risultati di ricerca. Se il criterio currentTripsPresent non è specificato e questo campo è true, i risultati di ricerca possono includere veicoli con una corsa attiva con stato ENROUTE_TO_DROPOFF. Quando currentTripsPresent è specificato, questo campo non può essere impostato su true.

Il valore predefinito è false.

tripId

string

Indica il viaggio associato a SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indica se i veicoli con corse attive sono idonei per questa ricerca. Deve essere impostato su un valore diverso da CURRENT_TRIPS_PRESENT_UNSPECIFIED se tripType include SHARED.

filter

string

(Facoltativo) Una query di filtro da applicare quando cerchi veicoli. Vedi 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 in questo campo viene specificato un valore non vuoto, i seguenti campi devono essere vuoti: requiredAttributes, requiredOneOfAttributes e required_one_of_attributes_sets.

Questo filtro funziona come 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 restrizioni consentite in una query di filtro è 50.

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

Corpo della risposta

Messaggio di risposta di 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 dei veicoli che soddisfano i criteri SearchVehiclesRequest, ordinati in base al campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Un tipo di dati con elenco di elenchi per gli attributi dei veicoli.

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 ordini di corrispondenze dei veicoli non specificati o non riconosciuti.
PICKUP_POINT_ETA Ordine crescente in base al tempo di guida del veicolo fino al punto di ritiro.
PICKUP_POINT_DISTANCE Ordine crescente in base alla distanza di guida del veicolo al punto di ritiro.
DROPOFF_POINT_ETA 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 Ordine crescente per distanza in linea retta dall'ultima posizione segnalata del veicolo al punto di ritiro.
COST Ordine crescente in base al costo di corrispondenza configurato. Il costo di corrispondenza è un calcolo ponderato tra la distanza in linea retta e l'orario di arrivo stimato. Le ponderazioni vengono impostate con valori predefiniti e possono essere modificate in base al cliente. Contatta l'Assistenza Google se devi modificare questi pesi per il tuo progetto.

CurrentTripsPresent

Specifica i tipi di limitazioni per le corse in corso 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 I veicoli con al massimo 5 corse attuali e 10 tappe sono inclusi nei risultati di ricerca. Quando viene utilizzato questo valore, includeBackToBack non può essere true.

VehicleMatch

Contiene il veicolo e le relative stime per un veicolo che corrisponde 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 fino al punto di ritiro specificato nella richiesta. Un valore vuoto indica un errore nel calcolo dell'orario di arrivo stimato per il 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 attuale.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi 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 prelievo specificato nella richiesta, inclusi eventuali punti di prelievo o destinazione intermedi per le corse 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 prelievo richiesto. In genere, la distanza tra il punto di arrivo della navigazione e il punto di prelievo richiesto è 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 in auto completo del veicolo fino al punto di consegna specificato nella richiesta. L'orario di arrivo stimato include la sosta in qualsiasi tappa prima del giorno dropoffPoint specificato nella richiesta. Il valore verrà compilato 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 nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

La distanza di guida (in metri) del veicolo dal punto di prelievo al punto di riconsegna specificato nella richiesta. La distanza si trova solo tra i due punti e non include la posizione del veicolo o qualsiasi altro punto che deve essere visitato prima che il veicolo visiti il punto di prelievo o scarico. Il valore verrà compilato solo quando nella richiesta viene specificato un valore dropoffPoint. Un valore vuoto indica un errore nel calcolo della distanza dal punto di partenza del ritiro specificato nella richiesta.

tripType

enum (TripType)

Obbligatorio. Il tipo di viaggio della richiesta utilizzato per calcolare l'orario di arrivo stimato fino al punto di partenza.

vehicleTripsWaypoints[]

object (Waypoint)

L'elenco ordinato di tappe utilizzate per calcolare l'orario di arrivo stimato. L'elenco include la posizione del veicolo, i punti di partenza delle corse attive 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 veicolo corrispondente.

requestedOrderedBy

enum (VehicleMatchOrder)

L'ordine richiesto per ordinare le corrispondenze dei veicoli.

orderedBy

enum (VehicleMatchOrder)

L'ordine effettivo utilizzato per questo veicolo. Normalmente corrisponde al valore "orderBy" campo della richiesta; tuttavia, in determinate circostanze, ad esempio un errore interno del server, è possibile utilizzare un metodo diverso (ad esempio PICKUP_POINT_STRAIGHT_DISTANCE).

Waypoint

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

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

object (LatLng)

La posizione di questa tappa.

eta

string (Timestamp format)

L'ora stimata di arrivo del veicolo in questa tappa.

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

VehicleMatchType

Tipo di veicolo corrispondente.

Enum
UNKNOWN Tipo di corrispondenza veicolo sconosciuto
EXCLUSIVE Al momento non è assegnata alcuna corsa al veicolo e può procedere fino al punto di prelievo.
BACK_TO_BACK Il veicolo è attualmente assegnato a una corsa, ma può procedere verso il punto di prelievo dopo aver completato la corsa in corso. I calcoli di orario di arrivo stimato e distanza tengono conto della corsa esistente.
CARPOOL Il veicolo ha una capacità sufficiente per una corsa condivisa.
CARPOOL_BACK_TO_BACK Il veicolo terminerà il viaggio attuale e attivo prima di procedere verso il punto di prelievo. I calcoli di orario di arrivo stimato e distanza tengono conto della corsa esistente.