In diesem Dokument wird beschrieben, wie Sie Lieferfahrzeuge auflisten.
Umgebungen und Einschränkungen
Sie können Lieferfahrzeuge aus einer Server- oder Browserumgebung auflisten. Der Fahrer Das SDK unterstützt keine Einträge für Lieferfahrzeuge.
Für die Aufnahme von Lieferfahrzeugen ist umfassender Zugriff auf Lieferfahrzeuge erforderlich. Diese Funktion ist nur für vertrauenswürdige Nutzer vorgesehen. Verwenden Sie Delivery Fleet Reader- oder Fleet Engine Delivery Admin-Tokens, wenn Sie Anfragen zum Auflisten von Lieferfahrzeugen stellen.
Bei den aufgeführten Übermittlungsmedien werden die folgenden Felder aufgrund ihrer Auswirkungen auf die Antwortgröße entfernt:
CurrentRouteSegment
RemainingVehicleJourneySegments
Nutzung
Sie können Fahrzeuge nach Attributfiltern und Ansichtsgrenzen auflisten. Wenn Sie keinen Filter oder keinen Darstellungsbereich angeben, enthält die Antwort alle Auslieferungsmedien.
Liste mit Attributfiltern
Sie können Lieferfahrzeuge mithilfe der attributes
-Property filtern. Wenn Sie beispielsweise ein Attribut mit dem Schlüssel my_key
und dem Wert my_value
abfragen möchten, verwenden Sie attributes.my_key = my_value
. JOIN-Abfragen, um mehrere Attribute abzufragen
mithilfe der logischen Operatoren AND
und OR
, wie in attributes.key1 = value1 AND
attributes.key2 = value2
. Eine vollständige Beschreibung finden Sie unter AIP-160.
der Filterabfragesyntax. Wenn Sie Filter mit dem Darstellungsbereich kombinieren, fungiert der Filter als AND
-Operator für den Darstellungsbereich. Weitere Informationen finden Sie unter Filterabfragen für Fahrzeugattribute.
Liste mit Grenzen des Darstellungsbereichs
Mit der viewport
-Anfrage können Sie aufgelistete Lieferfahrzeuge nach Standort filtern
. Der Anfrageparameter viewport
definiert Ansichtsportale mit zwei Begrenzungskoordinaten: ein Breiten- und Längengradpaar von high
(Nordosten) und low
(Südwesten). Anfragen werden abgelehnt, wenn sie einen hohen Breitengrad enthalten, der geografisch niedriger als ein niedriger Breitengrad ist.
Antworten auflisten
Listen mit Fahrzeugen werden standardmäßig mit einer angemessenen Seitengröße paginiert. Wenn Sie eine Seitengröße angeben, wird in der Anfrage nur die im Limit angegebene Anzahl von Fahrzeugen oder weniger zurückgegeben. Wenn die angeforderte Seitengröße einen internen Maximalwert, wird der interne Maximalwert verwendet. Die Standard- und die maximale Seitengröße sind jeweils 100 Fahrzeuge.
Eine Liste der Lieferfahrzeuge kann ein Token zum Lesen der nächsten Ergebnisseite enthalten. Ein Seitentoken ist nur in einer Antwort vorhanden, wenn mehr Seiten mit Übermittlungsseiten Fahrzeuge zum Abholen verfügbar sind. Um die nächste Seite mit Aufgaben abzurufen, verwenden Sie Das Seitentoken mit einer Anfrage, die ansonsten mit dem vorherigen identisch ist
Beispiele für Fahrzeuge auflisten
Sie können die Java gRPC-Bibliothek oder REST verwenden, um Lieferfahrzeuge in einer bestimmten Region mit einem bestimmten Attribut aufzulisten. Eine erfolgreiche Antwort kann immer noch leer. In diesem Fall gibt es im angegebenen Ansichtsbereich keine Fahrzeuge mit dem angegebenen Attribut.
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"
Wenn die Suche erfolgreich ist, enthält der Antworttext Daten mit den folgenden Struktur:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}