Questo documento descrive come elencare i veicoli per le consegne.
Ambienti e limitazioni
Puoi elencare i veicoli per le consegne da un ambiente server o browser. L'SDK Driver non supporta l'elenco dei veicoli di consegna.
L'elenco dei veicoli di consegna richiede un ampio accesso ai veicoli di consegna ed è destinato solo agli utenti attendibili. Utilizza i token Lettore Delivery Fleet o Amministratore consegne di Fleet Engine quando effettui richieste di elenco dei veicoli di consegna.
I veicoli di consegna elencati hanno i seguenti campi oscurati a causa del loro impatto sulle dimensioni della risposta:
CurrentRouteSegment
RemainingVehicleJourneySegments
Utilizzo
Puoi elencare i veicoli in base ai filtri degli attributi e ai limiti della finestra. Se non specifichi alcun filtro o viewport, la risposta include tutti i veicoli di consegna.
Elenco con filtri degli attributi
Puoi elencare i veicoli di consegna per filtro utilizzando la proprietà attributes
. Ad esempio, per eseguire una query su un attributo con chiave my_key
e valore my_value
, utilizza attributes.my_key = my_value
. Per eseguire query per più attributi, unisci le query
utilizzando gli operatori logici AND
e OR
come in attributes.key1 = value1 AND
attributes.key2 = value2
. Consulta AIP-160 per una descrizione completa
della sintassi delle query di filtro. Se combini i filtri con i limiti della finestra, il filtro
funge da operatore AND
per il limite della finestra. Per maggiori dettagli, consulta Query di filtro degli attributi del veicolo.
Elenco con limiti della finestra
Puoi filtrare i veicoli di consegna elencati per località utilizzando il parametro
della richiesta viewport
. Il parametro di richiesta viewport
definisce i viewport utilizzando due coordinate
di delimitazione: una coppia di coordinate di latitudine e longitudine high
(nord-est) e low
(sud-ovest). Le richieste vengono rifiutate se contengono una latitudine elevata
che è geograficamente inferiore a una latitudine bassa.
Elenco delle risposte
Gli elenchi di veicoli di consegna sono paginati per impostazione predefinita utilizzando una dimensione di pagina ragionevole. Se specifichi le dimensioni di una pagina, la richiesta restituisce solo il numero di veicoli specificato dal limite o un numero inferiore. Se la dimensione della pagina richiesta supera un valore massimo interno, viene utilizzato il valore massimo interno. Le dimensioni predefinite e massime della pagina sono entrambe di 100 veicoli.
Un elenco di veicoli per le consegne può includere un token per leggere la pagina successiva di risultati. Un token di pagina è presente in una risposta solo quando sono disponibili altre pagine di veicoli di consegna per il recupero. Per recuperare la pagina successiva di attività, utilizza il token di pagina con una richiesta identica alla precedente richiesta.
Elenco esempi di veicoli
Puoi utilizzare la libreria gRPC Java o REST per elencare i veicoli di consegna in una determinata regione con un determinato attributo. Una risposta riuscita può comunque essere vuota. In questo caso, significa che non esistono veicoli con l'attributo specificato nel viewport specificato.
Java
static final String PROJECT_ID = "my-delivery-co-gcp-project";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
ListDeliveryVehiclesRequest.newBuilder() // No need for the header
.setParent(parent)
.setViewport(
Viewport.newBuilder()
.setHigh(LatLng.newBuilder()
.setLatitude(37.45)
.setLongitude(-122.06)
.build())
.setLow(LatLng.newBuilder()
.setLatitude(37.41)
.setLongitude(-122.11)
.build())
.setFilter("attributes.my_key = my_value")
.build();
try {
ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
# HTTP request
html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles
# Request with a filter
# Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"
Se la ricerca ha esito positivo, il corpo della risposta contiene dati con la seguente struttura:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}