列出配送車輛

本文件說明如何列出配送車輛。

環境和限制

您可以透過伺服器或瀏覽器環境列出運輸車輛。駕駛座 SDK 不支援列出交付車輛。

刊登交車車輛要求廣泛使用貨運車輛, 只供信任的使用者使用使用 Delivery Fleet ReaderFleet Engine 在提出清單提交車輛要求時傳送的訊息管理員權杖。

刊登的貨車車輛因影響而遮蓋以下欄位 回應大小:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

用量

您可以按照屬性篩選器和可視區域邊界列出車輛。如果指定 沒有篩選條件或可視區域,回應會包含所有運送車輛。

含有屬性篩選器的清單

您可以使用 attributes 屬性篩選貨運車輛。適用對象 舉例來說,如要查詢具有 my_key 鍵和 my_value 值的屬性,請使用 attributes.my_key = my_value。如要查詢多個屬性,請彙整查詢 使用邏輯 ANDOR 運算子,就像在 attributes.key1 = value1 AND attributes.key2 = value2 中一樣。如需完整說明,請參閱 AIP-160 篩選查詢語法。當您將篩選器與可視區域範圍搭配使用時,篩選器 可做為可視區域邊界的 AND 運算子。請參閱「車輛屬性篩選器 查詢

含有可視區域邊界的清單

您可以使用 viewport 要求,依地點篩選列出的運輸車輛 參數。viewport 要求參數會使用兩個邊界來定義可視區域 座標:high (東北部) 和 low (西南) 經緯度 座標組。系統會拒絕含有高緯度的要求 地理位置低於低緯度

列出回應

根據預設,配送車輛清單的頁面大小會以適當的頁面大小進行分頁。如果 如果指定頁面大小,該要求只會傳回車輛數量 可能會超過這個上限如果要求的頁面大小超過內部 最大值,接著使用內部最大值。預設頁面和最大頁面 尺寸都是 100 輛車

快遞車輛清單可包含用於讀取下一頁 也就是預測結果只有在回應多頁時,回應中才會出現網頁符記 車輛可供擷取。如要擷取下一頁的工作,請使用 用來要求的網頁權杖與 請求。

列出車輛範例

您可以使用 Java gRPC 程式庫或 REST,在 含有特定屬性的區域就算 並將空無一物。發生此情況時,就表示沒有指定屬性的車輛 已存在於指定的檢視點中

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"

如果查詢成功,回應主體會包含下列資料 結構:

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

後續步驟