Questo documento descrive come elencare i veicoli di consegna.
Ambienti e limitazioni
Puoi elencare i veicoli di consegna da un ambiente server o browser. L'SDK Driver non supporta la pubblicazione di veicoli di consegna.
L'elenco dei veicoli per la consegna richiede l'accesso ampio ai veicoli per la consegna ed è destinato solo agli utenti affidabili. Utilizza i token Lettore parco risorse o Amministratore distribuzione parco risorse Fleet Engine quando effettui richieste di veicoli per la consegna delle liste.
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 dell'area visibile. Se non specifichi nessun filtro o viewport, la risposta include tutti i veicoli di pubblicazione.
Elenco con filtri degli attributi
Puoi elencare i veicoli per la consegna filtrando in base alla loro proprietà attributes
. Ad esempio, per eseguire query su un attributo con chiave my_key
e valore my_value
, utilizza attributes.my_key = my_value
. Per eseguire query su 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 del viewport, il filtro
agisce come operatore AND
per il limite del viewport. Per maggiori dettagli, consulta Query di filtro degli attributi dei veicoli.
Elenco con limiti dell'area visibile
Puoi filtrare i veicoli per la consegna elencati per località utilizzando il parametro di richiesta viewport
. Il parametro di richiesta viewport
definisce le aree visibili 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 geograficamente inferiore a una latitudine bassa.
Elenca le risposte
Per impostazione predefinita, gli elenchi di veicoli per la consegna vengono impaginati utilizzando dimensioni della pagina ragionevoli. Se specifichi una dimensione di pagina, la richiesta restituisce solo il numero di veicoli specificato dal limite o meno. Se le dimensioni di pagina richieste superano un valore massimo interno, viene utilizzato il valore massimo interno. Le dimensioni predefinite e massime delle pagine sono entrambe di 100 veicoli.
Un elenco di veicoli per la consegna può includere un token per leggere la pagina successiva dei risultati. Un token di pagina è presente in una risposta solo quando sono disponibili più pagine di veicoli per la consegna per il recupero. Per recuperare la pagina successiva di attività, utilizza il token di pagina con una richiesta che sia altrimenti identica alla richiesta precedente.
Esempi di veicoli elencati
Puoi utilizzare la libreria gRPC Java o REST per elencare i veicoli di consegna in una determinata regione con un determinato attributo. Una risposta corretta può comunque essere vuota. In questo caso, significa che nell'area visibile specificata non esistono veicoli con l'attributo 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
}