Method: providers.vehicles.search

Restituisce un elenco di veicoli che corrispondono 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

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

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 standard Fleet Engine.

pickupPoint

object (TerminalLocation)

Obbligatoria. Il punto di prelievo da cercare nelle vicinanze.

dropoffPoint

object (TerminalLocation)

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

pickupRadiusMeters

integer

Obbligatoria. Definisce il raggio di ricerca del veicolo intorno al punto di prelievo. Verranno restituiti solo i veicoli all'interno del raggio di ricerca. Il valore deve essere compreso tra 400 e 10.000 metri (inclusi).

count

integer

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

minimumCapacity

integer

Obbligatoria. Specifica il numero di passeggeri presi in considerazione per una corsa. Il valore deve essere maggiore o uguale a 1. Il conducente non è considerato nel valore della capacità.

tripTypes[]

enum (TripType)

Obbligatoria. Rappresenta il tipo di viaggio proposto. Deve includere esattamente un tipo. Non consentito: UNKNOWN_TRIP_TYPE. Limita la ricerca solo ai veicoli che possono supportare quel tipo di corsa.

maximumStaleness

string (Duration format)

Limita la ricerca solo ai veicoli che hanno inviato aggiornamenti di posizione a Fleet Engine entro il periodo di tempo specificato. I veicoli fermi che continuano a trasmettere la propria posizione non sono considerati inattivi. Se questo campo non viene configurato, il server utilizza il valore predefinito di cinque minuti.

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

vehicleTypes[]

object (VehicleType)

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

requiredAttributes[]

object (VehicleAttribute)

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

requiredAttributes è un elenco; requiredOneOfAttributes utilizza un messaggio che consente di creare un elenco di liste. 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 requiredAttributes. Corrisponde al numero massimo di attributi consentiti su un veicolo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

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

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets fornisce funzionalità aggiuntive.

Simile a requiredOneOfAttributes, requiredOneOfAttributeSets utilizza un messaggio che consente un elenco di elenchi, consentendo espressioni come la seguente:

(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. In 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 nella raccolta di VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obbligatoria. 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. Se currentTripsPresent non viene specificato e questo campo è false, i veicoli con corse assegnate vengono esclusi dai risultati di ricerca. Se currentTripsPresent non è specificato e questo campo è true, i risultati di ricerca possono includere i veicoli con una corsa attiva con stato ENROUTE_TO_DROPOFF. Se currentTripsPresent è specificato, questo campo non può essere impostato su true.

Il valore predefinito è false.

tripId

string

Indica la corsa associata a questo 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

Campo facoltativo. Una query di filtro da applicare per la ricerca di veicoli. Vedi http://aip.dev/160 per esempi di sintassi del filtro.

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, come minimumCapacity o vehicleTypes.

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

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

Corpo della risposta

vehicles.search messaggio di risposta.

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 del veicolo corrispondente nella risposta.

Enum
UNKNOWN_VEHICLE_MATCH_ORDER Predefinita, utilizzata per veicoli non specificati o non riconosciuti corrispondenti all'ordine.
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 percorsa dal veicolo fino al punto di ritiro.
DROPOFF_POINT_ETA Ordine crescente per tempo di guida del veicolo fino al punto di consegna. Questo ordine può essere utilizzato solo se nella richiesta è specificato il punto di consegna.
PICKUP_POINT_STRAIGHT_DISTANCE Ordine crescente in base alla distanza in linea retta dall'ultima posizione segnalata del veicolo al punto di prelievo.
COST Ordine crescente in base al costo di corrispondenza configurato. Il costo di corrispondenza è definito come 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 per cliente. Contatta l'Assistenza Google se devi modificare questi pesi per il tuo progetto.

CurrentTripsPresent

Specifica i tipi di limitazioni per le corse correnti di un veicolo.

Enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilità dei veicoli con corse presenti è regolata dal campo includeBackToBack.
NONE I veicoli privi di corsa possono essere visualizzati nei risultati di ricerca. Se viene utilizzato questo valore, il valore includeBackToBack non può essere true.
ANY Nei risultati di ricerca sono inclusi i veicoli con al massimo 5 corse correnti e 10 tappe. Se viene utilizzato questo valore, il 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)

Obbligatoria. Un veicolo che soddisfa la richiesta.

vehiclePickupEta

string (Timestamp format)

L'orario di arrivo stimato del veicolo fino al punto di prelievo 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 attiva attuale.

Un timestamp in formato "Zulu" RFC3339 UTC, 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 di discesa intermedi per le corse esistenti. Questa distanza comprende la distanza calcolata in auto (percorso) e la distanza in linea retta tra il punto di arrivo della navigazione e il punto di prelievo richiesto. (La distanza tra il punto di arrivo della navigazione e il punto di prelievo richiesto è in genere ridotta.) Un valore vuoto indica un errore nel calcolo della distanza.

vehiclePickupStraightLineDistanceMeters

integer

Obbligatoria. La distanza in linea retta tra il veicolo e il punto di prelievo specificato nella richiesta.

vehicleDropoffEta

string (Timestamp format)

L'orario di arrivo stimato di guida del veicolo completo fino al punto di consegna specificato nella richiesta. L'orario di arrivo stimato include la sosta in qualsiasi waypoint 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 in formato "Zulu" RFC3339 UTC, 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 percorsa dal veicolo (in metri) dal punto di prelievo 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 prelievo o di discesa. Il valore verrà compilato solo quando nella richiesta viene specificato un dropoffPoint. Un valore vuoto indica un errore nel calcolo della distanza dal punto di prelievo al punto di partenza specificato nella richiesta.

tripType

enum (TripType)

Obbligatoria. Il tipo di corsa della richiesta utilizzata per calcolare l'orario di arrivo stimato al punto di prelievo.

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 prelievo delle corse attive per il veicolo e i punti di prelievo forniti nella richiesta. Un elenco vuoto indica un errore nel calcolo dell'orario di arrivo stimato per il veicolo.

vehicleMatchType

enum (VehicleMatchType)

Tipo di corrispondenza del veicolo.

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 campo "orderBy" della richiesta; tuttavia, in determinate circostanze, ad esempio in 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 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 di arrivo del veicolo a questo waypoint.

Un timestamp in formato "Zulu" RFC3339 UTC, 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 corrispondenza del veicolo.

Enum
UNKNOWN Tipo di corrispondenza veicolo sconosciuto
EXCLUSIVE Al momento non è stato assegnato alcun percorso al veicolo, pertanto puoi procedere fino al punto di prelievo.
BACK_TO_BACK Il veicolo è attualmente assegnato a una corsa, ma può procedere al punto di ritiro una volta completata la corsa in corso. I calcoli dell'orario di arrivo stimato e della distanza tengono conto della corsa esistente.
CARPOOL Il veicolo ha una capacità sufficiente per un giro condiviso.
CARPOOL_BACK_TO_BACK Il veicolo completerà la corsa attuale e attiva prima di raggiungere il punto di prelievo. I calcoli dell'orario di arrivo stimato e della distanza tengono conto della corsa esistente.