Lieferfahrzeuge auflisten

In diesem Dokument wird beschrieben, wie Sie Lieferfahrzeuge auflisten.

Umgebungen und Einschränkungen

Sie können Lieferfahrzeuge aus einer Server- oder Browserumgebung auflisten. Das Driver 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.

In den aufgeführten Lieferfahrzeugen wurden 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

Du kannst Lieferfahrzeuge nach Filter unter Verwendung ihrer attributes-Property auflisten. 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. Wenn Sie mehrere Attribute abfragen möchten, verknüpfen Sie Abfragen mithilfe der logischen Operatoren AND und OR wie in attributes.key1 = value1 AND attributes.key2 = value2. Eine vollständige Beschreibung der Filterabfragesyntax finden Sie unter AIP-160. Wenn Sie Filter mit Darstellungsbereichgrenzen kombinieren, agiert der Filter als AND-Operator für die Darstellungsbereichsgrenze. Weitere Informationen finden Sie unter Abfragen zu Fahrzeugattributen.

Liste mit Darstellungsgrenzen

Mit dem Anfrageparameter viewport können Sie aufgelistete Lieferfahrzeuge nach Standort filtern. Der Anfrageparameter viewport definiert Darstellungsbereiche mithilfe von zwei Begrenzungskoordinaten: einem Koordinatenpaar für Breiten- und Längengrad für high (northeast) und low (Südwest). Anfragen werden abgelehnt, wenn sie einen hohen Breitengrad enthalten, der geografisch niedriger ist als ein niedriger Breitengrad.

Antworten auflisten

Listen mit Fahrzeugen werden standardmäßig mit einer angemessenen Seitengröße paginiert. Wenn Sie eine Seitengröße angeben, gibt die Anfrage nur die durch das Limit angegebene Anzahl von Fahrzeugen oder weniger zurück. Wenn die angeforderte Seitengröße einen internen Maximalwert überschreitet, 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 Lieferfahrzeugen abgerufen werden können. Verwenden Sie das Seitentoken mit einer Anfrage, die ansonsten mit der vorherigen Anfrage identisch ist, um die nächste Aufgabenseite abzurufen.

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 trotzdem leer sein. 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 der folgenden Struktur:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

Nächste Schritte