Lieferfahrzeuge auflisten

In diesem Dokument wird beschrieben, wie Sie Lieferfahrzeuge auflisten.

Umgebungen und Einschränkungen

Sie können Lieferfahrzeuge über eine Server- oder Browserumgebung auflisten. Das Driver SDK unterstützt keine Auflistung von Lieferfahrzeugen.

Für die Auflistung von Lieferfahrzeugen ist ein umfassender Zugriff auf Lieferfahrzeuge erforderlich. Sie 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 Zustellfahrzeugen werden die folgenden Felder aufgrund ihrer Auswirkungen auf die Antwortgröße entfernt:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Nutzung

Sie können Fahrzeuge nach Attributfiltern und Viewport-Grenzen auflisten. Wenn Sie keinen Filter oder Darstellungsbereich angeben, enthält die Antwort alle Lieferfahrzeuge.

Liste mit Attributfiltern

Sie können Lieferfahrzeuge nach Filter anhand 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 die Abfragen mit den logischen Operatoren AND und OR, wie in attributes.key1 = value1 AND attributes.key2 = value2. Eine vollständige Beschreibung der Syntax für Filteranfragen finden Sie unter AIP-160. Wenn Sie Filter mit Viewport-Grenzen kombinieren, fungiert der Filter als AND-Operator für die Viewport-Grenze. Weitere Informationen finden Sie unter Suchanfragen mit Attributen filtern.

Liste mit Viewport-Grenzen

Sie können aufgelistete Lieferfahrzeuge nach Standort filtern, indem Sie den Anfrageparameter viewport verwenden. Mit dem Anfrageparameter viewport werden Viewports mithilfe von zwei Begrenzungskoordinaten definiert: einem Paar aus Breiten- und Längengradkoordinaten für high (Nordosten) und low (Südwesten). Anfragen werden abgelehnt, wenn sie einen hohen Breitengrad enthalten, der geografisch niedriger ist als ein niedriger Breitengrad.

Listenantworten

Lieferfahrzeuglisten werden standardmäßig mit einer angemessenen Seitengröße paginiert. Wenn Sie eine Seitengröße angeben, werden in der Anfrage nur die durch das Limit angegebene Anzahl von Fahrzeugen oder weniger zurückgegeben. Wenn die angeforderte Seitengröße einen internen Höchstwert überschreitet, wird der interne Höchstwert verwendet. Die Standard- und Höchstseitengröße beträgt jeweils 100 Fahrzeuge.

Eine Liste mit Lieferfahrzeugen kann ein Token zum Lesen der nächsten Ergebnisseite enthalten. Ein Seitentoken ist nur in einer Antwort enthalten, wenn weitere Seiten mit Lieferfahrzeugen abgerufen werden können. Wenn Sie die nächste Seite mit Aufgaben abrufen möchten, verwenden Sie das Seitentoken mit einer Anfrage, die ansonsten mit der vorherigen Anfrage 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 trotzdem leer sein. In diesem Fall sind im angegebenen Ausschnitt keine Fahrzeuge mit dem angegebenen Attribut vorhanden.

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